ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- CompletelyDistribLattice.iInf_iSup_eq
class CompletelyDistribLattice (α : Type u) extends CompleteLattice α, BiheytingAlgebra α where
  protected iInf_iSup_eq {ι : Type u} {κ : ι → Type u} (f : ∀ a, κ a → α) :
    (⨅ a, ⨆ b, f a b) = ⨆ g : ∀ a, κ a, ⨅ a, f a (g a)
Arguments: {α : Type u} [self : CompletelyDistribLattice α] {ι : Type u} {κ : ι → Type u} (f : (a : ι) → κ a → α)
Goal: ⨅ a, ⨆ b, f a b = ⨆ g, ⨅ a, f a (g a)
-- le_iInf_iSup
theorem le_iInf_iSup [CompleteLattice α] {f : ∀ a, κ a → α} :
    (⨆ g : ∀ a, κ a, ⨅ a, f a (g a)) ≤ ⨅ a, ⨆ b, f a b 
Arguments: {α : Type u} {ι : Sort w} {κ : ι → Sort w'} [CompleteLattice α] {f : (a : ι) → κ a → α}
Goal: ⨆ g, ⨅ a, f a (g a) ≤ ⨅ a, ⨆ b, f a b
-- iSup_iInf_le
lemma iSup_iInf_le [CompleteLattice α] {f : ∀ a, κ a → α} :
    ⨆ a, ⨅ b, f a b ≤ ⨅ g : ∀ a, κ a, ⨆ a, f a (g a) 
Arguments: {α : Type u} {ι : Sort w} {κ : ι → Sort w'} [CompleteLattice α] {f : (a : ι) → κ a → α}
Goal: ⨆ a, ⨅ b, f a b ≤ ⨅ g, ⨆ a, f a (g a)
-- Order.Frame.MinimalAxioms.inf_sSup_eq
lemma inf_sSup_eq : a ⊓ sSup s = ⨆ b ∈ s, a ⊓ b 
Arguments: {α : Type u} (minAx : Order.Frame.MinimalAxioms α) {s : Set α} {a : α}
Goal: a ⊓ sSup s = ⨆ b ∈ s, a ⊓ b
-- Order.Frame.MinimalAxioms.sSup_inf_eq
lemma sSup_inf_eq : sSup s ⊓ b = ⨆ a ∈ s, a ⊓ b 
Arguments: {α : Type u} (minAx : Order.Frame.MinimalAxioms α) {s : Set α} {b : α}
Goal: sSup s ⊓ b = ⨆ a ∈ s, a ⊓ b
-- Order.Frame.MinimalAxioms.iSup_inf_eq
lemma iSup_inf_eq (f : ι → α) (a : α) : (⨆ i, f i) ⊓ a = ⨆ i, f i ⊓ a 
Arguments: {α : Type u} {ι : Sort w} (minAx : Order.Frame.MinimalAxioms α) (f : ι → α) (a : α)
Goal: (⨆ i, f i) ⊓ a = ⨆ i, f i ⊓ a
-- Order.Frame.MinimalAxioms.inf_iSup_eq
lemma inf_iSup_eq (a : α) (f : ι → α) : (a ⊓ ⨆ i, f i) = ⨆ i, a ⊓ f i 
Arguments: {α : Type u} {ι : Sort w} (minAx : Order.Frame.MinimalAxioms α) (a : α) (f : ι → α)
Goal: a ⊓ ⨆ i, f i = ⨆ i, a ⊓ f i
-- Order.Frame.MinimalAxioms.inf_iSup₂_eq
lemma inf_iSup₂_eq {f : ∀ i, κ i → α} (a : α) : (a ⊓ ⨆ i, ⨆ j, f i j) = ⨆ i, ⨆ j, a ⊓ f i j 
Arguments: {α : Type u} {ι : Sort w} {κ : ι → Sort w'} (minAx : Order.Frame.MinimalAxioms α) {f : (i : ι) → κ i → α} (a : α)
Goal: a ⊓ ⨆ i, ⨆ j, f i j = ⨆ i, ⨆ j, a ⊓ f i j
-- Order.Coframe.MinimalAxioms.sup_sInf_eq
lemma sup_sInf_eq : a ⊔ sInf s = ⨅ b ∈ s, a ⊔ b 
Arguments: {α : Type u} (minAx : Order.Coframe.MinimalAxioms α) {s : Set α} {a : α}
Goal: a ⊔ sInf s = ⨅ b ∈ s, a ⊔ b
-- Order.Coframe.MinimalAxioms.sInf_sup_eq
lemma sInf_sup_eq : sInf s ⊔ b = ⨅ a ∈ s, a ⊔ b 
Arguments: {α : Type u} (minAx : Order.Coframe.MinimalAxioms α) {s : Set α} {b : α}
Goal: sInf s ⊔ b = ⨅ a ∈ s, a ⊔ b
-- Order.Coframe.MinimalAxioms.iInf_sup_eq
lemma iInf_sup_eq (f : ι → α) (a : α) : (⨅ i, f i) ⊔ a = ⨅ i, f i ⊔ a 
Arguments: {α : Type u} {ι : Sort w} (minAx : Order.Coframe.MinimalAxioms α) (f : ι → α) (a : α)
Goal: (⨅ i, f i) ⊔ a = ⨅ i, f i ⊔ a
-- Order.Coframe.MinimalAxioms.sup_iInf_eq
lemma sup_iInf_eq (a : α) (f : ι → α) : (a ⊔ ⨅ i, f i) = ⨅ i, a ⊔ f i 
Arguments: {α : Type u} {ι : Sort w} (minAx : Order.Coframe.MinimalAxioms α) (a : α) (f : ι → α)
Goal: a ⊔ ⨅ i, f i = ⨅ i, a ⊔ f i
-- Order.Coframe.MinimalAxioms.sup_iInf₂_eq
lemma sup_iInf₂_eq {f : ∀ i, κ i → α} (a : α) : (a ⊔ ⨅ i, ⨅ j, f i j) = ⨅ i, ⨅ j, a ⊔ f i j 
Arguments: {α : Type u} {ι : Sort w} {κ : ι → Sort w'} (minAx : Order.Coframe.MinimalAxioms α) {f : (i : ι) → κ i → α} (a : α)
Goal: a ⊔ ⨅ i, ⨅ j, f i j = ⨅ i, ⨅ j, a ⊔ f i j
-- CompletelyDistribLattice.MinimalAxioms.iInf_iSup_eq'
lemma iInf_iSup_eq' (f : ∀ a, κ a → α) :
    let _ := minAx.toCompleteLattice
    ⨅ i, ⨆ j, f i j = ⨆ g : ∀ i, κ i, ⨅ i, f i (g i) 
Arguments: {α : Type u} {ι : Sort w} {κ : ι → Sort w'} (minAx : CompletelyDistribLattice.MinimalAxioms α) (f : (a : ι) → κ a → α)
Goal: let x := minAx.toCompleteLattice;
⨅ i, ⨆ j, f i j = ⨆ g, ⨅ i, f i (g i)
-- CompletelyDistribLattice.MinimalAxioms.iSup_iInf_eq
lemma iSup_iInf_eq (f : ∀ i, κ i → α) :
    let _ := minAx.toCompleteLattice
    ⨆ i, ⨅ j, f i j = ⨅ g : ∀ i, κ i, ⨆ i, f i (g i) 
Arguments: {α : Type u} {ι : Sort w} {κ : ι → Sort w'} (minAx : CompletelyDistribLattice.MinimalAxioms α) (f : (i : ι) → κ i → α)
Goal: let x := minAx.toCompleteLattice;
⨆ i, ⨅ j, f i j = ⨅ g, ⨆ i, f i (g i)
-- iInf_iSup_eq
theorem iInf_iSup_eq [CompletelyDistribLattice α] {f : ∀ a, κ a → α} :
    (⨅ a, ⨆ b, f a b) = ⨆ g : ∀ a, κ a, ⨅ a, f a (g a) 
Arguments: {α : Type u} {ι : Sort w} {κ : ι → Sort w'} [CompletelyDistribLattice α] {f : (a : ι) → κ a → α}
Goal: ⨅ a, ⨆ b, f a b = ⨆ g, ⨅ a, f a (g a)
-- iSup_iInf_eq
theorem iSup_iInf_eq [CompletelyDistribLattice α] {f : ∀ a, κ a → α} :
    (⨆ a, ⨅ b, f a b) = ⨅ g : ∀ a, κ a, ⨆ a, f a (g a) 
Arguments: {α : Type u} {ι : Sort w} {κ : ι → Sort w'} [CompletelyDistribLattice α] {f : (a : ι) → κ a → α}
Goal: ⨆ a, ⨅ b, f a b = ⨅ g, ⨆ a, f a (g a)
-- inf_sSup_eq
theorem inf_sSup_eq : a ⊓ sSup s = ⨆ b ∈ s, a ⊓ b 
Arguments: {α : Type u} [Order.Frame α] {s : Set α} {a : α}
Goal: a ⊓ sSup s = ⨆ b ∈ s, a ⊓ b
-- sSup_inf_eq
theorem sSup_inf_eq : sSup s ⊓ b = ⨆ a ∈ s, a ⊓ b 
Arguments: {α : Type u} [Order.Frame α] {s : Set α} {b : α}
Goal: sSup s ⊓ b = ⨆ a ∈ s, a ⊓ b
-- iSup_inf_eq
theorem iSup_inf_eq (f : ι → α) (a : α) : (⨆ i, f i) ⊓ a = ⨆ i, f i ⊓ a 
Arguments: {α : Type u} {ι : Sort w} [Order.Frame α] (f : ι → α) (a : α)
Goal: (⨆ i, f i) ⊓ a = ⨆ i, f i ⊓ a
-- inf_iSup_eq
theorem inf_iSup_eq (a : α) (f : ι → α) : (a ⊓ ⨆ i, f i) = ⨆ i, a ⊓ f i 
Arguments: {α : Type u} {ι : Sort w} [Order.Frame α] (a : α) (f : ι → α)
Goal: a ⊓ ⨆ i, f i = ⨆ i, a ⊓ f i
-- iSup₂_inf_eq
theorem iSup₂_inf_eq {f : ∀ i, κ i → α} (a : α) :
    (⨆ (i) (j), f i j) ⊓ a = ⨆ (i) (j), f i j ⊓ a 
Arguments: {α : Type u} {ι : Sort w} {κ : ι → Sort w'} [Order.Frame α] {f : (i : ι) → κ i → α} (a : α)
Goal: (⨆ i, ⨆ j, f i j) ⊓ a = ⨆ i, ⨆ j, f i j ⊓ a
-- inf_iSup₂_eq
theorem inf_iSup₂_eq {f : ∀ i, κ i → α} (a : α) :
    (a ⊓ ⨆ (i) (j), f i j) = ⨆ (i) (j), a ⊓ f i j 
Arguments: {α : Type u} {ι : Sort w} {κ : ι → Sort w'} [Order.Frame α] {f : (i : ι) → κ i → α} (a : α)
Goal: a ⊓ ⨆ i, ⨆ j, f i j = ⨆ i, ⨆ j, a ⊓ f i j
-- iSup_inf_iSup
theorem iSup_inf_iSup {ι ι' : Type*} {f : ι → α} {g : ι' → α} :
    ((⨆ i, f i) ⊓ ⨆ j, g j) = ⨆ i : ι × ι', f i.1 ⊓ g i.2 
Arguments: {α : Type u} [Order.Frame α] {ι : Type u_1} {ι' : Type u_2} {f : ι → α} {g : ι' → α}
Goal: (⨆ i, f i) ⊓ ⨆ j, g j = ⨆ i, f i.1 ⊓ g i.2
-- biSup_inf_biSup
theorem biSup_inf_biSup {ι ι' : Type*} {f : ι → α} {g : ι' → α} {s : Set ι} {t : Set ι'} :
    ((⨆ i ∈ s, f i) ⊓ ⨆ j ∈ t, g j) = ⨆ p ∈ s ×ˢ t, f (p : ι × ι').1 ⊓ g p.2 
Arguments: {α : Type u} [Order.Frame α] {ι : Type u_1} {ι' : Type u_2} {f : ι → α} {g : ι' → α} {s : Set ι} {t : Set ι'}
Goal: (⨆ i ∈ s, f i) ⊓ ⨆ j ∈ t, g j = ⨆ p ∈ s ×ˢ t, f p.1 ⊓ g p.2
-- sSup_inf_sSup
theorem sSup_inf_sSup : sSup s ⊓ sSup t = ⨆ p ∈ s ×ˢ t, (p : α × α).1 ⊓ p.2 
Arguments: {α : Type u} [Order.Frame α] {s t : Set α}
Goal: sSup s ⊓ sSup t = ⨆ p ∈ s ×ˢ t, p.1 ⊓ p.2
-- iSup_disjoint_iff
theorem iSup_disjoint_iff {f : ι → α} : Disjoint (⨆ i, f i) a ↔ ∀ i, Disjoint (f i) a 
Arguments: {α : Type u} {ι : Sort w} [Order.Frame α] {a : α} {f : ι → α}
Goal: Disjoint (⨆ i, f i) a ↔ ∀ (i : ι), Disjoint (f i) a
-- disjoint_iSup_iff
theorem disjoint_iSup_iff {f : ι → α} : Disjoint a (⨆ i, f i) ↔ ∀ i, Disjoint a (f i) 
Arguments: {α : Type u} {ι : Sort w} [Order.Frame α] {a : α} {f : ι → α}
Goal: Disjoint a (⨆ i, f i) ↔ ∀ (i : ι), Disjoint a (f i)
-- iSup₂_disjoint_iff
theorem iSup₂_disjoint_iff {f : ∀ i, κ i → α} :
    Disjoint (⨆ (i) (j), f i j) a ↔ ∀ i j, Disjoint (f i j) a 
Arguments: {α : Type u} {ι : Sort w} {κ : ι → Sort w'} [Order.Frame α] {a : α} {f : (i : ι) → κ i → α}
Goal: Disjoint (⨆ i, ⨆ j, f i j) a ↔ ∀ (i : ι) (j : κ i), Disjoint (f i j) a
-- disjoint_iSup₂_iff
theorem disjoint_iSup₂_iff {f : ∀ i, κ i → α} :
    Disjoint a (⨆ (i) (j), f i j) ↔ ∀ i j, Disjoint a (f i j) 
Arguments: {α : Type u} {ι : Sort w} {κ : ι → Sort w'} [Order.Frame α] {a : α} {f : (i : ι) → κ i → α}
Goal: Disjoint a (⨆ i, ⨆ j, f i j) ↔ ∀ (i : ι) (j : κ i), Disjoint a (f i j)
-- sSup_disjoint_iff
theorem sSup_disjoint_iff {s : Set α} : Disjoint (sSup s) a ↔ ∀ b ∈ s, Disjoint b a 
Arguments: {α : Type u} [Order.Frame α] {a : α} {s : Set α}
Goal: Disjoint (sSup s) a ↔ ∀ b ∈ s, Disjoint b a
-- disjoint_sSup_iff
theorem disjoint_sSup_iff {s : Set α} : Disjoint a (sSup s) ↔ ∀ b ∈ s, Disjoint a b 
Arguments: {α : Type u} [Order.Frame α] {a : α} {s : Set α}
Goal: Disjoint a (sSup s) ↔ ∀ b ∈ s, Disjoint a b
-- iSup_inf_of_monotone
theorem iSup_inf_of_monotone {ι : Type*} [Preorder ι] [IsDirected ι (· ≤ ·)] {f g : ι → α}
    (hf : Monotone f) (hg : Monotone g) : ⨆ i, f i ⊓ g i = (⨆ i, f i) ⊓ ⨆ i, g i 
Arguments: {α : Type u} [Order.Frame α] {ι : Type u_1} [Preorder ι] [IsDirected ι fun x x_1 => x ≤ x_1] {f g : ι → α} (hf : Monotone f) (hg : Monotone g)
Goal: ⨆ i, f i ⊓ g i = (⨆ i, f i) ⊓ ⨆ i, g i
-- iSup_inf_of_antitone
theorem iSup_inf_of_antitone {ι : Type*} [Preorder ι] [IsDirected ι (swap (· ≤ ·))] {f g : ι → α}
    (hf : Antitone f) (hg : Antitone g) : ⨆ i, f i ⊓ g i = (⨆ i, f i) ⊓ ⨆ i, g i 
Arguments: {α : Type u} [Order.Frame α] {ι : Type u_1} [Preorder ι] [IsDirected ι (Function.swap fun x x_1 => x ≤ x_1)] {f g : ι → α} (hf : Antitone f) (hg : Antitone g)
Goal: ⨆ i, f i ⊓ g i = (⨆ i, f i) ⊓ ⨆ i, g i
-- sup_sInf_eq
theorem sup_sInf_eq : a ⊔ sInf s = ⨅ b ∈ s, a ⊔ b 
Arguments: {α : Type u} [Order.Coframe α] {s : Set α} {a : α}
Goal: a ⊔ sInf s = ⨅ b ∈ s, a ⊔ b
-- sInf_sup_eq
theorem sInf_sup_eq : sInf s ⊔ b = ⨅ a ∈ s, a ⊔ b 
Arguments: {α : Type u} [Order.Coframe α] {s : Set α} {b : α}
Goal: sInf s ⊔ b = ⨅ a ∈ s, a ⊔ b
-- iInf_sup_eq
theorem iInf_sup_eq (f : ι → α) (a : α) : (⨅ i, f i) ⊔ a = ⨅ i, f i ⊔ a 
Arguments: {α : Type u} {ι : Sort w} [Order.Coframe α] (f : ι → α) (a : α)
Goal: (⨅ i, f i) ⊔ a = ⨅ i, f i ⊔ a
-- sup_iInf_eq
theorem sup_iInf_eq (a : α) (f : ι → α) : (a ⊔ ⨅ i, f i) = ⨅ i, a ⊔ f i 
Arguments: {α : Type u} {ι : Sort w} [Order.Coframe α] (a : α) (f : ι → α)
Goal: a ⊔ ⨅ i, f i = ⨅ i, a ⊔ f i
-- iInf₂_sup_eq
theorem iInf₂_sup_eq {f : ∀ i, κ i → α} (a : α) : (⨅ (i) (j), f i j) ⊔ a = ⨅ (i) (j), f i j ⊔ a 
Arguments: {α : Type u} {ι : Sort w} {κ : ι → Sort w'} [Order.Coframe α] {f : (i : ι) → κ i → α} (a : α)
Goal: (⨅ i, ⨅ j, f i j) ⊔ a = ⨅ i, ⨅ j, f i j ⊔ a
-- sup_iInf₂_eq
theorem sup_iInf₂_eq {f : ∀ i, κ i → α} (a : α) : (a ⊔ ⨅ (i) (j), f i j) = ⨅ (i) (j), a ⊔ f i j 
Arguments: {α : Type u} {ι : Sort w} {κ : ι → Sort w'} [Order.Coframe α] {f : (i : ι) → κ i → α} (a : α)
Goal: a ⊔ ⨅ i, ⨅ j, f i j = ⨅ i, ⨅ j, a ⊔ f i j
-- iInf_sup_iInf
theorem iInf_sup_iInf {ι ι' : Type*} {f : ι → α} {g : ι' → α} :
    ((⨅ i, f i) ⊔ ⨅ i, g i) = ⨅ i : ι × ι', f i.1 ⊔ g i.2 
Arguments: {α : Type u} [Order.Coframe α] {ι : Type u_1} {ι' : Type u_2} {f : ι → α} {g : ι' → α}
Goal: (⨅ i, f i) ⊔ ⨅ i, g i = ⨅ i, f i.1 ⊔ g i.2
-- biInf_sup_biInf
theorem biInf_sup_biInf {ι ι' : Type*} {f : ι → α} {g : ι' → α} {s : Set ι} {t : Set ι'} :
    ((⨅ i ∈ s, f i) ⊔ ⨅ j ∈ t, g j) = ⨅ p ∈ s ×ˢ t, f (p : ι × ι').1 ⊔ g p.2 
Arguments: {α : Type u} [Order.Coframe α] {ι : Type u_1} {ι' : Type u_2} {f : ι → α} {g : ι' → α} {s : Set ι} {t : Set ι'}
Goal: (⨅ i ∈ s, f i) ⊔ ⨅ j ∈ t, g j = ⨅ p ∈ s ×ˢ t, f p.1 ⊔ g p.2
-- sInf_sup_sInf
theorem sInf_sup_sInf : sInf s ⊔ sInf t = ⨅ p ∈ s ×ˢ t, (p : α × α).1 ⊔ p.2 
Arguments: {α : Type u} [Order.Coframe α] {s t : Set α}
Goal: sInf s ⊔ sInf t = ⨅ p ∈ s ×ˢ t, p.1 ⊔ p.2
-- iInf_sup_of_monotone
theorem iInf_sup_of_monotone {ι : Type*} [Preorder ι] [IsDirected ι (swap (· ≤ ·))] {f g : ι → α}
    (hf : Monotone f) (hg : Monotone g) : ⨅ i, f i ⊔ g i = (⨅ i, f i) ⊔ ⨅ i, g i 
Arguments: {α : Type u} [Order.Coframe α] {ι : Type u_1} [Preorder ι] [IsDirected ι (Function.swap fun x x_1 => x ≤ x_1)] {f g : ι → α} (hf : Monotone f) (hg : Monotone g)
Goal: ⨅ i, f i ⊔ g i = (⨅ i, f i) ⊔ ⨅ i, g i
-- iInf_sup_of_antitone
theorem iInf_sup_of_antitone {ι : Type*} [Preorder ι] [IsDirected ι (· ≤ ·)] {f g : ι → α}
    (hf : Antitone f) (hg : Antitone g) : ⨅ i, f i ⊔ g i = (⨅ i, f i) ⊔ ⨅ i, g i 
Arguments: {α : Type u} [Order.Coframe α] {ι : Type u_1} [Preorder ι] [IsDirected ι fun x x_1 => x ≤ x_1] {f g : ι → α} (hf : Antitone f) (hg : Antitone g)
Goal: ⨅ i, f i ⊔ g i = (⨅ i, f i) ⊔ ⨅ i, g i
-- CompleteBooleanAlgebra.iInf_sup_le_sup_sInf
-- We do not directly extend `CompleteDistribLattice` to avoid having the `hnot` field
class CompleteBooleanAlgebra (α) extends CompleteLattice α, BooleanAlgebra α where
    inf_sSup_le_iSup_inf (a : α) (s : Set α) : a ⊓ sSup s ≤ ⨆ b ∈ s, a ⊓ b
    iInf_sup_le_sup_sInf (a : α) (s : Set α) : ⨅ b ∈ s, a ⊔ b ≤ a ⊔ sInf s
Arguments: {α : Type u_1} [self : CompleteBooleanAlgebra α] (a : α) (s : Set α)
Goal: ⨅ b ∈ s, a ⊔ b ≤ a ⊔ sInf s
-- CompleteBooleanAlgebra.inf_sSup_le_iSup_inf
-- We do not directly extend `CompleteDistribLattice` to avoid having the `hnot` field
class CompleteBooleanAlgebra (α) extends CompleteLattice α, BooleanAlgebra α where
    inf_sSup_le_iSup_inf (a : α) (s : Set α) : a ⊓ sSup s ≤ ⨆ b ∈ s, a ⊓ b
    iInf_sup_le_sup_sInf (a : α) (s : Set α) : ⨅ b ∈ s, a ⊔ b ≤ a ⊔ sInf s
Arguments: {α : Type u_1} [self : CompleteBooleanAlgebra α] (a : α) (s : Set α)
Goal: a ⊓ sSup s ≤ ⨆ b ∈ s, a ⊓ b
-- compl_iInf
theorem compl_iInf : (iInf f)ᶜ = ⨆ i, (f i)ᶜ 
Arguments: {α : Type u} {ι : Sort w} [CompleteBooleanAlgebra α] {f : ι → α}
Goal: (iInf f)ᶜ = ⨆ i, (f i)ᶜ
-- compl_iSup
theorem compl_iSup : (iSup f)ᶜ = ⨅ i, (f i)ᶜ 
Arguments: {α : Type u} {ι : Sort w} [CompleteBooleanAlgebra α] {f : ι → α}
Goal: (iSup f)ᶜ = ⨅ i, (f i)ᶜ
-- compl_sInf
theorem compl_sInf : (sInf s)ᶜ = ⨆ i ∈ s, iᶜ 
Arguments: {α : Type u} [CompleteBooleanAlgebra α] {s : Set α}
Goal: (sInf s)ᶜ = ⨆ i ∈ s, iᶜ
-- compl_sSup
theorem compl_sSup : (sSup s)ᶜ = ⨅ i ∈ s, iᶜ 
Arguments: {α : Type u} [CompleteBooleanAlgebra α] {s : Set α}
Goal: (sSup s)ᶜ = ⨅ i ∈ s, iᶜ
-- compl_sInf'
theorem compl_sInf' : (sInf s)ᶜ = sSup (HasCompl.compl '' s) 
Arguments: {α : Type u} [CompleteBooleanAlgebra α] {s : Set α}
Goal: (sInf s)ᶜ = sSup (compl '' s)
-- compl_sSup'
theorem compl_sSup' : (sSup s)ᶜ = sInf (HasCompl.compl '' s) 
Arguments: {α : Type u} [CompleteBooleanAlgebra α] {s : Set α}
Goal: (sSup s)ᶜ = sInf (compl '' s)
-- iSup_symmDiff_iSup_le
theorem iSup_symmDiff_iSup_le {g : ι → α} : (⨆ i, f i) ∆ (⨆ i, g i) ≤ ⨆ i, ((f i) ∆ (g i)) 
Arguments: {α : Type u} {ι : Sort w} [CompleteBooleanAlgebra α] {f g : ι → α}
Goal: symmDiff (⨆ i, f i) (⨆ i, g i) ≤ ⨆ i, symmDiff (f i) (g i)
-- biSup_symmDiff_biSup_le
theorem biSup_symmDiff_biSup_le {p : ι → Prop} {f g : (i : ι) → p i → α} :
    (⨆ i, ⨆ (h : p i), f i h) ∆ (⨆ i, ⨆ (h : p i), g i h) ≤
    ⨆ i, ⨆ (h : p i), ((f i h) ∆ (g i h)) 
Arguments: {α : Type u} {ι : Sort w} [CompleteBooleanAlgebra α] {p : ι → Prop} {f g : (i : ι) → p i → α}
Goal: symmDiff (⨆ i, ⨆ (h : p i), f i h) (⨆ i, ⨆ (h : p i), g i h) ≤ ⨆ i, ⨆ (h : p i), symmDiff (f i h) (g i h)
-- CompleteAtomicBooleanAlgebra.iInf_iSup_eq
-- We do not directly extend `CompletelyDistribLattice` to avoid having the `hnot` field
-- We do not directly extend `CompleteBooleanAlgebra` to avoid having the `inf_sSup_le_iSup_inf` and
-- `iInf_sup_le_sup_sInf` fields
class CompleteAtomicBooleanAlgebra (α : Type u) extends CompleteLattice α, BooleanAlgebra α where
  protected iInf_iSup_eq {ι : Type u} {κ : ι → Type u} (f : ∀ a, κ a → α) :
    (⨅ a, ⨆ b, f a b) = ⨆ g : ∀ a, κ a, ⨅ a, f a (g a)
Arguments: {α : Type u} [self : CompleteAtomicBooleanAlgebra α] {ι : Type u} {κ : ι → Type u} (f : (a : ι) → κ a → α)
Goal: ⨅ a, ⨆ b, f a b = ⨆ g, ⨅ a, f a (g a)
-- PUnit.sSup_eq
@[simp]
theorem sSup_eq : sSup s = unit 
Arguments: (s : Set PUnit.{u + 1})
Goal: sSup s = PUnit.unit
-- PUnit.sInf_eq
@[simp]
theorem sInf_eq : sInf s = unit 
Arguments: (s : Set PUnit.{u + 1})
Goal: sInf s = PUnit.unit
-- fst_himp
@[simp]
theorem fst_himp [HImp α] [HImp β] (a b : α × β) : (a ⇨ b).1 = a.1 ⇨ b.1 
Arguments: {α : Type u_2} {β : Type u_3} [HImp α] [HImp β] (a b : α × β)
Goal: (a ⇨ b).1 = a.1 ⇨ b.1
-- snd_himp
@[simp]
theorem snd_himp [HImp α] [HImp β] (a b : α × β) : (a ⇨ b).2 = a.2 ⇨ b.2 
Arguments: {α : Type u_2} {β : Type u_3} [HImp α] [HImp β] (a b : α × β)
Goal: (a ⇨ b).2 = a.2 ⇨ b.2
-- fst_hnot
@[simp]
theorem fst_hnot [HNot α] [HNot β] (a : α × β) : (￢a).1 = ￢a.1 
Arguments: {α : Type u_2} {β : Type u_3} [HNot α] [HNot β] (a : α × β)
Goal: (￢a).1 = ￢a.1
-- snd_hnot
@[simp]
theorem snd_hnot [HNot α] [HNot β] (a : α × β) : (￢a).2 = ￢a.2 
Arguments: {α : Type u_2} {β : Type u_3} [HNot α] [HNot β] (a : α × β)
Goal: (￢a).2 = ￢a.2
-- fst_sdiff
@[simp]
theorem fst_sdiff [SDiff α] [SDiff β] (a b : α × β) : (a \ b).1 = a.1 \ b.1 
Arguments: {α : Type u_2} {β : Type u_3} [SDiff α] [SDiff β] (a b : α × β)
Goal: (a \ b).1 = a.1 \ b.1
-- snd_sdiff
@[simp]
theorem snd_sdiff [SDiff α] [SDiff β] (a b : α × β) : (a \ b).2 = a.2 \ b.2 
Arguments: {α : Type u_2} {β : Type u_3} [SDiff α] [SDiff β] (a b : α × β)
Goal: (a \ b).2 = a.2 \ b.2
-- fst_compl
@[simp]
theorem fst_compl [HasCompl α] [HasCompl β] (a : α × β) : aᶜ.1 = a.1ᶜ 
Arguments: {α : Type u_2} {β : Type u_3} [HasCompl α] [HasCompl β] (a : α × β)
Goal: aᶜ.1 = a.1ᶜ
-- snd_compl
@[simp]
theorem snd_compl [HasCompl α] [HasCompl β] (a : α × β) : aᶜ.2 = a.2ᶜ 
Arguments: {α : Type u_2} {β : Type u_3} [HasCompl α] [HasCompl β] (a : α × β)
Goal: aᶜ.2 = a.2ᶜ
-- Pi.himp_def
theorem himp_def [∀ i, HImp (π i)] (a b : ∀ i, π i) : a ⇨ b = fun i => a i ⇨ b i 
Arguments: {ι : Type u_1} {π : ι → Type u_4} [(i : ι) → HImp (π i)] (a b : (i : ι) → π i)
Goal: a ⇨ b = fun i => a i ⇨ b i
-- Pi.hnot_def
theorem hnot_def [∀ i, HNot (π i)] (a : ∀ i, π i) : ￢a = fun i => ￢a i 
Arguments: {ι : Type u_1} {π : ι → Type u_4} [(i : ι) → HNot (π i)] (a : (i : ι) → π i)
Goal: ￢a = fun i => ￢a i
-- Pi.himp_apply
@[simp]
theorem himp_apply [∀ i, HImp (π i)] (a b : ∀ i, π i) (i : ι) : (a ⇨ b) i = a i ⇨ b i 
Arguments: {ι : Type u_1} {π : ι → Type u_4} [(i : ι) → HImp (π i)] (a b : (i : ι) → π i) (i : ι)
Goal: (a ⇨ b) i = a i ⇨ b i
-- Pi.hnot_apply
@[simp]
theorem hnot_apply [∀ i, HNot (π i)] (a : ∀ i, π i) (i : ι) : (￢a) i = ￢a i 
Arguments: {ι : Type u_1} {π : ι → Type u_4} [(i : ι) → HNot (π i)] (a : (i : ι) → π i) (i : ι)
Goal: (￢a) i = ￢a i
-- GeneralizedHeytingAlgebra.le_himp_iff
class GeneralizedHeytingAlgebra (α : Type*) extends Lattice α, OrderTop α, HImp α where
    le_himp_iff (a b c : α) : a ≤ b ⇨ c ↔ a ⊓ b ≤ c
Arguments: {α : Type u_4} [self : GeneralizedHeytingAlgebra α] (a b c : α)
Goal: a ≤ b ⇨ c ↔ a ⊓ b ≤ c
-- GeneralizedCoheytingAlgebra.sdiff_le_iff
class GeneralizedCoheytingAlgebra (α : Type*) extends Lattice α, OrderBot α, SDiff α where
    sdiff_le_iff (a b c : α) : a \ b ≤ c ↔ a ≤ b ⊔ c
Arguments: {α : Type u_4} [self : GeneralizedCoheytingAlgebra α] (a b c : α)
Goal: a \ b ≤ c ↔ a ≤ b ⊔ c
-- HeytingAlgebra.himp_bot
class HeytingAlgebra (α : Type*) extends GeneralizedHeytingAlgebra α, OrderBot α, HasCompl α where
    himp_bot (a : α) : a ⇨ ⊥ = aᶜ
Arguments: {α : Type u_4} [self : HeytingAlgebra α] (a : α)
Goal: a ⇨ ⊥ = aᶜ
-- CoheytingAlgebra.top_sdiff
class CoheytingAlgebra (α : Type*) extends GeneralizedCoheytingAlgebra α, OrderTop α, HNot α where
    top_sdiff (a : α) : ⊤ \ a = ￢a
Arguments: {α : Type u_4} [self : CoheytingAlgebra α] (a : α)
Goal: ⊤ \ a = ￢a
-- BiheytingAlgebra.top_sdiff
class BiheytingAlgebra (α : Type*) extends HeytingAlgebra α, SDiff α, HNot α where
    sdiff_le_iff (a b c : α) : a \ b ≤ c ↔ a ≤ b ⊔ c
    top_sdiff (a : α) : ⊤ \ a = ￢a
Arguments: {α : Type u_4} [self : BiheytingAlgebra α] (a : α)
Goal: ⊤ \ a = ￢a
-- BiheytingAlgebra.sdiff_le_iff
class BiheytingAlgebra (α : Type*) extends HeytingAlgebra α, SDiff α, HNot α where
    sdiff_le_iff (a b c : α) : a \ b ≤ c ↔ a ≤ b ⊔ c
    top_sdiff (a : α) : ⊤ \ a = ￢a
Arguments: {α : Type u_4} [self : BiheytingAlgebra α] (a b c : α)
Goal: a \ b ≤ c ↔ a ≤ b ⊔ c
-- le_himp_iff
@[simp]
theorem le_himp_iff : a ≤ b ⇨ c ↔ a ⊓ b ≤ c 
Arguments: {α : Type u_2} [GeneralizedHeytingAlgebra α] {a b c : α}
Goal: a ≤ b ⇨ c ↔ a ⊓ b ≤ c
-- le_himp_iff'
theorem le_himp_iff' : a ≤ b ⇨ c ↔ b ⊓ a ≤ c 
Arguments: {α : Type u_2} [GeneralizedHeytingAlgebra α] {a b c : α}
Goal: a ≤ b ⇨ c ↔ b ⊓ a ≤ c
-- le_himp_comm
theorem le_himp_comm : a ≤ b ⇨ c ↔ b ≤ a ⇨ c 
Arguments: {α : Type u_2} [GeneralizedHeytingAlgebra α] {a b c : α}
Goal: a ≤ b ⇨ c ↔ b ≤ a ⇨ c
-- le_himp
theorem le_himp : a ≤ b ⇨ a 
Arguments: {α : Type u_2} [GeneralizedHeytingAlgebra α] {a b : α}
Goal: a ≤ b ⇨ a
-- le_himp_iff_left
theorem le_himp_iff_left : a ≤ a ⇨ b ↔ a ≤ b 
Arguments: {α : Type u_2} [GeneralizedHeytingAlgebra α] {a b : α}
Goal: a ≤ a ⇨ b ↔ a ≤ b
-- himp_self
@[simp]
theorem himp_self : a ⇨ a = ⊤ 
Arguments: {α : Type u_2} [GeneralizedHeytingAlgebra α] {a : α}
Goal: a ⇨ a = ⊤
-- himp_inf_le
theorem himp_inf_le : (a ⇨ b) ⊓ a ≤ b 
Arguments: {α : Type u_2} [GeneralizedHeytingAlgebra α] {a b : α}
Goal: (a ⇨ b) ⊓ a ≤ b
-- inf_himp_le
theorem inf_himp_le : a ⊓ (a ⇨ b) ≤ b 
Arguments: {α : Type u_2} [GeneralizedHeytingAlgebra α] {a b : α}
Goal: a ⊓ (a ⇨ b) ≤ b
-- inf_himp
@[simp]
theorem inf_himp (a b : α) : a ⊓ (a ⇨ b) = a ⊓ b 
Arguments: {α : Type u_2} [GeneralizedHeytingAlgebra α] (a b : α)
Goal: a ⊓ (a ⇨ b) = a ⊓ b
-- himp_inf_self
@[simp]
theorem himp_inf_self (a b : α) : (a ⇨ b) ⊓ a = b ⊓ a 
Arguments: {α : Type u_2} [GeneralizedHeytingAlgebra α] (a b : α)
Goal: (a ⇨ b) ⊓ a = b ⊓ a
-- himp_eq_top_iff
@[simp]
theorem himp_eq_top_iff : a ⇨ b = ⊤ ↔ a ≤ b 
Arguments: {α : Type u_2} [GeneralizedHeytingAlgebra α] {a b : α}
Goal: a ⇨ b = ⊤ ↔ a ≤ b
-- himp_top
@[simp]
theorem himp_top : a ⇨ ⊤ = ⊤ 
Arguments: {α : Type u_2} [GeneralizedHeytingAlgebra α] {a : α}
Goal: a ⇨ ⊤ = ⊤
-- top_himp
@[simp]
theorem top_himp : ⊤ ⇨ a = a 
Arguments: {α : Type u_2} [GeneralizedHeytingAlgebra α] {a : α}
Goal: ⊤ ⇨ a = a
-- himp_himp
theorem himp_himp (a b c : α) : a ⇨ b ⇨ c = a ⊓ b ⇨ c 
Arguments: {α : Type u_2} [GeneralizedHeytingAlgebra α] (a b c : α)
Goal: a ⇨ b ⇨ c = a ⊓ b ⇨ c
-- himp_le_himp_himp_himp
theorem himp_le_himp_himp_himp : b ⇨ c ≤ (a ⇨ b) ⇨ a ⇨ c 
Arguments: {α : Type u_2} [GeneralizedHeytingAlgebra α] {a b c : α}
Goal: b ⇨ c ≤ (a ⇨ b) ⇨ a ⇨ c
-- himp_inf_himp_inf_le
@[simp]
theorem himp_inf_himp_inf_le : (b ⇨ c) ⊓ (a ⇨ b) ⊓ a ≤ c 
Arguments: {α : Type u_2} [GeneralizedHeytingAlgebra α] {a b c : α}
Goal: (b ⇨ c) ⊓ (a ⇨ b) ⊓ a ≤ c
-- himp_left_comm
theorem himp_left_comm (a b c : α) : a ⇨ b ⇨ c = b ⇨ a ⇨ c 
Arguments: {α : Type u_2} [GeneralizedHeytingAlgebra α] (a b c : α)
Goal: a ⇨ b ⇨ c = b ⇨ a ⇨ c
-- himp_idem
@[simp]
theorem himp_idem : b ⇨ b ⇨ a = b ⇨ a 
Arguments: {α : Type u_2} [GeneralizedHeytingAlgebra α] {a b : α}
Goal: b ⇨ b ⇨ a = b ⇨ a
-- himp_inf_distrib
theorem himp_inf_distrib (a b c : α) : a ⇨ b ⊓ c = (a ⇨ b) ⊓ (a ⇨ c) 
Arguments: {α : Type u_2} [GeneralizedHeytingAlgebra α] (a b c : α)
Goal: a ⇨ b ⊓ c = (a ⇨ b) ⊓ (a ⇨ c)
-- sup_himp_distrib
theorem sup_himp_distrib (a b c : α) : a ⊔ b ⇨ c = (a ⇨ c) ⊓ (b ⇨ c) 
Arguments: {α : Type u_2} [GeneralizedHeytingAlgebra α] (a b c : α)
Goal: a ⊔ b ⇨ c = (a ⇨ c) ⊓ (b ⇨ c)
-- himp_le_himp_left
theorem himp_le_himp_left (h : a ≤ b) : c ⇨ a ≤ c ⇨ b 
Arguments: {α : Type u_2} [GeneralizedHeytingAlgebra α] {a b c : α} (h : a ≤ b)
Goal: c ⇨ a ≤ c ⇨ b
-- himp_le_himp_right
theorem himp_le_himp_right (h : a ≤ b) : b ⇨ c ≤ a ⇨ c 
Arguments: {α : Type u_2} [GeneralizedHeytingAlgebra α] {a b c : α} (h : a ≤ b)
Goal: b ⇨ c ≤ a ⇨ c
-- himp_le_himp
theorem himp_le_himp (hab : a ≤ b) (hcd : c ≤ d) : b ⇨ c ≤ a ⇨ d 
Arguments: {α : Type u_2} [GeneralizedHeytingAlgebra α] {a b c d : α} (hab : a ≤ b) (hcd : c ≤ d)
Goal: b ⇨ c ≤ a ⇨ d
-- sup_himp_self_left
@[simp]
theorem sup_himp_self_left (a b : α) : a ⊔ b ⇨ a = b ⇨ a 
Arguments: {α : Type u_2} [GeneralizedHeytingAlgebra α] (a b : α)
Goal: a ⊔ b ⇨ a = b ⇨ a
-- sup_himp_self_right
@[simp]
theorem sup_himp_self_right (a b : α) : a ⊔ b ⇨ b = a ⇨ b 
Arguments: {α : Type u_2} [GeneralizedHeytingAlgebra α] (a b : α)
Goal: a ⊔ b ⇨ b = a ⇨ b
-- Codisjoint.himp_eq_right
theorem Codisjoint.himp_eq_right (h : Codisjoint a b) : b ⇨ a = a 
Arguments: {α : Type u_2} [GeneralizedHeytingAlgebra α] {a b : α} (h : Codisjoint a b)
Goal: b ⇨ a = a
-- Codisjoint.himp_eq_left
theorem Codisjoint.himp_eq_left (h : Codisjoint a b) : a ⇨ b = b 
Arguments: {α : Type u_2} [GeneralizedHeytingAlgebra α] {a b : α} (h : Codisjoint a b)
Goal: a ⇨ b = b
-- Codisjoint.himp_inf_cancel_right
theorem Codisjoint.himp_inf_cancel_right (h : Codisjoint a b) : a ⇨ a ⊓ b = b 
Arguments: {α : Type u_2} [GeneralizedHeytingAlgebra α] {a b : α} (h : Codisjoint a b)
Goal: a ⇨ a ⊓ b = b