# Prepare this notebook for defining the axioms of a theory:
% axioms_notebook # Keep this at the top following 'import proveit'.
from proveit.logic import Equals , And , TRUE , FALSE , Forall , in_bool
from proveit import A , B , m , n
from proveit.core_expr_types import A_1_to_m
from proveit.numbers import Natural
Defining axioms for theory 'proveit.logic.booleans.conjunction'
Subsequent end-of-cell assignments will define axioms
%end_axioms will finalize the definitions
Truth table definitions:
and_t_t = Equals ( And ( TRUE , TRUE ), TRUE )
and_t_f = Equals ( And ( TRUE , FALSE ), FALSE )
and_f_t = Equals ( And ( FALSE , TRUE ), FALSE )
and_f_f = Equals ( And ( FALSE , FALSE ), FALSE )
Conjunction is only well-defined when each input is a Boolean:
left_in_bool = Forall (( A , B ), in_bool ( A ), conditions = [ in_bool ( And ( A , B ))])
right_in_bool = Forall (( A , B ), in_bool ( B ), conditions = [ in_bool ( And ( A , B ))])
Definition of multi-operand conjunction:
empty_conjunction = And () # base case
multi_conjunction_def = \
Forall ( m , Forall (( A_1_to_m , B ),
Equals ( And ( A_1_to_m , B ), And ( And ( A_1_to_m ), B )) . with_wrap_after_operator ()),
domain = Natural )
These axioms may now be imported from the theory package: proveit.logic.booleans.conjunction
These web pages were generated on 2021-03-10 by
Prove-It Beta Version 0.3, licensed under the GNU Public License by Sandia Corporation.
Presented proofs are not absolutely guaranteed. For assurance, it is important to check the structure
of the statement being proven, independently verify the derivation steps, track dependencies, and ensure that
employed axioms are valid and properly structured. Inconsistencies may exist, unknowingly, in this system.
This material is based upon work supported by the U.S. Department of Energy, Office of Science, Office of Advanced Scientific Computing Research, under the Quantum Computing Application Teams program. Sandia National Labs is managed and operated by National Technology and Engineering Solutions of Sandia, LLC, a subsidiary of Honeywell International, Inc., for the U.S. Dept. of Energy's NNSA under contract DE-NA0003525. The views expressed above do not necessarily represent the views of the DOE or the U.S. Government.
Please send questions/comments to: