ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- lowerClosure_min
theorem lowerClosure_min (h : s ⊆ t) (ht : IsLowerSet t) : ↑(lowerClosure s) ⊆ t 
Arguments: {α : Type u_1} [Preorder α] {s t : Set α} (h : s ⊆ t) (ht : IsLowerSet t)
Goal: ↑(lowerClosure s) ⊆ t
-- IsUpperSet.upperClosure
protected theorem IsUpperSet.upperClosure (hs : IsUpperSet s) : ↑(upperClosure s) = s 
Arguments: {α : Type u_1} [Preorder α] {s : Set α} (hs : IsUpperSet s)
Goal: ↑(upperClosure s) = s
-- IsLowerSet.lowerClosure
protected theorem IsLowerSet.lowerClosure (hs : IsLowerSet s) : ↑(lowerClosure s) = s 
Arguments: {α : Type u_1} [Preorder α] {s : Set α} (hs : IsLowerSet s)
Goal: ↑(lowerClosure s) = s
-- UpperSet.upperClosure
@[simp]
protected theorem UpperSet.upperClosure (s : UpperSet α) : upperClosure (s : Set α) = s 
Arguments: {α : Type u_1} [Preorder α] (s : UpperSet α)
Goal: upperClosure ↑s = s
-- LowerSet.lowerClosure
@[simp]
protected theorem LowerSet.lowerClosure (s : LowerSet α) : lowerClosure (s : Set α) = s 
Arguments: {α : Type u_1} [Preorder α] (s : LowerSet α)
Goal: lowerClosure ↑s = s
-- upperClosure_image
@[simp]
theorem upperClosure_image (f : α ≃o β) :
    upperClosure (f '' s) = UpperSet.map f (upperClosure s) 
Arguments: {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] {s : Set α} (f : α ≃o β)
Goal: upperClosure (⇑f '' s) = (UpperSet.map f) (upperClosure s)
-- lowerClosure_image
@[simp]
theorem lowerClosure_image (f : α ≃o β) :
    lowerClosure (f '' s) = LowerSet.map f (lowerClosure s) 
Arguments: {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] {s : Set α} (f : α ≃o β)
Goal: lowerClosure (⇑f '' s) = (LowerSet.map f) (lowerClosure s)
-- UpperSet.iInf_Ici
@[simp]
theorem UpperSet.iInf_Ici (s : Set α) : ⨅ a ∈ s, UpperSet.Ici a = upperClosure s 
Arguments: {α : Type u_1} [Preorder α] (s : Set α)
Goal: ⨅ a ∈ s, UpperSet.Ici a = upperClosure s
-- LowerSet.iSup_Iic
@[simp]
theorem LowerSet.iSup_Iic (s : Set α) : ⨆ a ∈ s, LowerSet.Iic a = lowerClosure s 
Arguments: {α : Type u_1} [Preorder α] (s : Set α)
Goal: ⨆ a ∈ s, LowerSet.Iic a = lowerClosure s
-- lowerClosure_le
@[simp] lemma lowerClosure_le {t : LowerSet α} : lowerClosure s ≤ t ↔ s ⊆ t 
Arguments: {α : Type u_1} [Preorder α] {s : Set α} {t : LowerSet α}
Goal: lowerClosure s ≤ t ↔ s ⊆ ↑t
-- le_upperClosure
@[simp] lemma le_upperClosure {s : UpperSet α} : s ≤ upperClosure t ↔ t ⊆ s 
Arguments: {α : Type u_1} [Preorder α] {t : Set α} {s : UpperSet α}
Goal: s ≤ upperClosure t ↔ t ⊆ ↑s
-- gc_upperClosure_coe
theorem gc_upperClosure_coe :
    GaloisConnection (toDual ∘ upperClosure : Set α → (UpperSet α)ᵒᵈ) ((↑) ∘ ofDual) 
Arguments: {α : Type u_1} [Preorder α]
Goal: GaloisConnection (⇑OrderDual.toDual ∘ upperClosure) (SetLike.coe ∘ ⇑OrderDual.ofDual)
-- gc_lowerClosure_coe
theorem gc_lowerClosure_coe :
    GaloisConnection (lowerClosure : Set α → LowerSet α) (↑) 
Arguments: {α : Type u_1} [Preorder α]
Goal: GaloisConnection lowerClosure SetLike.coe
-- upperClosure_anti
theorem upperClosure_anti : Antitone (upperClosure : Set α → UpperSet α) 
Arguments: {α : Type u_1} [Preorder α]
Goal: Antitone upperClosure
-- lowerClosure_mono
theorem lowerClosure_mono : Monotone (lowerClosure : Set α → LowerSet α) 
Arguments: {α : Type u_1} [Preorder α]
Goal: Monotone lowerClosure
-- upperClosure_empty
@[simp]
theorem upperClosure_empty : upperClosure (∅ : Set α) = ⊤ 
Arguments: {α : Type u_1} [Preorder α]
Goal: upperClosure ∅ = ⊤
-- lowerClosure_empty
@[simp]
theorem lowerClosure_empty : lowerClosure (∅ : Set α) = ⊥ 
Arguments: {α : Type u_1} [Preorder α]
Goal: lowerClosure ∅ = ⊥
-- upperClosure_singleton
@[simp]
theorem upperClosure_singleton (a : α) : upperClosure ({a} : Set α) = UpperSet.Ici a 
Arguments: {α : Type u_1} [Preorder α] (a : α)
Goal: upperClosure {a} = UpperSet.Ici a
-- lowerClosure_singleton
@[simp]
theorem lowerClosure_singleton (a : α) : lowerClosure ({a} : Set α) = LowerSet.Iic a 
Arguments: {α : Type u_1} [Preorder α] (a : α)
Goal: lowerClosure {a} = LowerSet.Iic a
-- upperClosure_univ
@[simp]
theorem upperClosure_univ : upperClosure (univ : Set α) = ⊥ 
Arguments: {α : Type u_1} [Preorder α]
Goal: upperClosure Set.univ = ⊥
-- lowerClosure_univ
@[simp]
theorem lowerClosure_univ : lowerClosure (univ : Set α) = ⊤ 
Arguments: {α : Type u_1} [Preorder α]
Goal: lowerClosure Set.univ = ⊤
-- upperClosure_eq_top_iff
@[simp]
theorem upperClosure_eq_top_iff : upperClosure s = ⊤ ↔ s = ∅ 
Arguments: {α : Type u_1} [Preorder α] {s : Set α}
Goal: upperClosure s = ⊤ ↔ s = ∅
-- lowerClosure_eq_bot_iff
@[simp]
theorem lowerClosure_eq_bot_iff : lowerClosure s = ⊥ ↔ s = ∅ 
Arguments: {α : Type u_1} [Preorder α] {s : Set α}
Goal: lowerClosure s = ⊥ ↔ s = ∅
-- upperClosure_union
@[simp]
theorem upperClosure_union (s t : Set α) : upperClosure (s ∪ t) = upperClosure s ⊓ upperClosure t 
Arguments: {α : Type u_1} [Preorder α] (s t : Set α)
Goal: upperClosure (s ∪ t) = upperClosure s ⊓ upperClosure t
-- lowerClosure_union
@[simp]
theorem lowerClosure_union (s t : Set α) : lowerClosure (s ∪ t) = lowerClosure s ⊔ lowerClosure t 
Arguments: {α : Type u_1} [Preorder α] (s t : Set α)
Goal: lowerClosure (s ∪ t) = lowerClosure s ⊔ lowerClosure t
-- upperClosure_iUnion
@[simp]
theorem upperClosure_iUnion (f : ι → Set α) : upperClosure (⋃ i, f i) = ⨅ i, upperClosure (f i) 
Arguments: {α : Type u_1} {ι : Sort u_4} [Preorder α] (f : ι → Set α)
Goal: upperClosure (⋃ i, f i) = ⨅ i, upperClosure (f i)
-- lowerClosure_iUnion
@[simp]
theorem lowerClosure_iUnion (f : ι → Set α) : lowerClosure (⋃ i, f i) = ⨆ i, lowerClosure (f i) 
Arguments: {α : Type u_1} {ι : Sort u_4} [Preorder α] (f : ι → Set α)
Goal: lowerClosure (⋃ i, f i) = ⨆ i, lowerClosure (f i)
-- upperClosure_sUnion
@[simp]
theorem upperClosure_sUnion (S : Set (Set α)) : upperClosure (⋃₀ S) = ⨅ s ∈ S, upperClosure s 
Arguments: {α : Type u_1} [Preorder α] (S : Set (Set α))
Goal: upperClosure (⋃₀ S) = ⨅ s ∈ S, upperClosure s
-- lowerClosure_sUnion
@[simp]
theorem lowerClosure_sUnion (S : Set (Set α)) : lowerClosure (⋃₀ S) = ⨆ s ∈ S, lowerClosure s 
Arguments: {α : Type u_1} [Preorder α] (S : Set (Set α))
Goal: lowerClosure (⋃₀ S) = ⨆ s ∈ S, lowerClosure s
-- Set.OrdConnected.upperClosure_inter_lowerClosure
theorem Set.OrdConnected.upperClosure_inter_lowerClosure (h : s.OrdConnected) :
    ↑(upperClosure s) ∩ ↑(lowerClosure s) = s 
Arguments: {α : Type u_1} [Preorder α] {s : Set α} (h : s.OrdConnected)
Goal: ↑(upperClosure s) ∩ ↑(lowerClosure s) = s
-- ordConnected_iff_upperClosure_inter_lowerClosure
theorem ordConnected_iff_upperClosure_inter_lowerClosure :
    s.OrdConnected ↔ ↑(upperClosure s) ∩ ↑(lowerClosure s) = s 
Arguments: {α : Type u_1} [Preorder α] {s : Set α}
Goal: s.OrdConnected ↔ ↑(upperClosure s) ∩ ↑(lowerClosure s) = s
-- upperBounds_lowerClosure
@[simp]
theorem upperBounds_lowerClosure : upperBounds (lowerClosure s : Set α) = upperBounds s 
Arguments: {α : Type u_1} [Preorder α] {s : Set α}
Goal: upperBounds ↑(lowerClosure s) = upperBounds s
-- lowerBounds_upperClosure
@[simp]
theorem lowerBounds_upperClosure : lowerBounds (upperClosure s : Set α) = lowerBounds s 
Arguments: {α : Type u_1} [Preorder α] {s : Set α}
Goal: lowerBounds ↑(upperClosure s) = lowerBounds s
-- bddAbove_lowerClosure
@[simp]
theorem bddAbove_lowerClosure : BddAbove (lowerClosure s : Set α) ↔ BddAbove s 
Arguments: {α : Type u_1} [Preorder α] {s : Set α}
Goal: BddAbove ↑(lowerClosure s) ↔ BddAbove s
-- bddBelow_upperClosure
@[simp]
theorem bddBelow_upperClosure : BddBelow (upperClosure s : Set α) ↔ BddBelow s 
Arguments: {α : Type u_1} [Preorder α] {s : Set α}
Goal: BddBelow ↑(upperClosure s) ↔ BddBelow s
-- IsLowerSet.disjoint_upperClosure_left
@[simp] lemma IsLowerSet.disjoint_upperClosure_left (ht : IsLowerSet t) :
    Disjoint ↑(upperClosure s) t ↔ Disjoint s t 
Arguments: {α : Type u_1} [Preorder α] {s t : Set α} (ht : IsLowerSet t)
Goal: Disjoint (↑(upperClosure s)) t ↔ Disjoint s t
-- IsLowerSet.disjoint_upperClosure_right
@[simp] lemma IsLowerSet.disjoint_upperClosure_right (hs : IsLowerSet s) :
    Disjoint s (upperClosure t) ↔ Disjoint s t 
Arguments: {α : Type u_1} [Preorder α] {s t : Set α} (hs : IsLowerSet s)
Goal: Disjoint s ↑(upperClosure t) ↔ Disjoint s t
-- IsUpperSet.disjoint_lowerClosure_left
@[simp] lemma IsUpperSet.disjoint_lowerClosure_left (ht : IsUpperSet t) :
    Disjoint ↑(lowerClosure s) t ↔ Disjoint s t 
Arguments: {α : Type u_1} [Preorder α] {s t : Set α} (ht : IsUpperSet t)
Goal: Disjoint (↑(lowerClosure s)) t ↔ Disjoint s t
-- IsUpperSet.disjoint_lowerClosure_right
@[simp] lemma IsUpperSet.disjoint_lowerClosure_right (hs : IsUpperSet s) :
    Disjoint s (lowerClosure t) ↔ Disjoint s t 
Arguments: {α : Type u_1} [Preorder α] {s t : Set α} (hs : IsUpperSet s)
Goal: Disjoint s ↑(lowerClosure t) ↔ Disjoint s t
-- upperClosure_eq
@[simp] lemma upperClosure_eq :
    ↑(upperClosure s) = s ↔ IsUpperSet s 
Arguments: {α : Type u_1} [Preorder α] {s : Set α}
Goal: ↑(upperClosure s) = s ↔ IsUpperSet s
-- lowerClosure_eq
@[simp] lemma lowerClosure_eq :
    ↑(lowerClosure s) = s ↔ IsLowerSet s 
Arguments: {α : Type u_1} [Preorder α] {s : Set α}
Goal: ↑(lowerClosure s) = s ↔ IsLowerSet s
-- LowerSet.coe_sdiff
@[simp, norm_cast]
lemma coe_sdiff (s : LowerSet α) (t : Set α) : s.sdiff t = (s : Set α) \ upperClosure t 
Arguments: {α : Type u_1} [Preorder α] (s : LowerSet α) (t : Set α)
Goal: ↑(s.sdiff t) = ↑s \ ↑(upperClosure t)
-- LowerSet.coe_erase
@[simp, norm_cast]
lemma coe_erase (s : LowerSet α) (a : α) : s.erase a = (s : Set α) \ UpperSet.Ici a 
Arguments: {α : Type u_1} [Preorder α] (s : LowerSet α) (a : α)
Goal: ↑(s.erase a) = ↑s \ ↑(UpperSet.Ici a)
-- LowerSet.sdiff_singleton
@[simp] lemma sdiff_singleton (s : LowerSet α) (a : α) : s.sdiff {a} = s.erase a 
Arguments: {α : Type u_1} [Preorder α] (s : LowerSet α) (a : α)
Goal: s.sdiff {a} = s.erase a
-- LowerSet.sdiff_le_left
lemma sdiff_le_left : s.sdiff t ≤ s 
Arguments: {α : Type u_1} [Preorder α] {s : LowerSet α} {t : Set α}
Goal: s.sdiff t ≤ s
-- LowerSet.erase_le
lemma erase_le : s.erase a ≤ s 
Arguments: {α : Type u_1} [Preorder α] {s : LowerSet α} {a : α}
Goal: s.erase a ≤ s
-- LowerSet.sdiff_eq_left
@[simp] protected lemma sdiff_eq_left : s.sdiff t = s ↔ Disjoint ↑s t 
Arguments: {α : Type u_1} [Preorder α] {s : LowerSet α} {t : Set α}
Goal: s.sdiff t = s ↔ Disjoint (↑s) t
-- LowerSet.erase_eq
@[simp] lemma erase_eq : s.erase a = s ↔ a ∉ s 
Arguments: {α : Type u_1} [Preorder α] {s : LowerSet α} {a : α}
Goal: s.erase a = s ↔ a ∉ s
-- LowerSet.sdiff_lt_left
@[simp] lemma sdiff_lt_left : s.sdiff t < s ↔ ¬ Disjoint ↑s t 
Arguments: {α : Type u_1} [Preorder α] {s : LowerSet α} {t : Set α}
Goal: s.sdiff t < s ↔ ¬Disjoint (↑s) t
-- LowerSet.erase_lt
@[simp] lemma erase_lt : s.erase a < s ↔ a ∈ s 
Arguments: {α : Type u_1} [Preorder α] {s : LowerSet α} {a : α}
Goal: s.erase a < s ↔ a ∈ s
-- LowerSet.sdiff_idem
@[simp] protected lemma sdiff_idem (s : LowerSet α) (t : Set α) : (s.sdiff t).sdiff t = s.sdiff t 
Arguments: {α : Type u_1} [Preorder α] (s : LowerSet α) (t : Set α)
Goal: (s.sdiff t).sdiff t = s.sdiff t
-- LowerSet.erase_idem
@[simp] lemma erase_idem (s : LowerSet α) (a : α) : (s.erase a).erase a = s.erase a 
Arguments: {α : Type u_1} [Preorder α] (s : LowerSet α) (a : α)
Goal: (s.erase a).erase a = s.erase a
-- LowerSet.sdiff_sup_lowerClosure
lemma sdiff_sup_lowerClosure (hts : t ⊆ s) (hst : ∀ b ∈ s, ∀ c ∈ t, c ≤ b → b ∈ t) :
    s.sdiff t ⊔ lowerClosure t = s 
Arguments: {α : Type u_1} [Preorder α] {s : LowerSet α} {t : Set α} (hts : t ⊆ ↑s) (hst : ∀ b ∈ s, ∀ c ∈ t, c ≤ b → b ∈ t)
Goal: s.sdiff t ⊔ lowerClosure t = s
-- LowerSet.lowerClosure_sup_sdiff
lemma lowerClosure_sup_sdiff (hts : t ⊆ s) (hst : ∀ b ∈ s, ∀ c ∈ t, c ≤ b → b ∈ t) :
    lowerClosure t ⊔ s.sdiff t = s 
Arguments: {α : Type u_1} [Preorder α] {s : LowerSet α} {t : Set α} (hts : t ⊆ ↑s) (hst : ∀ b ∈ s, ∀ c ∈ t, c ≤ b → b ∈ t)
Goal: lowerClosure t ⊔ s.sdiff t = s
-- LowerSet.erase_sup_Iic
lemma erase_sup_Iic (ha : a ∈ s) (has : ∀ b ∈ s, a ≤ b → b = a) : s.erase a ⊔ Iic a = s 
Arguments: {α : Type u_1} [Preorder α] {s : LowerSet α} {a : α} (ha : a ∈ s) (has : ∀ b ∈ s, a ≤ b → b = a)
Goal: s.erase a ⊔ LowerSet.Iic a = s
-- LowerSet.Iic_sup_erase
lemma Iic_sup_erase (ha : a ∈ s) (has : ∀ b ∈ s, a ≤ b → b = a) : Iic a ⊔ s.erase a = s 
Arguments: {α : Type u_1} [Preorder α] {s : LowerSet α} {a : α} (ha : a ∈ s) (has : ∀ b ∈ s, a ≤ b → b = a)
Goal: LowerSet.Iic a ⊔ s.erase a = s
-- UpperSet.coe_sdiff
@[simp, norm_cast]
lemma coe_sdiff (s : UpperSet α) (t : Set α) : s.sdiff t = (s : Set α) \ lowerClosure t 
Arguments: {α : Type u_1} [Preorder α] (s : UpperSet α) (t : Set α)
Goal: ↑(s.sdiff t) = ↑s \ ↑(lowerClosure t)
-- UpperSet.coe_erase
@[simp, norm_cast]
lemma coe_erase (s : UpperSet α) (a : α) : s.erase a = (s : Set α) \ LowerSet.Iic a 
Arguments: {α : Type u_1} [Preorder α] (s : UpperSet α) (a : α)
Goal: ↑(s.erase a) = ↑s \ ↑(LowerSet.Iic a)
-- UpperSet.sdiff_singleton
@[simp] lemma sdiff_singleton (s : UpperSet α) (a : α) : s.sdiff {a} = s.erase a 
Arguments: {α : Type u_1} [Preorder α] (s : UpperSet α) (a : α)
Goal: s.sdiff {a} = s.erase a
-- UpperSet.le_sdiff_left
lemma le_sdiff_left : s ≤ s.sdiff t 
Arguments: {α : Type u_1} [Preorder α] {s : UpperSet α} {t : Set α}
Goal: s ≤ s.sdiff t
-- UpperSet.le_erase
lemma le_erase : s ≤ s.erase a 
Arguments: {α : Type u_1} [Preorder α] {s : UpperSet α} {a : α}
Goal: s ≤ s.erase a
-- UpperSet.sdiff_eq_left
@[simp] protected lemma sdiff_eq_left : s.sdiff t = s ↔ Disjoint ↑s t 
Arguments: {α : Type u_1} [Preorder α] {s : UpperSet α} {t : Set α}
Goal: s.sdiff t = s ↔ Disjoint (↑s) t
-- UpperSet.erase_eq
@[simp] lemma erase_eq : s.erase a = s ↔ a ∉ s 
Arguments: {α : Type u_1} [Preorder α] {s : UpperSet α} {a : α}
Goal: s.erase a = s ↔ a ∉ s
-- UpperSet.lt_sdiff_left
@[simp] lemma lt_sdiff_left : s < s.sdiff t ↔ ¬ Disjoint ↑s t 
Arguments: {α : Type u_1} [Preorder α] {s : UpperSet α} {t : Set α}
Goal: s < s.sdiff t ↔ ¬Disjoint (↑s) t
-- UpperSet.lt_erase
@[simp] lemma lt_erase : s < s.erase a ↔ a ∈ s 
Arguments: {α : Type u_1} [Preorder α] {s : UpperSet α} {a : α}
Goal: s < s.erase a ↔ a ∈ s
-- UpperSet.sdiff_idem
@[simp] protected lemma sdiff_idem (s : UpperSet α) (t : Set α) : (s.sdiff t).sdiff t = s.sdiff t 
Arguments: {α : Type u_1} [Preorder α] (s : UpperSet α) (t : Set α)
Goal: (s.sdiff t).sdiff t = s.sdiff t
-- UpperSet.erase_idem
@[simp] lemma erase_idem (s : UpperSet α) (a : α) : (s.erase a).erase a = s.erase a 
Arguments: {α : Type u_1} [Preorder α] (s : UpperSet α) (a : α)
Goal: (s.erase a).erase a = s.erase a
-- UpperSet.sdiff_inf_upperClosure
lemma sdiff_inf_upperClosure (hts : t ⊆ s) (hst : ∀ b ∈ s, ∀ c ∈ t, b ≤ c → b ∈ t) :
    s.sdiff t ⊓ upperClosure t = s 
Arguments: {α : Type u_1} [Preorder α] {s : UpperSet α} {t : Set α} (hts : t ⊆ ↑s) (hst : ∀ b ∈ s, ∀ c ∈ t, b ≤ c → b ∈ t)
Goal: s.sdiff t ⊓ upperClosure t = s
-- UpperSet.upperClosure_inf_sdiff
lemma upperClosure_inf_sdiff (hts : t ⊆ s) (hst : ∀ b ∈ s, ∀ c ∈ t, b ≤ c → b ∈ t) :
    upperClosure t ⊓ s.sdiff t = s 
Arguments: {α : Type u_1} [Preorder α] {s : UpperSet α} {t : Set α} (hts : t ⊆ ↑s) (hst : ∀ b ∈ s, ∀ c ∈ t, b ≤ c → b ∈ t)
Goal: upperClosure t ⊓ s.sdiff t = s
-- UpperSet.erase_inf_Ici
lemma erase_inf_Ici (ha : a ∈ s) (has : ∀ b ∈ s, b ≤ a → b = a) : s.erase a ⊓ Ici a = s 
Arguments: {α : Type u_1} [Preorder α] {s : UpperSet α} {a : α} (ha : a ∈ s) (has : ∀ b ∈ s, b ≤ a → b = a)
Goal: s.erase a ⊓ UpperSet.Ici a = s
-- UpperSet.Ici_inf_erase
lemma Ici_inf_erase (ha : a ∈ s) (has : ∀ b ∈ s, b ≤ a → b = a) : Ici a ⊓ s.erase a = s 
Arguments: {α : Type u_1} [Preorder α] {s : UpperSet α} {a : α} (ha : a ∈ s) (has : ∀ b ∈ s, b ≤ a → b = a)
Goal: UpperSet.Ici a ⊓ s.erase a = s
-- IsUpperSet.prod
theorem IsUpperSet.prod (hs : IsUpperSet s) (ht : IsUpperSet t) : IsUpperSet (s ×ˢ t) 
Arguments: {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] {s : Set α} {t : Set β} (hs : IsUpperSet s) (ht : IsUpperSet t)
Goal: IsUpperSet (s ×ˢ t)
-- IsLowerSet.prod
theorem IsLowerSet.prod (hs : IsLowerSet s) (ht : IsLowerSet t) : IsLowerSet (s ×ˢ t) 
Arguments: {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] {s : Set α} {t : Set β} (hs : IsLowerSet s) (ht : IsLowerSet t)
Goal: IsLowerSet (s ×ˢ t)
-- UpperSet.coe_prod
@[simp, norm_cast]
theorem coe_prod : ((s ×ˢ t : UpperSet (α × β)) : Set (α × β)) = (s : Set α) ×ˢ t 
Arguments: {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] (s : UpperSet α) (t : UpperSet β)
Goal: ↑(s ×ˢ t) = ↑s ×ˢ ↑t
-- UpperSet.mem_prod
@[simp]
theorem mem_prod {s : UpperSet α} {t : UpperSet β} : x ∈ s ×ˢ t ↔ x.1 ∈ s ∧ x.2 ∈ t 
Arguments: {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] {x : α × β} {s : UpperSet α} {t : UpperSet β}
Goal: x ∈ s ×ˢ t ↔ x.1 ∈ s ∧ x.2 ∈ t
-- UpperSet.Ici_prod
theorem Ici_prod (x : α × β) : Ici x = Ici x.1 ×ˢ Ici x.2 
Arguments: {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] (x : α × β)
Goal: UpperSet.Ici x = UpperSet.Ici x.1 ×ˢ UpperSet.Ici x.2
-- UpperSet.Ici_prod_Ici
@[simp]
theorem Ici_prod_Ici (a : α) (b : β) : Ici a ×ˢ Ici b = Ici (a, b) 
Arguments: {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] (a : α) (b : β)
Goal: UpperSet.Ici a ×ˢ UpperSet.Ici b = UpperSet.Ici (a, b)
-- UpperSet.prod_top
@[simp]
theorem prod_top : s ×ˢ (⊤ : UpperSet β) = ⊤ 
Arguments: {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] (s : UpperSet α)
Goal: s ×ˢ ⊤ = ⊤
-- UpperSet.top_prod
@[simp]
theorem top_prod : (⊤ : UpperSet α) ×ˢ t = ⊤ 
Arguments: {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] (t : UpperSet β)
Goal: ⊤ ×ˢ t = ⊤
-- UpperSet.bot_prod_bot
@[simp]
theorem bot_prod_bot : (⊥ : UpperSet α) ×ˢ (⊥ : UpperSet β) = ⊥ 
Arguments: {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β]
Goal: ⊥ ×ˢ ⊥ = ⊥
-- UpperSet.sup_prod
@[simp]
theorem sup_prod : (s₁ ⊔ s₂) ×ˢ t = s₁ ×ˢ t ⊔ s₂ ×ˢ t 
Arguments: {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] (s₁ s₂ : UpperSet α) (t : UpperSet β)
Goal: (s₁ ⊔ s₂) ×ˢ t = s₁ ×ˢ t ⊔ s₂ ×ˢ t
-- UpperSet.prod_sup
@[simp]
theorem prod_sup : s ×ˢ (t₁ ⊔ t₂) = s ×ˢ t₁ ⊔ s ×ˢ t₂ 
Arguments: {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] (s : UpperSet α) (t₁ t₂ : UpperSet β)
Goal: s ×ˢ (t₁ ⊔ t₂) = s ×ˢ t₁ ⊔ s ×ˢ t₂
-- UpperSet.inf_prod
@[simp]
theorem inf_prod : (s₁ ⊓ s₂) ×ˢ t = s₁ ×ˢ t ⊓ s₂ ×ˢ t 
Arguments: {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] (s₁ s₂ : UpperSet α) (t : UpperSet β)
Goal: (s₁ ⊓ s₂) ×ˢ t = s₁ ×ˢ t ⊓ s₂ ×ˢ t
-- UpperSet.prod_inf
@[simp]
theorem prod_inf : s ×ˢ (t₁ ⊓ t₂) = s ×ˢ t₁ ⊓ s ×ˢ t₂ 
Arguments: {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] (s : UpperSet α) (t₁ t₂ : UpperSet β)
Goal: s ×ˢ (t₁ ⊓ t₂) = s ×ˢ t₁ ⊓ s ×ˢ t₂
-- UpperSet.prod_sup_prod
theorem prod_sup_prod : s₁ ×ˢ t₁ ⊔ s₂ ×ˢ t₂ = (s₁ ⊔ s₂) ×ˢ (t₁ ⊔ t₂) 
Arguments: {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] (s₁ s₂ : UpperSet α) (t₁ t₂ : UpperSet β)
Goal: s₁ ×ˢ t₁ ⊔ s₂ ×ˢ t₂ = (s₁ ⊔ s₂) ×ˢ (t₁ ⊔ t₂)
-- UpperSet.prod_mono
@[mono]
theorem prod_mono : s₁ ≤ s₂ → t₁ ≤ t₂ → s₁ ×ˢ t₁ ≤ s₂ ×ˢ t₂ 
Arguments: {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] {s₁ s₂ : UpperSet α} {t₁ t₂ : UpperSet β}
Goal: s₁ ≤ s₂ → t₁ ≤ t₂ → s₁ ×ˢ t₁ ≤ s₂ ×ˢ t₂
-- UpperSet.prod_mono_left
theorem prod_mono_left : s₁ ≤ s₂ → s₁ ×ˢ t ≤ s₂ ×ˢ t 
Arguments: {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] {s₁ s₂ : UpperSet α} {t : UpperSet β}
Goal: s₁ ≤ s₂ → s₁ ×ˢ t ≤ s₂ ×ˢ t
-- UpperSet.prod_mono_right
theorem prod_mono_right : t₁ ≤ t₂ → s ×ˢ t₁ ≤ s ×ˢ t₂ 
Arguments: {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] {s : UpperSet α} {t₁ t₂ : UpperSet β}
Goal: t₁ ≤ t₂ → s ×ˢ t₁ ≤ s ×ˢ t₂
-- UpperSet.prod_self_le_prod_self
@[simp]
theorem prod_self_le_prod_self : s₁ ×ˢ s₁ ≤ s₂ ×ˢ s₂ ↔ s₁ ≤ s₂ 
Arguments: {α : Type u_1} [Preorder α] {s₁ s₂ : UpperSet α}
Goal: s₁ ×ˢ s₁ ≤ s₂ ×ˢ s₂ ↔ s₁ ≤ s₂
-- UpperSet.prod_self_lt_prod_self
@[simp]
theorem prod_self_lt_prod_self : s₁ ×ˢ s₁ < s₂ ×ˢ s₂ ↔ s₁ < s₂ 
Arguments: {α : Type u_1} [Preorder α] {s₁ s₂ : UpperSet α}
Goal: s₁ ×ˢ s₁ < s₂ ×ˢ s₂ ↔ s₁ < s₂
-- UpperSet.prod_le_prod_iff
theorem prod_le_prod_iff : s₁ ×ˢ t₁ ≤ s₂ ×ˢ t₂ ↔ s₁ ≤ s₂ ∧ t₁ ≤ t₂ ∨ s₂ = ⊤ ∨ t₂ = ⊤ 
Arguments: {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] {s₁ s₂ : UpperSet α} {t₁ t₂ : UpperSet β}
Goal: s₁ ×ˢ t₁ ≤ s₂ ×ˢ t₂ ↔ s₁ ≤ s₂ ∧ t₁ ≤ t₂ ∨ s₂ = ⊤ ∨ t₂ = ⊤
-- UpperSet.prod_eq_top
@[simp]
theorem prod_eq_top : s ×ˢ t = ⊤ ↔ s = ⊤ ∨ t = ⊤ 
Arguments: {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] {s : UpperSet α} {t : UpperSet β}
Goal: s ×ˢ t = ⊤ ↔ s = ⊤ ∨ t = ⊤
-- UpperSet.codisjoint_prod
@[simp]
theorem codisjoint_prod :
    Codisjoint (s₁ ×ˢ t₁) (s₂ ×ˢ t₂) ↔ Codisjoint s₁ s₂ ∨ Codisjoint t₁ t₂ 
Arguments: {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] {s₁ s₂ : UpperSet α} {t₁ t₂ : UpperSet β}
Goal: Codisjoint (s₁ ×ˢ t₁) (s₂ ×ˢ t₂) ↔ Codisjoint s₁ s₂ ∨ Codisjoint t₁ t₂
-- LowerSet.coe_prod
@[simp, norm_cast]
theorem coe_prod : ((s ×ˢ t : LowerSet (α × β)) : Set (α × β)) = (s : Set α) ×ˢ t 
Arguments: {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] (s : LowerSet α) (t : LowerSet β)
Goal: ↑(s ×ˢ t) = ↑s ×ˢ ↑t
-- LowerSet.mem_prod
@[simp]
theorem mem_prod {s : LowerSet α} {t : LowerSet β} : x ∈ s ×ˢ t ↔ x.1 ∈ s ∧ x.2 ∈ t 
Arguments: {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] {x : α × β} {s : LowerSet α} {t : LowerSet β}
Goal: x ∈ s ×ˢ t ↔ x.1 ∈ s ∧ x.2 ∈ t
-- LowerSet.Iic_prod
theorem Iic_prod (x : α × β) : Iic x = Iic x.1 ×ˢ Iic x.2 
Arguments: {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] (x : α × β)
Goal: LowerSet.Iic x = LowerSet.Iic x.1 ×ˢ LowerSet.Iic x.2
-- LowerSet.Ici_prod_Ici
@[simp]
theorem Ici_prod_Ici (a : α) (b : β) : Iic a ×ˢ Iic b = Iic (a, b) 
Arguments: {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] (a : α) (b : β)
Goal: LowerSet.Iic a ×ˢ LowerSet.Iic b = LowerSet.Iic (a, b)
-- LowerSet.prod_bot
@[simp]
theorem prod_bot : s ×ˢ (⊥ : LowerSet β) = ⊥ 
Arguments: {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] (s : LowerSet α)
Goal: s ×ˢ ⊥ = ⊥
-- LowerSet.bot_prod
@[simp]
theorem bot_prod : (⊥ : LowerSet α) ×ˢ t = ⊥ 
Arguments: {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] (t : LowerSet β)
Goal: ⊥ ×ˢ t = ⊥
-- LowerSet.top_prod_top
@[simp]
theorem top_prod_top : (⊤ : LowerSet α) ×ˢ (⊤ : LowerSet β) = ⊤ 
Arguments: {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β]
Goal: ⊤ ×ˢ ⊤ = ⊤
-- LowerSet.inf_prod
@[simp]
theorem inf_prod : (s₁ ⊓ s₂) ×ˢ t = s₁ ×ˢ t ⊓ s₂ ×ˢ t 
Arguments: {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] (s₁ s₂ : LowerSet α) (t : LowerSet β)
Goal: (s₁ ⊓ s₂) ×ˢ t = s₁ ×ˢ t ⊓ s₂ ×ˢ t
-- LowerSet.prod_inf
@[simp]
theorem prod_inf : s ×ˢ (t₁ ⊓ t₂) = s ×ˢ t₁ ⊓ s ×ˢ t₂ 
Arguments: {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] (s : LowerSet α) (t₁ t₂ : LowerSet β)
Goal: s ×ˢ (t₁ ⊓ t₂) = s ×ˢ t₁ ⊓ s ×ˢ t₂
-- LowerSet.sup_prod
@[simp]
theorem sup_prod : (s₁ ⊔ s₂) ×ˢ t = s₁ ×ˢ t ⊔ s₂ ×ˢ t 
Arguments: {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] (s₁ s₂ : LowerSet α) (t : LowerSet β)
Goal: (s₁ ⊔ s₂) ×ˢ t = s₁ ×ˢ t ⊔ s₂ ×ˢ t
-- LowerSet.prod_sup
@[simp]
theorem prod_sup : s ×ˢ (t₁ ⊔ t₂) = s ×ˢ t₁ ⊔ s ×ˢ t₂ 
Arguments: {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] (s : LowerSet α) (t₁ t₂ : LowerSet β)
Goal: s ×ˢ (t₁ ⊔ t₂) = s ×ˢ t₁ ⊔ s ×ˢ t₂
-- LowerSet.prod_inf_prod
theorem prod_inf_prod : s₁ ×ˢ t₁ ⊓ s₂ ×ˢ t₂ = (s₁ ⊓ s₂) ×ˢ (t₁ ⊓ t₂) 
Arguments: {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] (s₁ s₂ : LowerSet α) (t₁ t₂ : LowerSet β)
Goal: s₁ ×ˢ t₁ ⊓ s₂ ×ˢ t₂ = (s₁ ⊓ s₂) ×ˢ (t₁ ⊓ t₂)
-- LowerSet.prod_mono
theorem prod_mono : s₁ ≤ s₂ → t₁ ≤ t₂ → s₁ ×ˢ t₁ ≤ s₂ ×ˢ t₂ 
Arguments: {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] {s₁ s₂ : LowerSet α} {t₁ t₂ : LowerSet β}
Goal: s₁ ≤ s₂ → t₁ ≤ t₂ → s₁ ×ˢ t₁ ≤ s₂ ×ˢ t₂
-- LowerSet.prod_mono_left
theorem prod_mono_left : s₁ ≤ s₂ → s₁ ×ˢ t ≤ s₂ ×ˢ t 
Arguments: {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] {s₁ s₂ : LowerSet α} {t : LowerSet β}
Goal: s₁ ≤ s₂ → s₁ ×ˢ t ≤ s₂ ×ˢ t
-- LowerSet.prod_mono_right
theorem prod_mono_right : t₁ ≤ t₂ → s ×ˢ t₁ ≤ s ×ˢ t₂ 
Arguments: {α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] {s : LowerSet α} {t₁ t₂ : LowerSet β}
Goal: t₁ ≤ t₂ → s ×ˢ t₁ ≤ s ×ˢ t₂
-- LowerSet.prod_self_le_prod_self
@[simp]
theorem prod_self_le_prod_self : s₁ ×ˢ s₁ ≤ s₂ ×ˢ s₂ ↔ s₁ ≤ s₂ 
Arguments: {α : Type u_1} [Preorder α] {s₁ s₂ : LowerSet α}
Goal: s₁ ×ˢ s₁ ≤ s₂ ×ˢ s₂ ↔ s₁ ≤ s₂