Expand description
Auto-generated module
🤖 Generated with SplitRS
Functions§
- add_
bool_ theorem - Add a theorem declaration with a sorry placeholder proof.
- add_
eq_ if_ missing - Add Eq to environment if not already present.
- and_
table - Standard boolean truth tables. Truth table for logical AND.
- arrow
- bl_
ext_ and_ absorption - Build the AND-OR absorption law: a ∧ (a ∨ b) = a
- bl_
ext_ and_ complement - Build the AND complementation law: a ∧ ¬a = false
- bl_
ext_ and_ distrib_ xor - Build the AND distributivity over XOR law: a ∧ (b XOR c) = (a ∧ b) XOR (a ∧ c).
- bl_
ext_ and_ false_ annihilate - Build the AND-false-annihilation axiom: a ∧ false = false.
- bl_
ext_ and_ idempotent - Build the AND idempotency law: a ∧ a = a
- bl_
ext_ and_ monoid_ id - Build the AND monoid identity axiom. (Bool, AND, true) is a monoid.
- bl_
ext_ and_ self - Build the AND-self law: a ∧ a = a (idempotency alias).
- bl_
ext_ b2_ algebra - Build the B2 two-element Boolean algebra axiom. B2 = {false, true} is the unique Boolean algebra of size 2.
- bl_
ext_ beq_ bool_ instance - Build the BEq class instance for Bool. instance : BEq Bool via Bool.beq
- bl_
ext_ beq_ false - Build the beq-false-iff law: beq a false = ¬a.
- bl_
ext_ beq_ true - Build the beq-true-iff law: beq a true = a.
- bl_
ext_ bool_ fold_ all - Build the boolean fold-all axiom. all p xs = foldr (∧) true (map p xs)
- bl_
ext_ bool_ fold_ any - Build the boolean fold-any axiom. any p xs = foldr (∨) false (map p xs)
- bl_
ext_ bool_ pred_ prop - Build the Bool-valued predicate functor axiom. A Bool predicate P: α -> Bool can be lifted to Prop via (P x = true).
- bl_
ext_ bool_ reflection - Build the Bool reflection axiom: beq_iff_eq. a = b <-> beq a b = true
- bl_
ext_ decidable_ to_ bool - Build the Bool-Prop decidability bridge axiom. decide : Decidable P -> Bool (extract boolean from decidable prop)
- bl_
ext_ demorgan_ and - Build the De Morgan AND-NOT law: ¬(a ∧ b) = ¬a ∨ ¬b
- bl_
ext_ demorgan_ duality - Build De Morgan duality as a meta-theorem axiom. The De Morgan laws establish duality between ∧ and ∨.
- bl_
ext_ demorgan_ or - Build the De Morgan OR-NOT law: ¬(a ∨ b) = ¬a ∧ ¬b
- bl_
ext_ heyting_ implication - Build the Heyting algebra implication axiom. In Bool, a => b = ¬a ∨ b (material implication)
- bl_
ext_ heyting_ refl - Build the Heyting reflexivity law: a => a = true
- bl_
ext_ ite_ false - Build the ITE false branch law: ite false a b = b
- bl_
ext_ ite_ semantics - Build the if-then-else semantics axiom. ite true a b = a, ite false a b = b
- bl_
ext_ ite_ true - Build the ITE true branch law: ite true a b = a
- bl_
ext_ kleene_ three_ value - Build Kleene three-value extension axiom. Kleene3 = {false, unknown, true} extends Bool with undecidability.
- bl_
ext_ lattice_ join_ comm - Build the lattice join-commutativity axiom (OR is commutative join).
- bl_
ext_ lattice_ meet_ comm - Build the lattice meet-commutativity axiom (AND is commutative meet).
- bl_
ext_ nand_ complete - Build the NAND functional completeness axiom. Every boolean function is expressible via NAND alone.
- bl_
ext_ nor_ complete - Build the NOR functional completeness axiom. Every boolean function is expressible via NOR alone.
- bl_
ext_ not_ or_ demorgan - Build the NOT-and-OR duality axiom. ¬a ∨ ¬b = ¬(a ∧ b) (alternate De Morgan form)
- bl_
ext_ or_ absorption - Build the OR-AND absorption law: a ∨ (a ∧ b) = a
- bl_
ext_ or_ complement - Build the OR complementation law: a ∨ ¬a = true
- bl_
ext_ or_ distrib_ and - Build the OR-distrib-AND law: a ∨ (b ∧ c) = (a ∨ b) ∧ (a ∨ c).
- bl_
ext_ or_ idempotent - Build the OR idempotency law: a ∨ a = a
- bl_
ext_ or_ monoid_ id - Build the OR monoid identity axiom. (Bool, OR, false) is a monoid.
- bl_
ext_ or_ self - Build the OR-self law: a ∨ a = a (idempotency alias).
- bl_
ext_ or_ true_ annihilate - Build the OR-true-annihilation axiom: a ∨ true = true.
- bl_
ext_ sat_ decidable - Build the SAT decidability axiom. Boolean satisfiability is decidable by exhaustive enumeration.
- bl_
ext_ short_ circuit_ and - Build the short-circuit AND law: false && f = false (f not evaluated).
- bl_
ext_ short_ circuit_ or - Build the short-circuit OR law: true || f = true (f not evaluated).
- bl_
ext_ tautology_ check - Build the tautology-check axiom. A formula is a tautology iff it evaluates to true for all assignments.
- bl_
ext_ xor_ assoc - Build the XOR associativity law.
- bl_
ext_ xor_ false - Build the XOR false identity: a XOR false = a.
- bl_
ext_ xor_ not_ beq - Build the XOR-not-beq relationship: a XOR b = ¬(beq a b).
- bl_
ext_ xor_ ring - Build the Bool-as-ring XOR ring axiom: (Bool, XOR, AND) forms a field GF(2).
- bl_
ext_ xor_ true - Build the XOR true law: a XOR true = ¬a.
- bool_
and - Create
Bool.and a b. - bool_
beq - Create
Bool.beq a b. - bool_
false - Create a
falseexpression. - bool_
not - Create
Bool.not b. - bool_or
- Create
Bool.or a b. - bool_
rec - Create
Bool.rec motive false_case true_case b. - bool_
true - Create a
trueexpression. - bool_ty
- The Bool type expression.
- bool_
xor - Create
Bool.xor a b. - build_
bool_ env - Build the Bool type and all associated declarations.
- eq_bool
- forall_
bool - gf2_add
- Evaluate boolean XOR as ring addition in GF(2).
- gf2_mul
- Evaluate boolean AND as ring multiplication in GF(2).
- iff_
table - Truth table for logical IFF (biconditional).
- imply_
table - Truth table for logical implication.
- mk_
bool_ eq - Create
Eq a bwhere both are Bool. - nand_
table - Truth table for logical NAND.
- nor_
table - Truth table for logical NOR.
- or_
table - Truth table for logical OR.
- register_
bool_ extended_ axioms - Register all extended Bool axioms into the environment.
- xor_
table - Truth table for logical XOR.