ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- OrderIso.map_csSup
theorem map_csSup (e : α ≃o β) {s : Set α} (hne : s.Nonempty) (hbdd : BddAbove s) :
    e (sSup s) = ⨆ x : s, e x 
Arguments: {α : Type u_1} {β : Type u_2} [ConditionallyCompleteLattice α] [ConditionallyCompleteLattice β] (e : α ≃o β) {s : Set α} (hne : s.Nonempty) (hbdd : BddAbove s)
Goal: e (sSup s) = ⨆ x, e ↑x
-- OrderIso.map_csSup'
theorem map_csSup' (e : α ≃o β) {s : Set α} (hne : s.Nonempty) (hbdd : BddAbove s) :
    e (sSup s) = sSup (e '' s) 
Arguments: {α : Type u_1} {β : Type u_2} [ConditionallyCompleteLattice α] [ConditionallyCompleteLattice β] (e : α ≃o β) {s : Set α} (hne : s.Nonempty) (hbdd : BddAbove s)
Goal: e (sSup s) = sSup (⇑e '' s)
-- OrderIso.map_ciSup
theorem map_ciSup (e : α ≃o β) {f : ι → α} (hf : BddAbove (range f)) :
    e (⨆ i, f i) = ⨆ i, e (f i) 
Arguments: {α : Type u_1} {β : Type u_2} {ι : Sort u_4} [ConditionallyCompleteLattice α] [ConditionallyCompleteLattice β] [Nonempty ι] (e : α ≃o β) {f : ι → α} (hf : BddAbove (Set.range f))
Goal: e (⨆ i, f i) = ⨆ i, e (f i)
-- OrderIso.map_ciSup_set
theorem map_ciSup_set (e : α ≃o β) {s : Set γ} {f : γ → α} (hf : BddAbove (f '' s))
    (hne : s.Nonempty) : e (⨆ i : s, f i) = ⨆ i : s, e (f i) 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} [ConditionallyCompleteLattice α] [ConditionallyCompleteLattice β] (e : α ≃o β) {s : Set γ} {f : γ → α} (hf : BddAbove (f '' s)) (hne : s.Nonempty)
Goal: e (⨆ i, f ↑i) = ⨆ i, e (f ↑i)
-- OrderIso.map_csInf
theorem map_csInf (e : α ≃o β) {s : Set α} (hne : s.Nonempty) (hbdd : BddBelow s) :
    e (sInf s) = ⨅ x : s, e x 
Arguments: {α : Type u_1} {β : Type u_2} [ConditionallyCompleteLattice α] [ConditionallyCompleteLattice β] (e : α ≃o β) {s : Set α} (hne : s.Nonempty) (hbdd : BddBelow s)
Goal: e (sInf s) = ⨅ x, e ↑x
-- OrderIso.map_csInf'
theorem map_csInf' (e : α ≃o β) {s : Set α} (hne : s.Nonempty) (hbdd : BddBelow s) :
    e (sInf s) = sInf (e '' s) 
Arguments: {α : Type u_1} {β : Type u_2} [ConditionallyCompleteLattice α] [ConditionallyCompleteLattice β] (e : α ≃o β) {s : Set α} (hne : s.Nonempty) (hbdd : BddBelow s)
Goal: e (sInf s) = sInf (⇑e '' s)
-- OrderIso.map_ciInf
theorem map_ciInf (e : α ≃o β) {f : ι → α} (hf : BddBelow (range f)) :
    e (⨅ i, f i) = ⨅ i, e (f i) 
Arguments: {α : Type u_1} {β : Type u_2} {ι : Sort u_4} [ConditionallyCompleteLattice α] [ConditionallyCompleteLattice β] [Nonempty ι] (e : α ≃o β) {f : ι → α} (hf : BddBelow (Set.range f))
Goal: e (⨅ i, f i) = ⨅ i, e (f i)
-- OrderIso.map_ciInf_set
theorem map_ciInf_set (e : α ≃o β) {s : Set γ} {f : γ → α} (hf : BddBelow (f '' s))
    (hne : s.Nonempty) : e (⨅ i : s, f i) = ⨅ i : s, e (f i) 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} [ConditionallyCompleteLattice α] [ConditionallyCompleteLattice β] (e : α ≃o β) {s : Set γ} {f : γ → α} (hf : BddBelow (f '' s)) (hne : s.Nonempty)
Goal: e (⨅ i, f ↑i) = ⨅ i, e (f ↑i)
-- csSup_image2_eq_csSup_csSup
theorem csSup_image2_eq_csSup_csSup (h₁ : ∀ b, GaloisConnection (swap l b) (u₁ b))
    (h₂ : ∀ a, GaloisConnection (l a) (u₂ a)) (hs₀ : s.Nonempty) (hs₁ : BddAbove s)
    (ht₀ : t.Nonempty) (ht₁ : BddAbove t) : sSup (image2 l s t) = l (sSup s) (sSup t) 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} [ConditionallyCompleteLattice α] [ConditionallyCompleteLattice β] [ConditionallyCompleteLattice γ] {s : Set α} {t : Set β} {l : α → β → γ} {u₁ : β → γ → α} {u₂ : α → γ → β} (h₁ : ∀ (b : β), GaloisConnection (Function.swap l b) (u₁ b)) (h₂ : ∀ (a : α), GaloisConnection (l a) (u₂ a)) (hs₀ : s.Nonempty) (hs₁ : BddAbove s) (ht₀ : t.Nonempty) (ht₁ : BddAbove t)
Goal: sSup (Set.image2 l s t) = l (sSup s) (sSup t)
-- csSup_image2_eq_csSup_csInf
theorem csSup_image2_eq_csSup_csInf (h₁ : ∀ b, GaloisConnection (swap l b) (u₁ b))
    (h₂ : ∀ a, GaloisConnection (l a ∘ ofDual) (toDual ∘ u₂ a)) :
    s.Nonempty → BddAbove s → t.Nonempty → BddBelow t → sSup (image2 l s t) = l (sSup s) (sInf t) 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} [ConditionallyCompleteLattice α] [ConditionallyCompleteLattice β] [ConditionallyCompleteLattice γ] {s : Set α} {t : Set β} {l : α → β → γ} {u₁ : β → γ → α} {u₂ : α → γ → β} (h₁ : ∀ (b : β), GaloisConnection (Function.swap l b) (u₁ b)) (h₂ : ∀ (a : α), GaloisConnection (l a ∘ ⇑OrderDual.ofDual) (⇑OrderDual.toDual ∘ u₂ a))
Goal: s.Nonempty → BddAbove s → t.Nonempty → BddBelow t → sSup (Set.image2 l s t) = l (sSup s) (sInf t)
-- csSup_image2_eq_csInf_csSup
theorem csSup_image2_eq_csInf_csSup (h₁ : ∀ b, GaloisConnection (swap l b ∘ ofDual) (toDual ∘ u₁ b))
    (h₂ : ∀ a, GaloisConnection (l a) (u₂ a)) :
    s.Nonempty → BddBelow s → t.Nonempty → BddAbove t → sSup (image2 l s t) = l (sInf s) (sSup t) 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} [ConditionallyCompleteLattice α] [ConditionallyCompleteLattice β] [ConditionallyCompleteLattice γ] {s : Set α} {t : Set β} {l : α → β → γ} {u₁ : β → γ → α} {u₂ : α → γ → β} (h₁ : ∀ (b : β), GaloisConnection (Function.swap l b ∘ ⇑OrderDual.ofDual) (⇑OrderDual.toDual ∘ u₁ b)) (h₂ : ∀ (a : α), GaloisConnection (l a) (u₂ a))
Goal: s.Nonempty → BddBelow s → t.Nonempty → BddAbove t → sSup (Set.image2 l s t) = l (sInf s) (sSup t)
-- csSup_image2_eq_csInf_csInf
theorem csSup_image2_eq_csInf_csInf (h₁ : ∀ b, GaloisConnection (swap l b ∘ ofDual) (toDual ∘ u₁ b))
    (h₂ : ∀ a, GaloisConnection (l a ∘ ofDual) (toDual ∘ u₂ a)) :
    s.Nonempty → BddBelow s → t.Nonempty → BddBelow t → sSup (image2 l s t) = l (sInf s) (sInf t) 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} [ConditionallyCompleteLattice α] [ConditionallyCompleteLattice β] [ConditionallyCompleteLattice γ] {s : Set α} {t : Set β} {l : α → β → γ} {u₁ : β → γ → α} {u₂ : α → γ → β} (h₁ : ∀ (b : β), GaloisConnection (Function.swap l b ∘ ⇑OrderDual.ofDual) (⇑OrderDual.toDual ∘ u₁ b)) (h₂ : ∀ (a : α), GaloisConnection (l a ∘ ⇑OrderDual.ofDual) (⇑OrderDual.toDual ∘ u₂ a))
Goal: s.Nonempty → BddBelow s → t.Nonempty → BddBelow t → sSup (Set.image2 l s t) = l (sInf s) (sInf t)
-- csInf_image2_eq_csInf_csInf
theorem csInf_image2_eq_csInf_csInf (h₁ : ∀ b, GaloisConnection (l₁ b) (swap u b))
    (h₂ : ∀ a, GaloisConnection (l₂ a) (u a)) :
    s.Nonempty → BddBelow s → t.Nonempty → BddBelow t → sInf (image2 u s t) = u (sInf s) (sInf t) 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} [ConditionallyCompleteLattice α] [ConditionallyCompleteLattice β] [ConditionallyCompleteLattice γ] {s : Set α} {t : Set β} {u : α → β → γ} {l₁ : β → γ → α} {l₂ : α → γ → β} (h₁ : ∀ (b : β), GaloisConnection (l₁ b) (Function.swap u b)) (h₂ : ∀ (a : α), GaloisConnection (l₂ a) (u a))
Goal: s.Nonempty → BddBelow s → t.Nonempty → BddBelow t → sInf (Set.image2 u s t) = u (sInf s) (sInf t)
-- csInf_image2_eq_csInf_csSup
theorem csInf_image2_eq_csInf_csSup (h₁ : ∀ b, GaloisConnection (l₁ b) (swap u b))
    (h₂ : ∀ a, GaloisConnection (toDual ∘ l₂ a) (u a ∘ ofDual)) :
    s.Nonempty → BddBelow s → t.Nonempty → BddAbove t → sInf (image2 u s t) = u (sInf s) (sSup t) 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} [ConditionallyCompleteLattice α] [ConditionallyCompleteLattice β] [ConditionallyCompleteLattice γ] {s : Set α} {t : Set β} {u : α → β → γ} {l₁ : β → γ → α} {l₂ : α → γ → β} (h₁ : ∀ (b : β), GaloisConnection (l₁ b) (Function.swap u b)) (h₂ : ∀ (a : α), GaloisConnection (⇑OrderDual.toDual ∘ l₂ a) (u a ∘ ⇑OrderDual.ofDual))
Goal: s.Nonempty → BddBelow s → t.Nonempty → BddAbove t → sInf (Set.image2 u s t) = u (sInf s) (sSup t)
-- csInf_image2_eq_csSup_csInf
theorem csInf_image2_eq_csSup_csInf (h₁ : ∀ b, GaloisConnection (toDual ∘ l₁ b) (swap u b ∘ ofDual))
    (h₂ : ∀ a, GaloisConnection (l₂ a) (u a)) :
    s.Nonempty → BddAbove s → t.Nonempty → BddBelow t → sInf (image2 u s t) = u (sSup s) (sInf t) 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} [ConditionallyCompleteLattice α] [ConditionallyCompleteLattice β] [ConditionallyCompleteLattice γ] {s : Set α} {t : Set β} {u : α → β → γ} {l₁ : β → γ → α} {l₂ : α → γ → β} (h₁ : ∀ (b : β), GaloisConnection (⇑OrderDual.toDual ∘ l₁ b) (Function.swap u b ∘ ⇑OrderDual.ofDual)) (h₂ : ∀ (a : α), GaloisConnection (l₂ a) (u a))
Goal: s.Nonempty → BddAbove s → t.Nonempty → BddBelow t → sInf (Set.image2 u s t) = u (sSup s) (sInf t)
-- csInf_image2_eq_csSup_csSup
theorem csInf_image2_eq_csSup_csSup (h₁ : ∀ b, GaloisConnection (toDual ∘ l₁ b) (swap u b ∘ ofDual))
    (h₂ : ∀ a, GaloisConnection (toDual ∘ l₂ a) (u a ∘ ofDual)) :
    s.Nonempty → BddAbove s → t.Nonempty → BddAbove t → sInf (image2 u s t) = u (sSup s) (sSup t) 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} [ConditionallyCompleteLattice α] [ConditionallyCompleteLattice β] [ConditionallyCompleteLattice γ] {s : Set α} {t : Set β} {u : α → β → γ} {l₁ : β → γ → α} {l₂ : α → γ → β} (h₁ : ∀ (b : β), GaloisConnection (⇑OrderDual.toDual ∘ l₁ b) (Function.swap u b ∘ ⇑OrderDual.ofDual)) (h₂ : ∀ (a : α), GaloisConnection (⇑OrderDual.toDual ∘ l₂ a) (u a ∘ ⇑OrderDual.ofDual))
Goal: s.Nonempty → BddAbove s → t.Nonempty → BddAbove t → sInf (Set.image2 u s t) = u (sSup s) (sSup t)
-- WithTop.iSup_coe_eq_top
lemma iSup_coe_eq_top : ⨆ x, (f x : WithTop α) = ⊤ ↔ ¬BddAbove (range f) 
Arguments: {α : Type u_1} {ι : Sort u_4} [ConditionallyCompleteLinearOrderBot α] {f : ι → α}
Goal: ⨆ x, ↑(f x) = ⊤ ↔ ¬BddAbove (Set.range f)
-- WithTop.iSup_coe_lt_top
lemma iSup_coe_lt_top : ⨆ x, (f x : WithTop α) < ⊤ ↔ BddAbove (range f) 
Arguments: {α : Type u_1} {ι : Sort u_4} [ConditionallyCompleteLinearOrderBot α] {f : ι → α}
Goal: ⨆ x, ↑(f x) < ⊤ ↔ BddAbove (Set.range f)
-- WithTop.iInf_coe_eq_top
lemma iInf_coe_eq_top : ⨅ x, (f x : WithTop α) = ⊤ ↔ IsEmpty ι 
Arguments: {α : Type u_1} {ι : Sort u_4} [ConditionallyCompleteLinearOrderBot α] {f : ι → α}
Goal: ⨅ x, ↑(f x) = ⊤ ↔ IsEmpty ι
-- WithTop.iInf_coe_lt_top
lemma iInf_coe_lt_top : ⨅ i, (f i : WithTop α) < ⊤ ↔ Nonempty ι 
Arguments: {α : Type u_1} {ι : Sort u_4} [ConditionallyCompleteLinearOrderBot α] {f : ι → α}
Goal: ⨅ i, ↑(f i) < ⊤ ↔ Nonempty ι
-- Prod.gameAdd_iff
theorem gameAdd_iff {rα rβ} {x y : α × β} :
    GameAdd rα rβ x y ↔ rα x.1 y.1 ∧ x.2 = y.2 ∨ rβ x.2 y.2 ∧ x.1 = y.1 
Arguments: {α : Type u_1} {β : Type u_2} {rα : α → α → Prop} {rβ : β → β → Prop} {x y : α × β}
Goal: Prod.GameAdd rα rβ x y ↔ rα x.1 y.1 ∧ x.2 = y.2 ∨ rβ x.2 y.2 ∧ x.1 = y.1
-- Prod.gameAdd_mk_iff
theorem gameAdd_mk_iff {rα rβ} {a₁ a₂ : α} {b₁ b₂ : β} :
    GameAdd rα rβ (a₁, b₁) (a₂, b₂) ↔ rα a₁ a₂ ∧ b₁ = b₂ ∨ rβ b₁ b₂ ∧ a₁ = a₂ 
Arguments: {α : Type u_1} {β : Type u_2} {rα : α → α → Prop} {rβ : β → β → Prop} {a₁ a₂ : α} {b₁ b₂ : β}
Goal: Prod.GameAdd rα rβ (a₁, b₁) (a₂, b₂) ↔ rα a₁ a₂ ∧ b₁ = b₂ ∨ rβ b₁ b₂ ∧ a₁ = a₂
-- Prod.gameAdd_swap_swap
@[simp]
theorem gameAdd_swap_swap : ∀ a b : α × β, GameAdd rβ rα a.swap b.swap ↔ GameAdd rα rβ a b 
Arguments: {α : Type u_1} {β : Type u_2} (rα : α → α → Prop) (rβ : β → β → Prop) (a b : α × β)
Goal: Prod.GameAdd rβ rα a.swap b.swap ↔ Prod.GameAdd rα rβ a b
-- Prod.gameAdd_swap_swap_mk
theorem gameAdd_swap_swap_mk (a₁ a₂ : α) (b₁ b₂ : β) :
    GameAdd rα rβ (a₁, b₁) (a₂, b₂) ↔ GameAdd rβ rα (b₁, a₁) (b₂, a₂) 
Arguments: {α : Type u_1} {β : Type u_2} (rα : α → α → Prop) (rβ : β → β → Prop) (a₁ a₂ : α) (b₁ b₂ : β)
Goal: Prod.GameAdd rα rβ (a₁, b₁) (a₂, b₂) ↔ Prod.GameAdd rβ rα (b₁, a₁) (b₂, a₂)
-- Prod.gameAdd_le_lex
theorem gameAdd_le_lex : GameAdd rα rβ ≤ Prod.Lex rα rβ 
Arguments: {α : Type u_1} {β : Type u_2} (rα : α → α → Prop) (rβ : β → β → Prop)
Goal: Prod.GameAdd rα rβ ≤ Prod.Lex rα rβ
-- Prod.rprod_le_transGen_gameAdd
theorem rprod_le_transGen_gameAdd : RProd rα rβ ≤ Relation.TransGen (GameAdd rα rβ)
  
Arguments: {α : Type u_1} {β : Type u_2} (rα : α → α → Prop) (rβ : β → β → Prop)
Goal: Prod.RProd rα rβ ≤ Relation.TransGen (Prod.GameAdd rα rβ)
-- Acc.prod_gameAdd
theorem Acc.prod_gameAdd (ha : Acc rα a) (hb : Acc rβ b) :
    Acc (Prod.GameAdd rα rβ) (a, b) 
Arguments: {α : Type u_1} {β : Type u_2} {rα : α → α → Prop} {rβ : β → β → Prop} {a : α} {b : β} (ha : Acc rα a) (hb : Acc rβ b)
Goal: Acc (Prod.GameAdd rα rβ) (a, b)
-- WellFounded.prod_gameAdd
theorem WellFounded.prod_gameAdd (hα : WellFounded rα) (hβ : WellFounded rβ) :
    WellFounded (Prod.GameAdd rα rβ) 
Arguments: {α : Type u_1} {β : Type u_2} {rα : α → α → Prop} {rβ : β → β → Prop} (hα : WellFounded rα) (hβ : WellFounded rβ)
Goal: WellFounded (Prod.GameAdd rα rβ)
-- Prod.GameAdd.fix_eq
theorem GameAdd.fix_eq {C : α → β → Sort*} (hα : WellFounded rα) (hβ : WellFounded rβ)
    (IH : ∀ a₁ b₁, (∀ a₂ b₂, GameAdd rα rβ (a₂, b₂) (a₁, b₁) → C a₂ b₂) → C a₁ b₁) (a : α) (b : β) :
    GameAdd.fix hα hβ IH a b = IH a b fun a' b' _ => GameAdd.fix hα hβ IH a' b' 
Arguments: {α : Type u_1} {β : Type u_2} {rα : α → α → Prop} {rβ : β → β → Prop} {C : α → β → Sort u_3} (hα : WellFounded rα) (hβ : WellFounded rβ) (IH : (a₁ : α) → (b₁ : β) → ((a₂ : α) → (b₂ : β) → Prod.GameAdd rα rβ (a₂, b₂) (a₁, b₁) → C a₂ b₂) → C a₁ b₁) (a : α) (b : β)
Goal: Prod.GameAdd.fix hα hβ IH a b = IH a b fun a' b' x => Prod.GameAdd.fix hα hβ IH a' b'
-- Prod.GameAdd.induction
theorem GameAdd.induction {C : α → β → Prop} :
    WellFounded rα →
      WellFounded rβ →
        (∀ a₁ b₁, (∀ a₂ b₂, GameAdd rα rβ (a₂, b₂) (a₁, b₁) → C a₂ b₂) → C a₁ b₁) → ∀ a b, C a b 
Arguments: {α : Type u_1} {β : Type u_2} {rα : α → α → Prop} {rβ : β → β → Prop} {C : α → β → Prop}
Goal: WellFounded rα →
  WellFounded rβ →
    (∀ (a₁ : α) (b₁ : β), (∀ (a₂ : α) (b₂ : β), Prod.GameAdd rα rβ (a₂, b₂) (a₁, b₁) → C a₂ b₂) → C a₁ b₁) →
      ∀ (a : α) (b : β), C a b
-- Sym2.gameAdd_iff
theorem gameAdd_iff : ∀ {x y : α × α},
    GameAdd rα (Sym2.mk x) (Sym2.mk y) ↔ Prod.GameAdd rα rα x y ∨ Prod.GameAdd rα rα x.swap y 
Arguments: {α : Type u_1} {rα : α → α → Prop} {x y : α × α}
Goal: Sym2.GameAdd rα (Sym2.mk x) (Sym2.mk y) ↔ Prod.GameAdd rα rα x y ∨ Prod.GameAdd rα rα x.swap y
-- Sym2.gameAdd_mk'_iff
theorem gameAdd_mk'_iff {a₁ a₂ b₁ b₂ : α} :
    GameAdd rα s(a₁, b₁) s(a₂, b₂) ↔
      Prod.GameAdd rα rα (a₁, b₁) (a₂, b₂) ∨ Prod.GameAdd rα rα (b₁, a₁) (a₂, b₂) 
Arguments: {α : Type u_1} {rα : α → α → Prop} {a₁ a₂ b₁ b₂ : α}
Goal: Sym2.GameAdd rα s(a₁, b₁) s(a₂, b₂) ↔ Prod.GameAdd rα rα (a₁, b₁) (a₂, b₂) ∨ Prod.GameAdd rα rα (b₁, a₁) (a₂, b₂)
-- Prod.GameAdd.to_sym2
theorem _root_.Prod.GameAdd.to_sym2 {a₁ a₂ b₁ b₂ : α} (h : Prod.GameAdd rα rα (a₁, b₁) (a₂, b₂)) :
    Sym2.GameAdd rα s(a₁, b₁) s(a₂, b₂) 
Arguments: {α : Type u_1} {rα : α → α → Prop} {a₁ a₂ b₁ b₂ : α} (h : Prod.GameAdd rα rα (a₁, b₁) (a₂, b₂))
Goal: Sym2.GameAdd rα s(a₁, b₁) s(a₂, b₂)
-- Sym2.GameAdd.fst
theorem GameAdd.fst {a₁ a₂ b : α} (h : rα a₁ a₂) : GameAdd rα s(a₁, b) s(a₂, b) 
Arguments: {α : Type u_1} {rα : α → α → Prop} {a₁ a₂ b : α} (h : rα a₁ a₂)
Goal: Sym2.GameAdd rα s(a₁, b) s(a₂, b)
-- Sym2.GameAdd.snd
theorem GameAdd.snd {a b₁ b₂ : α} (h : rα b₁ b₂) : GameAdd rα s(a, b₁) s(a, b₂) 
Arguments: {α : Type u_1} {rα : α → α → Prop} {a b₁ b₂ : α} (h : rα b₁ b₂)
Goal: Sym2.GameAdd rα s(a, b₁) s(a, b₂)
-- Sym2.GameAdd.fst_snd
theorem GameAdd.fst_snd {a₁ a₂ b : α} (h : rα a₁ a₂) : GameAdd rα s(a₁, b) s(b, a₂) 
Arguments: {α : Type u_1} {rα : α → α → Prop} {a₁ a₂ b : α} (h : rα a₁ a₂)
Goal: Sym2.GameAdd rα s(a₁, b) s(b, a₂)
-- Sym2.GameAdd.snd_fst
theorem GameAdd.snd_fst {a₁ a₂ b : α} (h : rα a₁ a₂) : GameAdd rα s(b, a₁) s(a₂, b) 
Arguments: {α : Type u_1} {rα : α → α → Prop} {a₁ a₂ b : α} (h : rα a₁ a₂)
Goal: Sym2.GameAdd rα s(b, a₁) s(a₂, b)
-- Acc.sym2_gameAdd
theorem Acc.sym2_gameAdd {a b} (ha : Acc rα a) (hb : Acc rα b) :
    Acc (Sym2.GameAdd rα) s(a, b) 
Arguments: {α : Type u_1} {rα : α → α → Prop} {a b : α} (ha : Acc rα a) (hb : Acc rα b)
Goal: Acc (Sym2.GameAdd rα) s(a, b)
-- WellFounded.sym2_gameAdd
theorem WellFounded.sym2_gameAdd (h : WellFounded rα) : WellFounded (Sym2.GameAdd rα) 
Arguments: {α : Type u_1} {rα : α → α → Prop} (h : WellFounded rα)
Goal: WellFounded (Sym2.GameAdd rα)
-- Sym2.GameAdd.fix_eq
theorem GameAdd.fix_eq {C : α → α → Sort*} (hr : WellFounded rα)
    (IH : ∀ a₁ b₁, (∀ a₂ b₂, Sym2.GameAdd rα s(a₂, b₂) s(a₁, b₁) → C a₂ b₂) → C a₁ b₁) (a b : α) :
    GameAdd.fix hr IH a b = IH a b fun a' b' _ => GameAdd.fix hr IH a' b' 
Arguments: {α : Type u_1} {rα : α → α → Prop} {C : α → α → Sort u_3} (hr : WellFounded rα) (IH : (a₁ b₁ : α) → ((a₂ b₂ : α) → Sym2.GameAdd rα s(a₂, b₂) s(a₁, b₁) → C a₂ b₂) → C a₁ b₁) (a b : α)
Goal: Sym2.GameAdd.fix hr IH a b = IH a b fun a' b' x => Sym2.GameAdd.fix hr IH a' b'
-- Sym2.GameAdd.induction
theorem GameAdd.induction {C : α → α → Prop} :
    WellFounded rα →
      (∀ a₁ b₁, (∀ a₂ b₂, Sym2.GameAdd rα s(a₂, b₂) s(a₁, b₁) → C a₂ b₂) → C a₁ b₁) →
        ∀ a b, C a b 
Arguments: {α : Type u_1} {rα C : α → α → Prop}
Goal: WellFounded rα →
  (∀ (a₁ b₁ : α), (∀ (a₂ b₂ : α), Sym2.GameAdd rα s(a₂, b₂) s(a₁, b₁) → C a₂ b₂) → C a₁ b₁) → ∀ (a b : α), C a b
-- CompleteSublattice.sSupClosed'
structure CompleteSublattice extends Sublattice α where
  sSupClosed' : ∀ ⦃s : Set α⦄, s ⊆ carrier → sSup s ∈ carrier
  sInfClosed' : ∀ ⦃s : Set α⦄, s ⊆ carrier → sInf s ∈ carrier
Arguments: {α : Type u_1} [CompleteLattice α] (self : CompleteSublattice α) ⦃s : Set α⦄
Goal: s ⊆ self.carrier → sSup s ∈ self.carrier
-- CompleteSublattice.sInfClosed'
structure CompleteSublattice extends Sublattice α where
  sSupClosed' : ∀ ⦃s : Set α⦄, s ⊆ carrier → sSup s ∈ carrier
  sInfClosed' : ∀ ⦃s : Set α⦄, s ⊆ carrier → sInf s ∈ carrier
Arguments: {α : Type u_1} [CompleteLattice α] (self : CompleteSublattice α) ⦃s : Set α⦄
Goal: s ⊆ self.carrier → sInf s ∈ self.carrier
-- CompleteSublattice.mk'_carrier
@[simps] def mk' (carrier : Set α)
    (sSupClosed' : ∀ ⦃s : Set α⦄, s ⊆ carrier → sSup s ∈ carrier)
    (sInfClosed' : ∀ ⦃s : Set α⦄, s ⊆ carrier → sInf s ∈ carrier) :
  CompleteSublattice α 
Arguments: {α : Type u_1} [CompleteLattice α] (carrier : Set α) (sSupClosed' : ∀ ⦃s : Set α⦄, s ⊆ carrier → sSup s ∈ carrier) (sInfClosed' : ∀ ⦃s : Set α⦄, s ⊆ carrier → sInf s ∈ carrier)
Goal: (CompleteSublattice.mk' carrier sSupClosed' sInfClosed').carrier = carrier
-- CompleteSublattice.sSupClosed
theorem sSupClosed {s : Set α} (h : s ⊆ L) : sSup s ∈ L 
Arguments: {α : Type u_1} [CompleteLattice α] {L : CompleteSublattice α} {s : Set α} (h : s ⊆ ↑L)
Goal: sSup s ∈ L
-- CompleteSublattice.sInfClosed
theorem sInfClosed {s : Set α} (h : s ⊆ L) : sInf s ∈ L 
Arguments: {α : Type u_1} [CompleteLattice α] {L : CompleteSublattice α} {s : Set α} (h : s ⊆ ↑L)
Goal: sInf s ∈ L
-- CompleteSublattice.coe_bot
@[simp] theorem coe_bot : (↑(⊥ : L) : α) = ⊥ 
Arguments: {α : Type u_1} [CompleteLattice α] {L : CompleteSublattice α}
Goal: ↑⊥ = ⊥
-- CompleteSublattice.coe_top
@[simp] theorem coe_top : (↑(⊤ : L) : α) = ⊤ 
Arguments: {α : Type u_1} [CompleteLattice α] {L : CompleteSublattice α}
Goal: ↑⊤ = ⊤
-- CompleteSublattice.coe_sSup
@[simp] theorem coe_sSup (S : Set L) : (↑(sSup S) : α) = sSup {(s : α) | s ∈ S} 
Arguments: {α : Type u_1} [CompleteLattice α] {L : CompleteSublattice α} (S : Set ↥L)
Goal: ↑(sSup S) = sSup {x | ∃ s ∈ S, ↑s = x}
-- CompleteSublattice.coe_sSup'
theorem coe_sSup' (S : Set L) : (↑(sSup S) : α) = ⨆ N ∈ S, (N : α) 
Arguments: {α : Type u_1} [CompleteLattice α] {L : CompleteSublattice α} (S : Set ↥L)
Goal: ↑(sSup S) = ⨆ N ∈ S, ↑N
-- CompleteSublattice.coe_sInf
@[simp] theorem coe_sInf (S : Set L) : (↑(sInf S) : α) = sInf {(s : α) | s ∈ S} 
Arguments: {α : Type u_1} [CompleteLattice α] {L : CompleteSublattice α} (S : Set ↥L)
Goal: ↑(sInf S) = sInf {x | ∃ s ∈ S, ↑s = x}
-- CompleteSublattice.coe_sInf'
theorem coe_sInf' (S : Set L) : (↑(sInf S) : α) = ⨅ N ∈ S, (N : α) 
Arguments: {α : Type u_1} [CompleteLattice α] {L : CompleteSublattice α} (S : Set ↥L)
Goal: ↑(sInf S) = ⨅ N ∈ S, ↑N
-- CompleteSublattice.map_carrier
@[simps] def map (L : CompleteSublattice α) : CompleteSublattice β 
Arguments: {α : Type u_1} {β : Type u_2} [CompleteLattice α] [CompleteLattice β] (f : CompleteLatticeHom α β) (L : CompleteSublattice α)
Goal: (CompleteSublattice.map f L).carrier = ⇑f '' ↑L
-- CompleteSublattice.mem_map
@[simp] theorem mem_map {b : β} : b ∈ L.map f ↔ ∃ a ∈ L, f a = b 
Arguments: {α : Type u_1} {β : Type u_2} [CompleteLattice α] [CompleteLattice β] (f : CompleteLatticeHom α β) {L : CompleteSublattice α} {b : β}
Goal: b ∈ CompleteSublattice.map f L ↔ ∃ a ∈ L, f a = b
-- CompleteSublattice.comap_carrier
@[simps] def comap (L : CompleteSublattice β) : CompleteSublattice α 
Arguments: {α : Type u_1} {β : Type u_2} [CompleteLattice α] [CompleteLattice β] (f : CompleteLatticeHom α β) (L : CompleteSublattice β)
Goal: (CompleteSublattice.comap f L).carrier = ⇑f ⁻¹' ↑L
-- CompleteSublattice.mem_comap
@[simp] theorem mem_comap {L : CompleteSublattice β} {a : α} : a ∈ L.comap f ↔ f a ∈ L 
Arguments: {α : Type u_1} {β : Type u_2} [CompleteLattice α] [CompleteLattice β] (f : CompleteLatticeHom α β) {L : CompleteSublattice β} {a : α}
Goal: a ∈ CompleteSublattice.comap f L ↔ f a ∈ L
-- CompleteSublattice.disjoint_iff
protected lemma disjoint_iff {a b : L} :
    Disjoint a b ↔ Disjoint (a : α) (b : α) 
Arguments: {α : Type u_1} [CompleteLattice α] {L : CompleteSublattice α} {a b : ↥L}
Goal: Disjoint a b ↔ Disjoint ↑a ↑b
-- CompleteSublattice.codisjoint_iff
protected lemma codisjoint_iff {a b : L} :
    Codisjoint a b ↔ Codisjoint (a : α) (b : α) 
Arguments: {α : Type u_1} [CompleteLattice α] {L : CompleteSublattice α} {a b : ↥L}
Goal: Codisjoint a b ↔ Codisjoint ↑a ↑b
-- CompleteSublattice.isCompl_iff
protected lemma isCompl_iff {a b : L} :
    IsCompl a b ↔ IsCompl (a : α) (b : α) 
Arguments: {α : Type u_1} [CompleteLattice α] {L : CompleteSublattice α} {a b : ↥L}
Goal: IsCompl a b ↔ IsCompl ↑a ↑b
-- CompleteSublattice.isComplemented_iff
lemma isComplemented_iff : ComplementedLattice L ↔ ∀ a ∈ L, ∃ b ∈ L, IsCompl a b 
Arguments: {α : Type u_1} [CompleteLattice α] {L : CompleteSublattice α}
Goal: ComplementedLattice ↥L ↔ ∀ a ∈ L, ∃ b ∈ L, IsCompl a b
-- CompleteSublattice.coe_copy
@[simp, norm_cast] lemma coe_copy (s : Set α) (hs) : L.copy s hs = s 
Arguments: {α : Type u_1} [CompleteLattice α] (L : CompleteSublattice α) (s : Set α) (hs : s = ↑L)
Goal: ↑(L.copy s hs) = s
-- CompleteSublattice.copy_eq
lemma copy_eq (s : Set α) (hs) : L.copy s hs = L 
Arguments: {α : Type u_1} [CompleteLattice α] (L : CompleteSublattice α) (s : Set α) (hs : s = ↑L)
Goal: L.copy s hs = L
-- CompleteLatticeHom.range_coe
theorem range_coe : (f.range : Set β) = range f 
Arguments: {α : Type u_1} {β : Type u_2} [CompleteLattice α] [CompleteLattice β] (f : CompleteLatticeHom α β)
Goal: ↑f.range = Set.range ⇑f
-- CompleteLatticeHom.toOrderIsoRangeOfInjective_apply
@[simps! apply] noncomputable def toOrderIsoRangeOfInjective (hf : Injective f) : α ≃o f.range 
Arguments: {α : Type u_1} {β : Type u_2} [CompleteLattice α] [CompleteLattice β] (f : CompleteLatticeHom α β) (hf : Function.Injective ⇑f) (a : α)
Goal: (f.toOrderIsoRangeOfInjective hf) a = ⟨f a, ⋯⟩
-- Booleanisation.compl_lift
@[simp] lemma compl_lift (a : α) : (lift a)ᶜ = comp a 
Arguments: {α : Type u_1} (a : α)
Goal: (Booleanisation.lift a)ᶜ = Booleanisation.comp a
-- Booleanisation.compl_comp
@[simp] lemma compl_comp (a : α) : (comp a)ᶜ = lift a 
Arguments: {α : Type u_1} (a : α)
Goal: (Booleanisation.comp a)ᶜ = Booleanisation.lift a
-- Booleanisation.lift_le_lift
@[simp] lemma lift_le_lift : lift a ≤ lift b ↔ a ≤ b 
Arguments: {α : Type u_1} [GeneralizedBooleanAlgebra α] {a b : α}
Goal: Booleanisation.lift a ≤ Booleanisation.lift b ↔ a ≤ b
-- Booleanisation.comp_le_comp
@[simp] lemma comp_le_comp : comp a ≤ comp b ↔ b ≤ a 
Arguments: {α : Type u_1} [GeneralizedBooleanAlgebra α] {a b : α}
Goal: Booleanisation.comp a ≤ Booleanisation.comp b ↔ b ≤ a
-- Booleanisation.lift_le_comp
@[simp] lemma lift_le_comp : lift a ≤ comp b ↔ Disjoint a b 
Arguments: {α : Type u_1} [GeneralizedBooleanAlgebra α] {a b : α}
Goal: Booleanisation.lift a ≤ Booleanisation.comp b ↔ Disjoint a b
-- Booleanisation.not_comp_le_lift
@[simp] lemma not_comp_le_lift : ¬ comp a ≤ lift b 
Arguments: {α : Type u_1} [GeneralizedBooleanAlgebra α] {a b : α}
Goal: ¬Booleanisation.comp a ≤ Booleanisation.lift b
-- Booleanisation.lift_lt_lift
@[simp] lemma lift_lt_lift : lift a < lift b ↔ a < b 
Arguments: {α : Type u_1} [GeneralizedBooleanAlgebra α] {a b : α}
Goal: Booleanisation.lift a < Booleanisation.lift b ↔ a < b
-- Booleanisation.comp_lt_comp
@[simp] lemma comp_lt_comp : comp a < comp b ↔ b < a 
Arguments: {α : Type u_1} [GeneralizedBooleanAlgebra α] {a b : α}
Goal: Booleanisation.comp a < Booleanisation.comp b ↔ b < a