Huntington's axioms for Boolean Algebras #
In this file we derive an instance of Mathlib's BooleanAlgebra on an inhabited type, starting
from operations of binary supremum · ⊔ · and complementation ·ᶜ, obeying the three axioms
laid out in [Hun33b] and [Hun33a]:
- Supremum is associative:
a ⊔ b ⊔ c = a ⊔ (b ⊔ c), - Supremum is commutative:
a ⊔ b = b ⊔ a, and - Huntington's axiom:
(aᶜ ⊔ b)ᶜ ⊔ (aᶜ ⊔ bᶜ)ᶜ = a.
These axioms are packaged in the class HuntingtonAlgebra, which should only be used for its
instance HuntingtonAlgebra.instBooleanAlgebra.
References #
class HuntingtonAlgebra (α : Type u_1) extends Max α, Compl α, Inhabited α, Std.Associative fun (x1 x2 : α) => x1 ⊔ x2, Std.Commutative fun (x1 x2 : α) => x1 ⊔ x2 :
Type u_1
A class for types obeying Huntington's axioms for Boolean algebras.
Instances
@[instance_reducible]
@[instance_reducible]
@[instance_reducible]
@[instance_reducible]
Huntington algebras are Boolean algebras.
Equations
- One or more equations did not get rendered due to their size.