mathlib documentation

order.​boolean_algebra

order.​boolean_algebra

@[class]
structure has_compl  :
Type u_1 → Type u_1
  • compl : α → α

Set / lattice complement

Instances
@[class]
structure boolean_algebra  :
Type u_1 → Type u_1
  • sup : α → α → α
  • le : α → α → Prop
  • lt : α → α → Prop
  • le_refl : ∀ (a : α), a ≤ a
  • le_trans : ∀ (a b c_1 : α), a ≤ b → b ≤ c_1 → a ≤ c_1
  • lt_iff_le_not_le : (∀ (a b : α), a < b ↔ a ≤ b ∧ ¬b ≤ a) . "order_laws_tac"
  • le_antisymm : ∀ (a b : α), a ≤ b → b ≤ a → a = b
  • le_sup_left : ∀ (a b : α), a ≤ a ⊔ b
  • le_sup_right : ∀ (a b : α), b ≤ a ⊔ b
  • sup_le : ∀ (a b c_1 : α), a ≤ c_1 → b ≤ c_1 → a ⊔ b ≤ c_1
  • inf : α → α → α
  • inf_le_left : ∀ (a b : α), a ⊓ b ≤ a
  • inf_le_right : ∀ (a b : α), a ⊓ b ≤ b
  • le_inf : ∀ (a b c_1 : α), a ≤ b → a ≤ c_1 → a ≤ b ⊓ c_1
  • le_sup_inf : ∀ (x y z : α), (x ⊔ y) ⊓ (x ⊔ z) ≤ x ⊔ y ⊓ z
  • top : α
  • le_top : ∀ (a : α), a ≤ ⊤
  • bot : α
  • bot_le : ∀ (a : α), ⊥ ≤ a
  • compl : α → α
  • sdiff : α → α → α
  • inf_compl_le_bot : ∀ (x : α), x ⊓ xᶜ ≤ ⊥
  • top_le_sup_compl : ∀ (x : α), ⊤ ≤ x ⊔ xᶜ
  • sdiff_eq : ∀ (x y : α), x \ y = x ⊓ yᶜ

A boolean algebra is a bounded distributive lattice with a complementation operation - such that x ⊓ - x = ⊥ and x ⊔ - x = ⊤. This is a generalization of (classical) logic of propositions, or the powerset lattice.

Instances
@[instance]
def boolean_algebra.​to_has_compl (α : Type u_1) [s : boolean_algebra α] :

@[instance]
def boolean_algebra.​to_has_sdiff (α : Type u_1) [s : boolean_algebra α] :

@[simp]
theorem inf_compl_eq_bot {α : Type u} {x : α} [boolean_algebra α] :

@[simp]
theorem compl_inf_eq_bot {α : Type u} {x : α} [boolean_algebra α] :

@[simp]
theorem sup_compl_eq_top {α : Type u} {x : α} [boolean_algebra α] :

@[simp]
theorem compl_sup_eq_top {α : Type u} {x : α} [boolean_algebra α] :

theorem is_compl_compl {α : Type u} {x : α} [boolean_algebra α] :

theorem is_compl.​compl_eq {α : Type u} {x y : α} [boolean_algebra α] :
is_compl x y → xᶜ = y

theorem sdiff_eq {α : Type u} {x y : α} [boolean_algebra α] :
x \ y = x ⊓ yᶜ

theorem compl_unique {α : Type u} {x y : α} [boolean_algebra α] :
x ⊓ y = ⊥ → x ⊔ y = ⊤ → xᶜ = y

@[simp]
theorem compl_top {α : Type u} [boolean_algebra α] :

@[simp]
theorem compl_bot {α : Type u} [boolean_algebra α] :

@[simp]
theorem compl_compl' {α : Type u} {x : α} [boolean_algebra α] :

@[simp]
theorem compl_inj_iff {α : Type u} {x y : α} [boolean_algebra α] :
xᶜ = yᶜ ↔ x = y

@[simp]
theorem compl_inf {α : Type u} {x y : α} [boolean_algebra α] :
(x ⊓ y)ᶜ = xᶜ ⊔ yᶜ

@[simp]
theorem compl_sup {α : Type u} {x y : α} [boolean_algebra α] :
(x ⊔ y)ᶜ = xᶜ ⊓ yᶜ

theorem compl_le_compl {α : Type u} {x y : α} [boolean_algebra α] :
y ≤ x → xᶜ ≤ yᶜ

theorem compl_le_compl_iff_le {α : Type u} {x y : α} [boolean_algebra α] :
yᶜ ≤ xᶜ ↔ x ≤ y

theorem le_compl_of_le_compl {α : Type u} {x y : α} [boolean_algebra α] :
y ≤ xᶜ → x ≤ yᶜ

theorem compl_le_of_compl_le {α : Type u} {x y : α} [boolean_algebra α] :
yᶜ ≤ x → xᶜ ≤ y

theorem compl_le_iff_compl_le {α : Type u} {x y : α} [boolean_algebra α] :
y ≤ xᶜ ↔ x ≤ yᶜ

theorem sup_sdiff_same {α : Type u} {x y : α} [boolean_algebra α] :
x ⊔ y \ x = x ⊔ y

theorem sdiff_eq_left {α : Type u} {x y : α} [boolean_algebra α] :
x ⊓ y = ⊥ → x \ y = x

theorem sdiff_le_sdiff {α : Type u} {w x y z : α} [boolean_algebra α] :
w ≤ y → z ≤ x → w \ x ≤ y \ z

@[instance]

Equations
@[instance]
def pi.​boolean_algebra {α : Type u} {β : Type v} [boolean_algebra β] :
boolean_algebra (α → β)

Equations