Documentation

Std.Internal.Order.Lemmas

Complete lattice algebra #

The laws of ⊤, ⊥, ⊓, ⊔, ⨅ and ⨆ at an abstract carrier: the order laws, the units, the monoid laws of ⊓ and ⊔, monotonicity, and the characterizations of ⊑ against the connectives.

theorem Lean.Order.le_top {α : Type uₗ} [CompleteLattice α] (x : α) :
theorem Lean.Order.meet_le_left {α : Type uₗ} [CompleteLattice α] (x y : α) :
theorem Lean.Order.meet_le_right {α : Type uₗ} [CompleteLattice α] (x y : α) :
theorem Lean.Order.le_meet {α : Type uₗ} [CompleteLattice α] (x y z : α) :
theorem Lean.Order.left_le_join {α : Type uₗ} [CompleteLattice α] (x y : α) :
theorem Lean.Order.right_le_join {α : Type uₗ} [CompleteLattice α] (x y : α) :
theorem Lean.Order.join_le {α : Type uₗ} [CompleteLattice α] (x y z : α) :
theorem Lean.Order.iInf_le {α : Type uₗ} [CompleteLattice α] {ι : Sort vₗ} (f : ι → α) (i : ι) :
theorem Lean.Order.le_iInf {α : Type uₗ} [CompleteLattice α] {ι : Sort vₗ} (f : ι → α) (x : α) :
(∀ (i : ι), PartialOrder.rel x (f i)) → PartialOrder.rel x (iInf f)
theorem Lean.Order.le_iSup {α : Type uₗ} [CompleteLattice α] {ι : Sort vₗ} (f : ι → α) (i : ι) :
theorem Lean.Order.iSup_le {α : Type uₗ} [CompleteLattice α] {ι : Sort vₗ} (f : ι → α) (x : α) :
(∀ (i : ι), PartialOrder.rel (f i) x) → PartialOrder.rel (iSup f) x

Derived laws of CompleteLattice #

Lattice algebra derived from the laws of CompleteLattice: monotonicity of the connectives, the monoid laws of ⊓ and ⊔ with their units ⊤ and ⊥, and the characterizations of ⊑ against ⊤, ⊥, ⊓, ⊔, ⨅ and ⨆.

Connectives #

theorem Lean.Order.le_meet_left {l : Type uₗ} [CompleteLattice l] {P Q : l} (h : PartialOrder.rel P Q) :
theorem Lean.Order.le_meet_right {l : Type uₗ} [CompleteLattice l] {P Q : l} (h : PartialOrder.rel P Q) :
theorem Lean.Order.le_meet_of_eq {l : Type uₗ} [CompleteLattice l] {P Q R T : l} (hand : T = meet Q R) (hQ : PartialOrder.rel P Q) (hR : PartialOrder.rel P R) :
theorem Lean.Order.meet_le_comm {l : Type uₗ} [CompleteLattice l] {P Q : l} :
theorem Lean.Order.join_le_comm {l : Type uₗ} [CompleteLattice l] {P Q : l} :
theorem Lean.Order.le_of_le_of_meet_le {l : Type uₗ} [CompleteLattice l] {P Q R : l} (h₁ : PartialOrder.rel P Q) (h₂ : PartialOrder.rel (meet P Q) R) :
theorem Lean.Order.le_iSup_of_le {l : Type uₗ} [CompleteLattice l] {P : l} {β : Sort u_1} {Ψ : β → l} (a : β) (h : PartialOrder.rel P (Ψ a)) :

Monotonicity #

theorem Lean.Order.meet_mono {l : Type uₗ} [CompleteLattice l] {P P' Q Q' : l} (hp : PartialOrder.rel P P') (hq : PartialOrder.rel Q Q') :
PartialOrder.rel (meet P Q) (meet P' Q')
theorem Lean.Order.meet_mono_left {l : Type uₗ} [CompleteLattice l] {P P' Q : l} (h : PartialOrder.rel P P') :
theorem Lean.Order.meet_mono_right {l : Type uₗ} [CompleteLattice l] {P Q Q' : l} (h : PartialOrder.rel Q Q') :
theorem Lean.Order.join_mono {l : Type uₗ} [CompleteLattice l] {P P' Q Q' : l} (hp : PartialOrder.rel P P') (hq : PartialOrder.rel Q Q') :
PartialOrder.rel (join P Q) (join P' Q')
theorem Lean.Order.join_mono_left {l : Type uₗ} [CompleteLattice l] {P P' Q : l} (h : PartialOrder.rel P P') :
theorem Lean.Order.join_mono_right {l : Type uₗ} [CompleteLattice l] {P Q Q' : l} (h : PartialOrder.rel Q Q') :
theorem Lean.Order.iInf_mono {l : Type uₗ} [CompleteLattice l] {β : Sort u_1} {Φ Ψ : β → l} (h : ∀ (a : β), PartialOrder.rel (Φ a) (Ψ a)) :
theorem Lean.Order.iSup_mono {l : Type uₗ} [CompleteLattice l] {β : Sort u_1} {Φ Ψ : β → l} (h : ∀ (a : β), PartialOrder.rel (Φ a) (Ψ a)) :

Boolean algebra #

theorem Lean.Order.meet_self {l : Type uₗ} [CompleteLattice l] {P : l} :
meet P P = P
theorem Lean.Order.join_self {l : Type uₗ} [CompleteLattice l] {P : l} :
join P P = P
theorem Lean.Order.meet_comm {l : Type uₗ} [CompleteLattice l] {P Q : l} :
meet P Q = meet Q P
theorem Lean.Order.join_comm {l : Type uₗ} [CompleteLattice l] {P Q : l} :
join P Q = join Q P
theorem Lean.Order.meet_assoc {l : Type uₗ} [CompleteLattice l] {P Q R : l} :
meet (meet P Q) R = meet P (meet Q R)
theorem Lean.Order.join_assoc {l : Type uₗ} [CompleteLattice l] {P Q R : l} :
join (join P Q) R = join P (join Q R)
@[simp]
theorem Lean.Order.top_meet {l : Type uₗ} [CompleteLattice l] {P : l} :
meet top P = P
@[simp]
theorem Lean.Order.meet_top {l : Type uₗ} [CompleteLattice l] {P : l} :
meet P top = P

Cancel a redundant ⊓ ⊤ on the left of an entailment.

@[simp]
theorem Lean.Order.bot_meet {l : Type uₗ} [CompleteLattice l] {P : l} :
@[simp]
theorem Lean.Order.meet_bot {l : Type uₗ} [CompleteLattice l] {P : l} :
@[simp]
theorem Lean.Order.top_join {l : Type uₗ} [CompleteLattice l] {P : l} :
@[simp]
theorem Lean.Order.join_top {l : Type uₗ} [CompleteLattice l] {P : l} :
@[simp]
theorem Lean.Order.bot_join {l : Type uₗ} [CompleteLattice l] {P : l} :
join bot P = P
@[simp]
theorem Lean.Order.join_bot {l : Type uₗ} [CompleteLattice l] {P : l} :
join P bot = P
@[simp]
theorem Lean.Order.iSup_bot {l : Type uₗ} [CompleteLattice l] {ι : Type u_1} :
(iSup fun (x : ι) => bot) = bot
@[simp]
theorem Lean.Order.iInf_top {l : Type uₗ} [CompleteLattice l] {ι : Type u_1} :
(iInf fun (x : ι) => top) = top

Miscellaneous #

theorem Lean.Order.meet_left_comm {l : Type uₗ} [CompleteLattice l] {P Q R : l} :
meet P (meet Q R) = meet Q (meet P R)
theorem Lean.Order.meet_right_comm {l : Type uₗ} [CompleteLattice l] {P Q R : l} :
meet (meet P Q) R = meet (meet P R) Q

Working with entailment #

@[simp]
theorem Lean.Order.iSup_le_iff {l : Type uₗ} [CompleteLattice l] {P : l} {ι : Type u_1} {Φ : ι → l} :
PartialOrder.rel (iSup Φ) P ↔ ∀ (i : ι), PartialOrder.rel (Φ i) P
@[simp]
theorem Lean.Order.le_iInf_iff {l : Type uₗ} [CompleteLattice l] {P : l} {ι : Type u_1} {Φ : ι → l} :
PartialOrder.rel P (iInf Φ) ↔ ∀ (i : ι), PartialOrder.rel P (Φ i)
@[deprecated Lean.Order.le_of_le_of_meet_le (since := "2026-09-24")]
theorem Lean.Order.le_trans_meet {l : Type uₗ} [CompleteLattice l] {P Q R : l} (h₁ : PartialOrder.rel P Q) (h₂ : PartialOrder.rel (meet P Q) R) :