[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : LE α
inst✝ : LE β
s t : Set α
h : IsUpperSet sᶜ
⊢ IsLowerSet s
[PROOFSTEP]
convert h.compl
[GOAL]
case h.e'_3
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : LE α
inst✝ : LE β
s t : Set α
h : IsUpperSet sᶜ
⊢ s = sᶜᶜ
[PROOFSTEP]
rw [compl_compl]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : LE α
inst✝ : LE β
s t : Set α
h : IsLowerSet sᶜ
⊢ IsUpperSet s
[PROOFSTEP]
convert h.compl
[GOAL]
case h.e'_3
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : LE α
inst✝ : LE β
s t : Set α
h : IsLowerSet sᶜ
⊢ s = sᶜᶜ
[PROOFSTEP]
rw [compl_compl]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s : Set α
p : α → Prop
a : α
⊢ IsUpperSet s ↔ ∀ ⦃a : α⦄, a ∈ s → Ici a ⊆ s
[PROOFSTEP]
simp [IsUpperSet, subset_def, @forall_swap (_ ∈ s)]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s : Set α
p : α → Prop
a : α
⊢ IsLowerSet s ↔ ∀ ⦃a : α⦄, a ∈ s → Iic a ⊆ s
[PROOFSTEP]
simp [IsLowerSet, subset_def, @forall_swap (_ ∈ s)]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s : Set α
p : α → Prop
a : α
hs : IsUpperSet s
f : α ≃o β
⊢ IsUpperSet (↑f '' s)
[PROOFSTEP]
change IsUpperSet ((f : α ≃ β) '' s)
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s : Set α
p : α → Prop
a : α
hs : IsUpperSet s
f : α ≃o β
⊢ IsUpperSet (↑↑f '' s)
[PROOFSTEP]
rw [Set.image_equiv_eq_preimage_symm]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s : Set α
p : α → Prop
a : α
hs : IsUpperSet s
f : α ≃o β
⊢ IsUpperSet (↑(↑f).symm ⁻¹' s)
[PROOFSTEP]
exact hs.preimage f.symm.monotone
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s : Set α
p : α → Prop
a : α
hs : IsLowerSet s
f : α ≃o β
⊢ IsLowerSet (↑f '' s)
[PROOFSTEP]
change IsLowerSet ((f : α ≃ β) '' s)
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s : Set α
p : α → Prop
a : α
hs : IsLowerSet s
f : α ≃o β
⊢ IsLowerSet (↑↑f '' s)
[PROOFSTEP]
rw [Set.image_equiv_eq_preimage_symm]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s : Set α
p : α → Prop
a : α
hs : IsLowerSet s
f : α ≃o β
⊢ IsLowerSet (↑(↑f).symm ⁻¹' s)
[PROOFSTEP]
exact hs.preimage f.symm.monotone
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝² : Preorder α
inst✝¹ : Preorder β
s : Set α
p : α → Prop
a : α
inst✝ : NoMaxOrder α
hs : IsUpperSet s
⊢ Set.Nonempty s → ¬BddAbove s
[PROOFSTEP]
rintro ⟨a, ha⟩ ⟨b, hb⟩
[GOAL]
case intro.intro
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝² : Preorder α
inst✝¹ : Preorder β
s : Set α
p : α → Prop
a✝ : α
inst✝ : NoMaxOrder α
hs : IsUpperSet s
a : α
ha : a ∈ s
b : α
hb : b ∈ upperBounds s
⊢ False
[PROOFSTEP]
obtain ⟨c, hc⟩ := exists_gt b
[GOAL]
case intro.intro.intro
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝² : Preorder α
inst✝¹ : Preorder β
s : Set α
p : α → Prop
a✝ : α
inst✝ : NoMaxOrder α
hs : IsUpperSet s
a : α
ha : a ∈ s
b : α
hb : b ∈ upperBounds s
c : α
hc : b < c
⊢ False
[PROOFSTEP]
exact hc.not_le (hb <| hs ((hb ha).trans hc.le) ha)
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝² : Preorder α
inst✝¹ : Preorder β
s : Set α
p : α → Prop
a : α
inst✝ : NoMinOrder α
hs : IsLowerSet s
⊢ Set.Nonempty s → ¬BddBelow s
[PROOFSTEP]
rintro ⟨a, ha⟩ ⟨b, hb⟩
[GOAL]
case intro.intro
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝² : Preorder α
inst✝¹ : Preorder β
s : Set α
p : α → Prop
a✝ : α
inst✝ : NoMinOrder α
hs : IsLowerSet s
a : α
ha : a ∈ s
b : α
hb : b ∈ lowerBounds s
⊢ False
[PROOFSTEP]
obtain ⟨c, hc⟩ := exists_lt b
[GOAL]
case intro.intro.intro
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝² : Preorder α
inst✝¹ : Preorder β
s : Set α
p : α → Prop
a✝ : α
inst✝ : NoMinOrder α
hs : IsLowerSet s
a : α
ha : a ∈ s
b : α
hb : b ∈ lowerBounds s
c : α
hc : c < b
⊢ False
[PROOFSTEP]
exact hc.not_le (hb <| hs (hc.le.trans <| hb ha) ha)
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : PartialOrder α
s : Set α
a : α
⊢ (∀ ⦃b : α⦄, a ≤ b → a ∈ s → b ∈ s) ↔ ∀ ⦃b : α⦄, a < b → a ∈ s → b ∈ s
[PROOFSTEP]
simp [le_iff_eq_or_lt, or_imp, forall_and]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : PartialOrder α
s : Set α
a : α
⊢ (∀ ⦃b : α⦄, b ≤ a → a ∈ s → b ∈ s) ↔ ∀ ⦃b : α⦄, b < a → a ∈ s → b ∈ s
[PROOFSTEP]
simp [le_iff_eq_or_lt, or_imp, forall_and]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : PartialOrder α
s : Set α
⊢ IsUpperSet s ↔ ∀ ⦃a : α⦄, a ∈ s → Ioi a ⊆ s
[PROOFSTEP]
simp [isUpperSet_iff_forall_lt, subset_def, @forall_swap (_ ∈ s)]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : PartialOrder α
s : Set α
⊢ IsLowerSet s ↔ ∀ ⦃a : α⦄, a ∈ s → Iio a ⊆ s
[PROOFSTEP]
simp [isLowerSet_iff_forall_lt, subset_def, @forall_swap (_ ∈ s)]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
s t : UpperSet α
h : s.carrier = t.carrier
⊢ s = t
[PROOFSTEP]
cases s
[GOAL]
case mk
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
t : UpperSet α
carrier✝ : Set α
upper'✝ : IsUpperSet carrier✝
h : { carrier := carrier✝, upper' := upper'✝ }.carrier = t.carrier
⊢ { carrier := carrier✝, upper' := upper'✝ } = t
[PROOFSTEP]
cases t
[GOAL]
case mk.mk
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
carrier✝¹ : Set α
upper'✝¹ : IsUpperSet carrier✝¹
carrier✝ : Set α
upper'✝ : IsUpperSet carrier✝
h : { carrier := carrier✝¹, upper' := upper'✝¹ }.carrier = { carrier := carrier✝, upper' := upper'✝ }.carrier
⊢ { carrier := carrier✝¹, upper' := upper'✝¹ } = { carrier := carrier✝, upper' := upper'✝ }
[PROOFSTEP]
congr
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
s t : LowerSet α
h : s.carrier = t.carrier
⊢ s = t
[PROOFSTEP]
cases s
[GOAL]
case mk
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
t : LowerSet α
carrier✝ : Set α
lower'✝ : IsLowerSet carrier✝
h : { carrier := carrier✝, lower' := lower'✝ }.carrier = t.carrier
⊢ { carrier := carrier✝, lower' := lower'✝ } = t
[PROOFSTEP]
cases t
[GOAL]
case mk.mk
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
carrier✝¹ : Set α
lower'✝¹ : IsLowerSet carrier✝¹
carrier✝ : Set α
lower'✝ : IsLowerSet carrier✝
h : { carrier := carrier✝¹, lower' := lower'✝¹ }.carrier = { carrier := carrier✝, lower' := lower'✝ }.carrier
⊢ { carrier := carrier✝¹, lower' := lower'✝¹ } = { carrier := carrier✝, lower' := lower'✝ }
[PROOFSTEP]
congr
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
S : Set (UpperSet α)
s t : UpperSet α
a : α
⊢ ↑s = univ ↔ s = ⊥
[PROOFSTEP]
simp [SetLike.ext'_iff]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
S : Set (UpperSet α)
s t : UpperSet α
a : α
⊢ ↑s = ∅ ↔ s = ⊤
[PROOFSTEP]
simp [SetLike.ext'_iff]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
S : Set (UpperSet α)
s t : UpperSet α
a : α
f : ι → UpperSet α
⊢ ↑(⨆ (i : ι), f i) = ⋂ (i : ι), ↑(f i)
[PROOFSTEP]
simp [iSup]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
S : Set (UpperSet α)
s t : UpperSet α
a : α
f : ι → UpperSet α
⊢ ↑(⨅ (i : ι), f i) = ⋃ (i : ι), ↑(f i)
[PROOFSTEP]
simp [iInf]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
S : Set (UpperSet α)
s t : UpperSet α
a : α
f : (i : ι) → κ i → UpperSet α
⊢ ↑(⨆ (i : ι) (j : κ i), f i j) = ⋂ (i : ι) (j : κ i), ↑(f i j)
[PROOFSTEP]
simp_rw [coe_iSup]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
S : Set (UpperSet α)
s t : UpperSet α
a : α
f : (i : ι) → κ i → UpperSet α
⊢ ↑(⨅ (i : ι) (j : κ i), f i j) = ⋃ (i : ι) (j : κ i), ↑(f i j)
[PROOFSTEP]
simp_rw [coe_iInf]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
S : Set (UpperSet α)
s t : UpperSet α
a : α
⊢ (∃ i j, a ∈ ↑i) ↔ ∃ s, s ∈ S ∧ a ∈ s
[PROOFSTEP]
simp only [exists_prop, SetLike.mem_coe]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
S : Set (UpperSet α)
s t : UpperSet α
a : α
f : ι → UpperSet α
⊢ a ∈ ⨆ (i : ι), f i ↔ ∀ (i : ι), a ∈ f i
[PROOFSTEP]
rw [← SetLike.mem_coe, coe_iSup]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
S : Set (UpperSet α)
s t : UpperSet α
a : α
f : ι → UpperSet α
⊢ a ∈ ⋂ (i : ι), ↑(f i) ↔ ∀ (i : ι), a ∈ f i
[PROOFSTEP]
exact mem_iInter
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
S : Set (UpperSet α)
s t : UpperSet α
a : α
f : ι → UpperSet α
⊢ a ∈ ⨅ (i : ι), f i ↔ ∃ i, a ∈ f i
[PROOFSTEP]
rw [← SetLike.mem_coe, coe_iInf]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
S : Set (UpperSet α)
s t : UpperSet α
a : α
f : ι → UpperSet α
⊢ a ∈ ⋃ (i : ι), ↑(f i) ↔ ∃ i, a ∈ f i
[PROOFSTEP]
exact mem_iUnion
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
S : Set (UpperSet α)
s t : UpperSet α
a : α
f : (i : ι) → κ i → UpperSet α
⊢ a ∈ ⨆ (i : ι) (j : κ i), f i j ↔ ∀ (i : ι) (j : κ i), a ∈ f i j
[PROOFSTEP]
simp_rw [mem_iSup_iff]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
S : Set (UpperSet α)
s t : UpperSet α
a : α
f : (i : ι) → κ i → UpperSet α
⊢ a ∈ ⨅ (i : ι) (j : κ i), f i j ↔ ∃ i j, a ∈ f i j
[PROOFSTEP]
simp_rw [mem_iInf_iff]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
S : Set (UpperSet α)
s t : UpperSet α
a : α
⊢ Codisjoint ↑s ↑t ↔ Disjoint s t
[PROOFSTEP]
simp [disjoint_iff, codisjoint_iff, SetLike.ext'_iff]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
S : Set (LowerSet α)
s t : LowerSet α
a : α
⊢ ↑s = univ ↔ s = ⊤
[PROOFSTEP]
simp [SetLike.ext'_iff]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
S : Set (LowerSet α)
s t : LowerSet α
a : α
⊢ ↑s = ∅ ↔ s = ⊥
[PROOFSTEP]
simp [SetLike.ext'_iff]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
S : Set (LowerSet α)
s t : LowerSet α
a : α
f : ι → LowerSet α
⊢ ↑(⨆ (i : ι), f i) = ⋃ (i : ι), ↑(f i)
[PROOFSTEP]
simp_rw [iSup, coe_sSup, mem_range, iUnion_exists, iUnion_iUnion_eq']
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
S : Set (LowerSet α)
s t : LowerSet α
a : α
f : ι → LowerSet α
⊢ ↑(⨅ (i : ι), f i) = ⋂ (i : ι), ↑(f i)
[PROOFSTEP]
simp_rw [iInf, coe_sInf, mem_range, iInter_exists, iInter_iInter_eq']
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
S : Set (LowerSet α)
s t : LowerSet α
a : α
f : (i : ι) → κ i → LowerSet α
⊢ ↑(⨆ (i : ι) (j : κ i), f i j) = ⋃ (i : ι) (j : κ i), ↑(f i j)
[PROOFSTEP]
simp_rw [coe_iSup]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
S : Set (LowerSet α)
s t : LowerSet α
a : α
f : (i : ι) → κ i → LowerSet α
⊢ ↑(⨅ (i : ι) (j : κ i), f i j) = ⋂ (i : ι) (j : κ i), ↑(f i j)
[PROOFSTEP]
simp_rw [coe_iInf]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
S : Set (LowerSet α)
s t : LowerSet α
a : α
⊢ (∃ i j, a ∈ ↑i) ↔ ∃ s, s ∈ S ∧ a ∈ s
[PROOFSTEP]
simp only [exists_prop, SetLike.mem_coe]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
S : Set (LowerSet α)
s t : LowerSet α
a : α
f : ι → LowerSet α
⊢ a ∈ ⨆ (i : ι), f i ↔ ∃ i, a ∈ f i
[PROOFSTEP]
rw [← SetLike.mem_coe, coe_iSup]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
S : Set (LowerSet α)
s t : LowerSet α
a : α
f : ι → LowerSet α
⊢ a ∈ ⋃ (i : ι), ↑(f i) ↔ ∃ i, a ∈ f i
[PROOFSTEP]
exact mem_iUnion
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
S : Set (LowerSet α)
s t : LowerSet α
a : α
f : ι → LowerSet α
⊢ a ∈ ⨅ (i : ι), f i ↔ ∀ (i : ι), a ∈ f i
[PROOFSTEP]
rw [← SetLike.mem_coe, coe_iInf]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
S : Set (LowerSet α)
s t : LowerSet α
a : α
f : ι → LowerSet α
⊢ a ∈ ⋂ (i : ι), ↑(f i) ↔ ∀ (i : ι), a ∈ f i
[PROOFSTEP]
exact mem_iInter
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
S : Set (LowerSet α)
s t : LowerSet α
a : α
f : (i : ι) → κ i → LowerSet α
⊢ a ∈ ⨆ (i : ι) (j : κ i), f i j ↔ ∃ i j, a ∈ f i j
[PROOFSTEP]
simp_rw [mem_iSup_iff]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
S : Set (LowerSet α)
s t : LowerSet α
a : α
f : (i : ι) → κ i → LowerSet α
⊢ a ∈ ⨅ (i : ι) (j : κ i), f i j ↔ ∀ (i : ι) (j : κ i), a ∈ f i j
[PROOFSTEP]
simp_rw [mem_iInf_iff]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
S : Set (LowerSet α)
s t : LowerSet α
a : α
⊢ Disjoint ↑s ↑t ↔ Disjoint s t
[PROOFSTEP]
simp [disjoint_iff, SetLike.ext'_iff]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
s t : UpperSet α
a : α
S : Set (UpperSet α)
⊢ ↑(compl (sSup S)) = ↑(⨆ (s : UpperSet α) (_ : s ∈ S), compl s)
[PROOFSTEP]
simp only [coe_compl, coe_sSup, compl_iInter₂, LowerSet.coe_iSup₂]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
s t : UpperSet α
a : α
S : Set (UpperSet α)
⊢ ↑(compl (sInf S)) = ↑(⨅ (s : UpperSet α) (_ : s ∈ S), compl s)
[PROOFSTEP]
simp only [coe_compl, coe_sInf, compl_iUnion₂, LowerSet.coe_iInf₂]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
s t : UpperSet α
a : α
f : ι → UpperSet α
⊢ ↑(compl (⨆ (i : ι), f i)) = ↑(⨆ (i : ι), compl (f i))
[PROOFSTEP]
simp only [coe_compl, coe_iSup, compl_iInter, LowerSet.coe_iSup]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
s t : UpperSet α
a : α
f : ι → UpperSet α
⊢ ↑(compl (⨅ (i : ι), f i)) = ↑(⨅ (i : ι), compl (f i))
[PROOFSTEP]
simp only [coe_compl, coe_iInf, compl_iUnion, LowerSet.coe_iInf]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
s t : UpperSet α
a : α
f : (i : ι) → κ i → UpperSet α
⊢ compl (⨆ (i : ι) (j : κ i), f i j) = ⨆ (i : ι) (j : κ i), compl (f i j)
[PROOFSTEP]
simp_rw [UpperSet.compl_iSup]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
s t : UpperSet α
a : α
f : (i : ι) → κ i → UpperSet α
⊢ compl (⨅ (i : ι) (j : κ i), f i j) = ⨅ (i : ι) (j : κ i), compl (f i j)
[PROOFSTEP]
simp_rw [UpperSet.compl_iInf]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
s t : LowerSet α
a : α
S : Set (LowerSet α)
⊢ ↑(compl (sSup S)) = ↑(⨆ (s : LowerSet α) (_ : s ∈ S), compl s)
[PROOFSTEP]
simp only [coe_compl, coe_sSup, compl_iUnion₂, UpperSet.coe_iSup₂]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
s t : LowerSet α
a : α
S : Set (LowerSet α)
⊢ ↑(compl (sInf S)) = ↑(⨅ (s : LowerSet α) (_ : s ∈ S), compl s)
[PROOFSTEP]
simp only [coe_compl, coe_sInf, compl_iInter₂, UpperSet.coe_iInf₂]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
s t : LowerSet α
a : α
f : ι → LowerSet α
⊢ ↑(compl (⨆ (i : ι), f i)) = ↑(⨆ (i : ι), compl (f i))
[PROOFSTEP]
simp only [coe_compl, coe_iSup, compl_iUnion, UpperSet.coe_iSup]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
s t : LowerSet α
a : α
f : ι → LowerSet α
⊢ ↑(compl (⨅ (i : ι), f i)) = ↑(⨅ (i : ι), compl (f i))
[PROOFSTEP]
simp only [coe_compl, coe_iInf, compl_iInter, UpperSet.coe_iInf]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
s t : LowerSet α
a : α
f : (i : ι) → κ i → LowerSet α
⊢ compl (⨆ (i : ι) (j : κ i), f i j) = ⨆ (i : ι) (j : κ i), compl (f i j)
[PROOFSTEP]
simp_rw [LowerSet.compl_iSup]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : LE α
s t : LowerSet α
a : α
f : (i : ι) → κ i → LowerSet α
⊢ compl (⨅ (i : ι) (j : κ i), f i j) = ⨅ (i : ι) (j : κ i), compl (f i j)
[PROOFSTEP]
simp_rw [LowerSet.compl_iInf]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝² : Preorder α
inst✝¹ : Preorder β
inst✝ : Preorder γ
f✝ : α ≃o β
s✝ t : UpperSet α
a : α
b : β
f : α ≃o β
s : UpperSet β
⊢ ↑(↑(OrderIso.symm (map f)) s) = ↑(↑(map (OrderIso.symm f)) s)
[PROOFSTEP]
convert Set.preimage_equiv_eq_image_symm s f.toEquiv
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝² : Preorder α
inst✝¹ : Preorder β
inst✝ : Preorder γ
f : α ≃o β
s t : UpperSet α
a : α
b : β
⊢ b ∈ ↑(map f) s ↔ ↑(OrderIso.symm f) b ∈ s
[PROOFSTEP]
rw [← f.symm_symm, ← symm_map, f.symm_symm]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝² : Preorder α
inst✝¹ : Preorder β
inst✝ : Preorder γ
f : α ≃o β
s t : UpperSet α
a : α
b : β
⊢ b ∈ ↑(OrderIso.symm (map (OrderIso.symm f))) s ↔ ↑(OrderIso.symm f) b ∈ s
[PROOFSTEP]
rfl
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝² : Preorder α
inst✝¹ : Preorder β
inst✝ : Preorder γ
f : α ≃o β
s t : UpperSet α
a : α
b : β
⊢ map (OrderIso.refl α) = OrderIso.refl (UpperSet α)
[PROOFSTEP]
ext
[GOAL]
case h.h.a.h
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝² : Preorder α
inst✝¹ : Preorder β
inst✝ : Preorder γ
f : α ≃o β
s t : UpperSet α
a : α
b : β
x✝¹ : UpperSet α
x✝ : α
⊢ x✝ ∈ ↑(↑(map (OrderIso.refl α)) x✝¹) ↔ x✝ ∈ ↑(↑(OrderIso.refl (UpperSet α)) x✝¹)
[PROOFSTEP]
simp
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝² : Preorder α
inst✝¹ : Preorder β
inst✝ : Preorder γ
f✝ : α ≃o β
s t : UpperSet α
a : α
b : β
g : β ≃o γ
f : α ≃o β
⊢ ↑(map g) (↑(map f) s) = ↑(map (OrderIso.trans f g)) s
[PROOFSTEP]
ext
[GOAL]
case a.h
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝² : Preorder α
inst✝¹ : Preorder β
inst✝ : Preorder γ
f✝ : α ≃o β
s t : UpperSet α
a : α
b : β
g : β ≃o γ
f : α ≃o β
x✝ : γ
⊢ x✝ ∈ ↑(↑(map g) (↑(map f) s)) ↔ x✝ ∈ ↑(↑(map (OrderIso.trans f g)) s)
[PROOFSTEP]
simp
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝² : Preorder α
inst✝¹ : Preorder β
inst✝ : Preorder γ
f✝ : α ≃o β
s✝ t : LowerSet α
a : α
b : β
f : α ≃o β
s : LowerSet β
⊢ ↑(↑(OrderIso.symm (map f)) s) = ↑(↑(map (OrderIso.symm f)) s)
[PROOFSTEP]
convert Set.preimage_equiv_eq_image_symm s f.toEquiv
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝² : Preorder α
inst✝¹ : Preorder β
inst✝ : Preorder γ
f✝ : α ≃o β
s t : LowerSet α
a : α
b✝ : β
f : α ≃o β
b : β
⊢ b ∈ ↑(map f) s ↔ ↑(OrderIso.symm f) b ∈ s
[PROOFSTEP]
rw [← f.symm_symm, ← symm_map, f.symm_symm]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝² : Preorder α
inst✝¹ : Preorder β
inst✝ : Preorder γ
f✝ : α ≃o β
s t : LowerSet α
a : α
b✝ : β
f : α ≃o β
b : β
⊢ b ∈ ↑(OrderIso.symm (map (OrderIso.symm f))) s ↔ ↑(OrderIso.symm f) b ∈ s
[PROOFSTEP]
rfl
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝² : Preorder α
inst✝¹ : Preorder β
inst✝ : Preorder γ
f : α ≃o β
s t : LowerSet α
a : α
b : β
⊢ map (OrderIso.refl α) = OrderIso.refl (LowerSet α)
[PROOFSTEP]
ext
[GOAL]
case h.h.a.h
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝² : Preorder α
inst✝¹ : Preorder β
inst✝ : Preorder γ
f : α ≃o β
s t : LowerSet α
a : α
b : β
x✝¹ : LowerSet α
x✝ : α
⊢ x✝ ∈ ↑(↑(map (OrderIso.refl α)) x✝¹) ↔ x✝ ∈ ↑(↑(OrderIso.refl (LowerSet α)) x✝¹)
[PROOFSTEP]
simp
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝² : Preorder α
inst✝¹ : Preorder β
inst✝ : Preorder γ
f✝ : α ≃o β
s t : LowerSet α
a : α
b : β
g : β ≃o γ
f : α ≃o β
⊢ ↑(map g) (↑(map f) s) = ↑(map (OrderIso.trans f g)) s
[PROOFSTEP]
ext
[GOAL]
case a.h
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝² : Preorder α
inst✝¹ : Preorder β
inst✝ : Preorder γ
f✝ : α ≃o β
s t : LowerSet α
a : α
b : β
g : β ≃o γ
f : α ≃o β
x✝ : γ
⊢ x✝ ∈ ↑(↑(map g) (↑(map f) s)) ↔ x✝ ∈ ↑(↑(map (OrderIso.trans f g)) s)
[PROOFSTEP]
simp
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s : UpperSet α
a✝ b : α
f : α ≃o β
a : α
⊢ ↑(map f) (Ici a) = Ici (↑f a)
[PROOFSTEP]
ext
[GOAL]
case a.h
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s : UpperSet α
a✝ b : α
f : α ≃o β
a : α
x✝ : β
⊢ x✝ ∈ ↑(↑(map f) (Ici a)) ↔ x✝ ∈ ↑(Ici (↑f a))
[PROOFSTEP]
simp
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s : UpperSet α
a✝ b : α
f : α ≃o β
a : α
⊢ ↑(map f) (Ioi a) = Ioi (↑f a)
[PROOFSTEP]
ext
[GOAL]
case a.h
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s : UpperSet α
a✝ b : α
f : α ≃o β
a : α
x✝ : β
⊢ x✝ ∈ ↑(↑(map f) (Ioi a)) ↔ x✝ ∈ ↑(Ioi (↑f a))
[PROOFSTEP]
simp
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : CompleteLattice α
S : Set α
c : α
⊢ c ∈ Ici (sSup S) ↔ c ∈ ⨆ (a : α) (_ : a ∈ S), Ici a
[PROOFSTEP]
simp only [mem_Ici_iff, mem_iSup_iff, sSup_le_iff]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : CompleteLattice α
f : ι → α
c : α
⊢ c ∈ Ici (⨆ (i : ι), f i) ↔ c ∈ ⨆ (i : ι), Ici (f i)
[PROOFSTEP]
simp only [mem_Ici_iff, mem_iSup_iff, iSup_le_iff]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : CompleteLattice α
f : (i : ι) → κ i → α
⊢ Ici (⨆ (i : ι) (j : κ i), f i j) = ⨆ (i : ι) (j : κ i), Ici (f i j)
[PROOFSTEP]
simp_rw [Ici_iSup]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s : LowerSet α
a✝ b : α
f : α ≃o β
a : α
⊢ ↑(map f) (Iic a) = Iic (↑f a)
[PROOFSTEP]
ext
[GOAL]
case a.h
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s : LowerSet α
a✝ b : α
f : α ≃o β
a : α
x✝ : β
⊢ x✝ ∈ ↑(↑(map f) (Iic a)) ↔ x✝ ∈ ↑(Iic (↑f a))
[PROOFSTEP]
simp
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s : LowerSet α
a✝ b : α
f : α ≃o β
a : α
⊢ ↑(map f) (Iio a) = Iio (↑f a)
[PROOFSTEP]
ext
[GOAL]
case a.h
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s : LowerSet α
a✝ b : α
f : α ≃o β
a : α
x✝ : β
⊢ x✝ ∈ ↑(↑(map f) (Iio a)) ↔ x✝ ∈ ↑(Iio (↑f a))
[PROOFSTEP]
simp
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : CompleteLattice α
S : Set α
c : α
⊢ c ∈ Iic (sInf S) ↔ c ∈ ⨅ (a : α) (_ : a ∈ S), Iic a
[PROOFSTEP]
simp only [mem_Iic_iff, mem_iInf₂_iff, le_sInf_iff]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : CompleteLattice α
f : ι → α
c : α
⊢ c ∈ Iic (⨅ (i : ι), f i) ↔ c ∈ ⨅ (i : ι), Iic (f i)
[PROOFSTEP]
simp only [mem_Iic_iff, mem_iInf_iff, le_iInf_iff]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝ : CompleteLattice α
f : (i : ι) → κ i → α
⊢ Iic (⨅ (i : ι) (j : κ i), f i j) = ⨅ (i : ι) (j : κ i), Iic (f i j)
[PROOFSTEP]
simp_rw [Iic_iInf]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s✝ t : Set α
x : α
s : Set α
⊢ ↑(upperClosure s) = ⋃ (a : α) (_ : a ∈ s), Ici a
[PROOFSTEP]
ext
[GOAL]
case h
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s✝ t : Set α
x : α
s : Set α
x✝ : α
⊢ x✝ ∈ ↑(upperClosure s) ↔ x✝ ∈ ⋃ (a : α) (_ : a ∈ s), Ici a
[PROOFSTEP]
simp
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s✝ t : Set α
x : α
s : Set α
⊢ ↑(lowerClosure s) = ⋃ (a : α) (_ : a ∈ s), Iic a
[PROOFSTEP]
ext
[GOAL]
case h
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s✝ t : Set α
x : α
s : Set α
x✝ : α
⊢ x✝ ∈ ↑(lowerClosure s) ↔ x✝ ∈ ⋃ (a : α) (_ : a ∈ s), Iic a
[PROOFSTEP]
simp
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s t : Set α
x : α
f : α ≃o β
⊢ upperClosure (↑f '' s) = ↑(UpperSet.map f) (upperClosure s)
[PROOFSTEP]
rw [← f.symm_symm, ← UpperSet.symm_map, f.symm_symm]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s t : Set α
x : α
f : α ≃o β
⊢ upperClosure (↑f '' s) = ↑(OrderIso.symm (UpperSet.map (OrderIso.symm f))) (upperClosure s)
[PROOFSTEP]
ext
[GOAL]
case a.h
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s t : Set α
x : α
f : α ≃o β
x✝ : β
⊢ x✝ ∈ ↑(upperClosure (↑f '' s)) ↔ x✝ ∈ ↑(↑(OrderIso.symm (UpperSet.map (OrderIso.symm f))) (upperClosure s))
[PROOFSTEP]
simp [-UpperSet.symm_map, UpperSet.map, OrderIso.symm, ← f.le_symm_apply]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s t : Set α
x : α
f : α ≃o β
⊢ lowerClosure (↑f '' s) = ↑(LowerSet.map f) (lowerClosure s)
[PROOFSTEP]
rw [← f.symm_symm, ← LowerSet.symm_map, f.symm_symm]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s t : Set α
x : α
f : α ≃o β
⊢ lowerClosure (↑f '' s) = ↑(OrderIso.symm (LowerSet.map (OrderIso.symm f))) (lowerClosure s)
[PROOFSTEP]
ext
[GOAL]
case a.h
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s t : Set α
x : α
f : α ≃o β
x✝ : β
⊢ x✝ ∈ ↑(lowerClosure (↑f '' s)) ↔ x✝ ∈ ↑(↑(OrderIso.symm (LowerSet.map (OrderIso.symm f))) (lowerClosure s))
[PROOFSTEP]
simp [-LowerSet.symm_map, LowerSet.map, OrderIso.symm, ← f.symm_apply_le]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s✝ t : Set α
x : α
s : Set α
⊢ ⨅ (a : α) (_ : a ∈ s), Ici a = upperClosure s
[PROOFSTEP]
ext
[GOAL]
case a.h
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s✝ t : Set α
x : α
s : Set α
x✝ : α
⊢ x✝ ∈ ↑(⨅ (a : α) (_ : a ∈ s), Ici a) ↔ x✝ ∈ ↑(upperClosure s)
[PROOFSTEP]
simp
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s✝ t : Set α
x : α
s : Set α
⊢ ⨆ (a : α) (_ : a ∈ s), Iic a = lowerClosure s
[PROOFSTEP]
ext
[GOAL]
case a.h
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s✝ t : Set α
x : α
s : Set α
x✝ : α
⊢ x✝ ∈ ↑(⨆ (a : α) (_ : a ∈ s), Iic a) ↔ x✝ ∈ ↑(lowerClosure s)
[PROOFSTEP]
simp
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s t : Set α
x a : α
⊢ upperClosure {a} = UpperSet.Ici a
[PROOFSTEP]
ext
[GOAL]
case a.h
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s t : Set α
x a x✝ : α
⊢ x✝ ∈ ↑(upperClosure {a}) ↔ x✝ ∈ ↑(UpperSet.Ici a)
[PROOFSTEP]
simp
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s t : Set α
x a : α
⊢ lowerClosure {a} = LowerSet.Iic a
[PROOFSTEP]
ext
[GOAL]
case a.h
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s t : Set α
x a x✝ : α
⊢ x✝ ∈ ↑(lowerClosure {a}) ↔ x✝ ∈ ↑(LowerSet.Iic a)
[PROOFSTEP]
simp
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s t : Set α
x : α
S : Set (Set α)
⊢ upperClosure (⋃₀ S) = ⨅ (s : Set α) (_ : s ∈ S), upperClosure s
[PROOFSTEP]
simp_rw [sUnion_eq_biUnion, upperClosure_iUnion]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s t : Set α
x : α
S : Set (Set α)
⊢ lowerClosure (⋃₀ S) = ⨆ (s : Set α) (_ : s ∈ S), lowerClosure s
[PROOFSTEP]
simp_rw [sUnion_eq_biUnion, lowerClosure_iUnion]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s t : Set α
x : α
⊢ OrdConnected s ↔ ↑(upperClosure s) ∩ ↑(lowerClosure s) = s
[PROOFSTEP]
refine' ⟨Set.OrdConnected.upperClosure_inter_lowerClosure, fun h => _⟩
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s t : Set α
x : α
h : ↑(upperClosure s) ∩ ↑(lowerClosure s) = s
⊢ OrdConnected s
[PROOFSTEP]
rw [← h]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s t : Set α
x : α
h : ↑(upperClosure s) ∩ ↑(lowerClosure s) = s
⊢ OrdConnected (↑(upperClosure s) ∩ ↑(lowerClosure s))
[PROOFSTEP]
exact (UpperSet.upper _).ordConnected.inter (LowerSet.lower _).ordConnected
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s t : Set α
x : α
⊢ BddAbove ↑(lowerClosure s) ↔ BddAbove s
[PROOFSTEP]
simp_rw [BddAbove, upperBounds_lowerClosure]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s t : Set α
x : α
⊢ BddBelow ↑(upperClosure s) ↔ BddBelow s
[PROOFSTEP]
simp_rw [BddBelow, lowerBounds_upperClosure]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s s₁ s₂ : UpperSet α
t t₁ t₂ : UpperSet β
x : α × β
⊢ ↑s₂ ⊆ ↑s₁ ∧ ↑t₂ ⊆ ↑t₁ ∨ ↑s₂ = ∅ ∨ ↑t₂ = ∅ ↔ s₁ ≤ s₂ ∧ t₁ ≤ t₂ ∨ s₂ = ⊤ ∨ t₂ = ⊤
[PROOFSTEP]
simp
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s s₁ s₂ : UpperSet α
t t₁ t₂ : UpperSet β
x : α × β
⊢ s ×ˢ t = ⊤ ↔ s = ⊤ ∨ t = ⊤
[PROOFSTEP]
simp_rw [SetLike.ext'_iff]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s s₁ s₂ : UpperSet α
t t₁ t₂ : UpperSet β
x : α × β
⊢ ↑(s ×ˢ t) = ↑⊤ ↔ ↑s = ↑⊤ ∨ ↑t = ↑⊤
[PROOFSTEP]
exact prod_eq_empty_iff
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s s₁ s₂ : UpperSet α
t t₁ t₂ : UpperSet β
x : α × β
⊢ Codisjoint (s₁ ×ˢ t₁) (s₂ ×ˢ t₂) ↔ Codisjoint s₁ s₂ ∨ Codisjoint t₁ t₂
[PROOFSTEP]
simp_rw [codisjoint_iff, prod_sup_prod, prod_eq_top]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s s₁ s₂ : LowerSet α
t t₁ t₂ : LowerSet β
x : α × β
⊢ ↑s₁ ⊆ ↑s₂ ∧ ↑t₁ ⊆ ↑t₂ ∨ ↑s₁ = ∅ ∨ ↑t₁ = ∅ ↔ s₁ ≤ s₂ ∧ t₁ ≤ t₂ ∨ s₁ = ⊥ ∨ t₁ = ⊥
[PROOFSTEP]
simp
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s s₁ s₂ : LowerSet α
t t₁ t₂ : LowerSet β
x : α × β
⊢ s ×ˢ t = ⊥ ↔ s = ⊥ ∨ t = ⊥
[PROOFSTEP]
simp_rw [SetLike.ext'_iff]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s s₁ s₂ : LowerSet α
t t₁ t₂ : LowerSet β
x : α × β
⊢ ↑(s ×ˢ t) = ↑⊥ ↔ ↑s = ↑⊥ ∨ ↑t = ↑⊥
[PROOFSTEP]
exact prod_eq_empty_iff
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s s₁ s₂ : LowerSet α
t t₁ t₂ : LowerSet β
x : α × β
⊢ Disjoint (s₁ ×ˢ t₁) (s₂ ×ˢ t₂) ↔ Disjoint s₁ s₂ ∨ Disjoint t₁ t₂
[PROOFSTEP]
simp_rw [disjoint_iff, prod_inf_prod, prod_eq_bot]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s : Set α
t : Set β
⊢ upperClosure (s ×ˢ t) = upperClosure s ×ˢ upperClosure t
[PROOFSTEP]
ext
[GOAL]
case a.h
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s : Set α
t : Set β
x✝ : α × β
⊢ x✝ ∈ ↑(upperClosure (s ×ˢ t)) ↔ x✝ ∈ ↑(upperClosure s ×ˢ upperClosure t)
[PROOFSTEP]
simp [Prod.le_def, @and_and_and_comm _ (_ ∈ t)]
[GOAL]
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s : Set α
t : Set β
⊢ lowerClosure (s ×ˢ t) = lowerClosure s ×ˢ lowerClosure t
[PROOFSTEP]
ext
[GOAL]
case a.h
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s : Set α
t : Set β
x✝ : α × β
⊢ x✝ ∈ ↑(lowerClosure (s ×ˢ t)) ↔ x✝ ∈ ↑(lowerClosure s ×ˢ lowerClosure t)
[PROOFSTEP]
simp [Prod.le_def, @and_and_and_comm _ (_ ∈ t)]