logo
In [1]:
import proveit
theory = proveit.Theory() # the theorem's theory
from proveit import defaults
from proveit import Conditional
from proveit.core_expr_types import P__x_1_to_n, Q__x_1_to_n
from proveit.logic.booleans.quantification.universality  import forall_in_bool
In [2]:
%proving forall_with_conditions__is_bool
With these allowed/disallowed theorem/theory presumptions (e.g., to avoid circular dependencies), we begin our proof of
forall_with_conditions__is_bool:
(see dependencies)
forall_with_conditions__is_bool may now be readily provable (assuming required theorems are usable).  Simply execute "%qed".
In [3]:
defaults.assumptions = forall_with_conditions__is_bool.conditions
defaults.assumptions:
In [4]:
forall_in_bool
In [5]:
forall_in_bool.instantiate({P__x_1_to_n: Conditional(P__x_1_to_n, Q__x_1_to_n)})
In [6]:
%qed
proveit.logic.booleans.quantification.universality.forall_with_conditions__is_bool has been proven.