Source code for claripy.algorithm.bool_check
from __future__ import annotations
import logging
from contextlib import suppress
from typing import TYPE_CHECKING
import claripy
from claripy.errors import BackendError
if TYPE_CHECKING:
from claripy.ast import Bool
log = logging.getLogger(__name__)
[docs]
def is_true(expr: Bool) -> bool:
"""Checks if a boolean expression is trivially True.
A false result does not necessarily mean that the expression is False, but
rather that it is not trivially True.
"""
with suppress(BackendError):
return claripy.backends.concrete.is_true(expr)
log.debug("Unable to tell the truth-value of this expression")
return False
[docs]
def is_false(expr: Bool) -> bool:
"""Checks if a boolean expression is trivially False.
A false result does not necessarily mean that the expression is False, but
rather that it is not trivially False.
"""
with suppress(BackendError):
return claripy.backends.concrete.is_false(expr)
log.debug("Unable to tell the truth-value of this expression")
return False