Documentation

Cslib.Foundations.Order.Huntington

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]:

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.

  • max : α → α → α
  • compl : α → α
  • default : α
  • assoc (a b c : α) : a ⊔ b ⊔ c = a ⊔ (b ⊔ c)
  • comm (a b : α) : a ⊔ b = b ⊔ a
  • huntington (a b : α) : (aᶜ ⊔ b)ᶜ ⊔ (aᶜ ⊔ bᶜ)ᶜ = a

    Huntington's axiom.

Instances
    @[instance_reducible]
    Equations
    @[instance_reducible]
    Equations
    @[instance_reducible]
    Equations
    @[instance_reducible]

    Huntington algebras are Boolean algebras.

    Equations
    • One or more equations did not get rendered due to their size.