internlm/Lean-Github huggingface dataset:
Theorem: ERealSion.isClosed_J
Proof state before:
β : Type u_3
E : Type u_2
inst✝¹¹ : AddCommGroup E
inst✝¹⁰ : Module ℝ E
inst✝⁹ : TopologicalSpace E
inst✝⁸ : TopologicalAddGroup E
inst✝⁷ : ContinuousSMul ℝ E
F : Type u_1
inst✝⁶ : AddCommGroup F
inst✝⁵ : Module ℝ F
inst✝⁴ : TopologicalSpace F
inst✝³ : TopologicalAddGroup F
inst✝² : ContinuousSMul ℝ F
X : Set E
ne_X : Set.Nonempty X
cX : Convex ℝ X
kX : IsCompact X
Y : Set F
ne_Y : Set.Nonempty Y
cY : Convex ℝ Y
kY : IsCompact Y
f : E → F → β
inst✝¹ : LinearOrder β
inst✝ : DenselyOrdered β
hfx' : ∀ x ∈ X, QuasiconcaveOn ℝ Y fun y => f x y
hfy : ∀ y ∈ Y, LowerSemicontinuousOn (fun x => f x y) X
hfy' : ∀ y ∈ Y, QuasiconvexOn ℝ X fun x => f x y
a : E
b b' : β
y y' : ↑Y
ha : ∀ x ∈ X, f a ↑y ⊔ f a ↑y' ≤ f x ↑y ⊔ f x ↑y'
hb : ∀ y ∈ Y, ∃ x ∈ X, f x y ≤ b
hb' : b' < f a ↑y ⊔ f a ↑y'
hbb' : b < b'
z : ↑(segment ℝ ↑y ↑y')
hz : ClusterPt z (Filter.principal (ERealSion.J X Y f b b' y y'))
x : ↑X
hx : x ∈ ERealSion.C X f b ↑z
hzY : ↑z ∈ Y
this : f ↑x ↑z < b'
hfx : ∀ᶠ (x' : F) in nhdsWithin (↑z) Y, f (↑x) x' < b'
⊢ ∃ z' ∈ ERealSion.J X Y f b b' y y', x ∈ ERealSion.C X f b' ↑z'
Tactic:
rw [Filter.clusterPt_principal_subtype_iff_frequently (cY.segment_subset y.prop y'.prop)] at hz
Proof state after:
β : Type u_3
E : Type u_2
inst✝¹¹ : AddCommGroup E
inst✝¹⁰ : Module ℝ E
inst✝⁹ : TopologicalSpace E
inst✝⁸ : TopologicalAddGroup E
inst✝⁷ : ContinuousSMul ℝ E
F : Type u_1
inst✝⁶ : AddCommGroup F
inst✝⁵ : Module ℝ F
inst✝⁴ : TopologicalSpace F
inst✝³ : TopologicalAddGroup F
inst✝² : ContinuousSMul ℝ F
X : Set E
ne_X : Set.Nonempty X
cX : Convex ℝ X
kX : IsCompact X
Y : Set F
ne_Y : Set.Nonempty Y
cY : Convex ℝ Y
kY : IsCompact Y
f : E → F → β
inst✝¹ : LinearOrder β
inst✝ : DenselyOrdered β
hfx' : ∀ x ∈ X, QuasiconcaveOn ℝ Y fun y => f x y
hfy : ∀ y ∈ Y, LowerSemicontinuousOn (fun x => f x y) X
hfy' : ∀ y ∈ Y, QuasiconvexOn ℝ X fun x => f x y
a : E
b b' : β
y y' : ↑Y
ha : ∀ x ∈ X, f a ↑y ⊔ f a ↑y' ≤ f x ↑y ⊔ f x ↑y'
hb : ∀ y ∈ Y, ∃ x ∈ X, f x y ≤ b
hb' : b' < f a ↑y ⊔ f a ↑y'
hbb' : b < b'
z : ↑(segment ℝ ↑y ↑y')
hz :
  ∃ᶠ (x : F) in nhdsWithin (↑z) Y,
    ∃ (h : x ∈ segment ℝ ↑y ↑y'), { val := x, property := h } ∈ ERealSion.J X Y f b b' y y'
x : ↑X
hx : x ∈ ERealSion.C X f b ↑z
hzY : ↑z ∈ Y
this : f ↑x ↑z < b'
hfx : ∀ᶠ (x' : F) in nhdsWithin (↑z) Y, f (↑x) x' < b'
⊢ ∃ z' ∈ ERealSion.J X Y f b b' y y', x ∈ ERealSion.C X f b' ↑z'
Theorem: ERealSion.isClosed_J
Proof state before:
β : Type u_3
E : Type u_2
inst✝¹¹ : AddCommGroup E
inst✝¹⁰ : Module ℝ E
inst✝⁹ : TopologicalSpace E
inst✝⁸ : TopologicalAddGroup E
inst✝⁷ : ContinuousSMul ℝ E
F : Type u_1
inst✝⁶ : AddCommGroup F
inst✝⁵ : Module ℝ F
inst✝⁴ : TopologicalSpace F
inst✝³ : TopologicalAddGroup F
inst✝² : ContinuousSMul ℝ F
X : Set E
ne_X : Set.Nonempty X
cX : Convex ℝ X
kX : IsCompact X
Y : Set F
ne_Y : Set.Nonempty Y
cY : Convex ℝ Y
kY : IsCompact Y
f : E → F → β
inst✝¹ : LinearOrder β
inst✝ : DenselyOrdered β
hfx' : ∀ x ∈ X, QuasiconcaveOn ℝ Y fun y => f x y
hfy : ∀ y ∈ Y, LowerSemicontinuousOn (fun x => f x y) X
hfy' : ∀ y ∈ Y, QuasiconvexOn ℝ X fun x => f x y
a : E
b b' : β
y y' : ↑Y
ha : ∀ x ∈ X, f a ↑y ⊔ f a ↑y' ≤ f x ↑y ⊔ f x ↑y'
hb : ∀ y ∈ Y, ∃ x ∈ X, f x y ≤ b
hb' : b' < f a ↑y ⊔ f a ↑y'
hbb' : b < b'
z : ↑(segment ℝ ↑y ↑y')
hz :
  ∃ᶠ (x : F) in nhdsWithin (↑z) Y,
    ∃ (h : x ∈ segment ℝ ↑y ↑y'), { val := x, property := h } ∈ ERealSion.J X Y f b b' y y'
x : ↑X
hx : x ∈ ERealSion.C X f b ↑z
hzY : ↑z ∈ Y
this : f ↑x ↑z < b'
hfx : ∀ᶠ (x' : F) in nhdsWithin (↑z) Y, f (↑x) x' < b'
⊢ ∃ z' ∈ ERealSion.J X Y f b b' y y', x ∈ ERealSion.C X f b' ↑z'
Tactic:
suffices ∀ᶠ z' : F in nhdsWithin z Y,
  (∃ hz' : z' ∈ segment ℝ y.val y'.val, (⟨z', hz'⟩ : segment ℝ y.val y'.val) ∈ J X Y f b b' y y') →
    ∃ hz' : z' ∈ segment ℝ y.val y'.val, x ∈ C X f b' z'
      ∧ (⟨z', hz'⟩ : segment ℝ y.val y'.val) ∈ J X Y f b b' y y' by
  obtain ⟨z', hz', hxz'1, hxz'2⟩ := Filter.Frequently.exists (Filter.Frequently.mp hz this)
  exact ⟨⟨z', hz'⟩, ⟨hxz'2, hxz'1⟩⟩
Proof state after:
β : Type u_3
E : Type u_2
inst✝¹¹ : AddCommGroup E
inst✝¹⁰ : Module ℝ E
inst✝⁹ : TopologicalSpace E
inst✝⁸ : TopologicalAddGroup E
inst✝⁷ : ContinuousSMul ℝ E
F : Type u_1
inst✝⁶ : AddCommGroup F
inst✝⁵ : Module ℝ F
inst✝⁴ : TopologicalSpace F
inst✝³ : TopologicalAddGroup F
inst✝² : ContinuousSMul ℝ F
X : Set E
ne_X : Set.Nonempty X
cX : Convex ℝ X
kX : IsCompact X
Y : Set F
ne_Y : Set.Nonempty Y
cY : Convex ℝ Y
kY : IsCompact Y
f : E → F → β
inst✝¹ : LinearOrder β
inst✝ : DenselyOrdered β
hfx' : ∀ x ∈ X, QuasiconcaveOn ℝ Y fun y => f x y
hfy : ∀ y ∈ Y, LowerSemicontinuousOn (fun x => f x y) X
hfy' : ∀ y ∈ Y, QuasiconvexOn ℝ X fun x => f x y
a : E
b b' : β
y y' : ↑Y
ha : ∀ x ∈ X, f a ↑y ⊔ f a ↑y' ≤ f x ↑y ⊔ f x ↑y'
hb : ∀ y ∈ Y, ∃ x ∈ X, f x y ≤ b
hb' : b' < f a ↑y ⊔ f a ↑y'
hbb' : b < b'
z : ↑(segment ℝ ↑y ↑y')
hz :
  ∃ᶠ (x : F) in nhdsWithin (↑z) Y,
    ∃ (h : x ∈ segment ℝ ↑y ↑y'), { val := x, property := h } ∈ ERealSion.J X Y f b b' y y'
x : ↑X
hx : x ∈ ERealSion.C X f b ↑z
hzY : ↑z ∈ Y
this : f ↑x ↑z < b'
hfx : ∀ᶠ (x' : F) in nhdsWithin (↑z) Y, f (↑x) x' < b'
⊢ ∀ᶠ (z' : F) in nhdsWithin (↑z) Y,
    (∃ (hz' : z' ∈ segment ℝ ↑y ↑y'), { val := z', property := hz' } ∈ ERealSion.J X Y f b b' y y') →
      ∃ (hz' : z' ∈ segment ℝ ↑y ↑y'),
        x ∈ ERealSion.C X f b' z' ∧ { val := z', property := hz' } ∈ ERealSion.J X Y f b b' y y'
Theorem: ERealSion.isClosed_J
Proof state before:
β : Type u_3
E : Type u_2
inst✝¹¹ : AddCommGroup E
inst✝¹⁰ : Module ℝ E
inst✝⁹ : TopologicalSpace E
inst✝⁸ : TopologicalAddGroup E
inst✝⁷ : ContinuousSMul ℝ E
F : Type u_1
inst✝⁶ : AddCommGroup F
inst✝⁵ : Module ℝ F
inst✝⁴ : TopologicalSpace F
inst✝³ : TopologicalAddGroup F
inst✝² : ContinuousSMul ℝ F
X : Set E
ne_X : Set.Nonempty X
cX : Convex ℝ X
kX : IsCompact X
Y : Set F
ne_Y : Set.Nonempty Y
cY : Convex ℝ Y
kY : IsCompact Y
f : E → F → β
inst✝¹ : LinearOrder β
inst✝ : DenselyOrdered β
hfx : ∀ x ∈ X, UpperSemicontinuousOn (fun y => f x y) Y
hfx' : ∀ x ∈ X, QuasiconcaveOn ℝ Y fun y => f x y
hfy : ∀ y ∈ Y, LowerSemicontinuousOn (fun x => f x y) X
hfy' : ∀ y ∈ Y, QuasiconvexOn ℝ X fun x => f x y
a : E
b b' : β
y y' : ↑Y
ha : ∀ x ∈ X, f a ↑y ⊔ f a ↑y' ≤ f x ↑y ⊔ f x ↑y'
hb : ∀ y ∈ Y, ∃ x ∈ X, f x y ≤ b
hb' : b' < f a ↑y ⊔ f a ↑y'
hbb' : b < b'
z : ↑(segment ℝ ↑y ↑y')
hz : ClusterPt z (Filter.principal (ERealSion.J X Y f b b' y y'))
x : ↑X
hx : x ∈ ERealSion.C X f b ↑z
hzY : ↑z ∈ Y
this : ∃ z' ∈ ERealSion.J X Y f b b' y y', x ∈ ERealSion.C X f b' ↑z'
⊢ x ∈ ERealSion.C X f b' ↑y
Tactic:
obtain ⟨z', hz', hxz'⟩ := this
Proof state after:
case intro.intro
β : Type u_3
E : Type u_2
inst✝¹¹ : AddCommGroup E
inst✝¹⁰ : Module ℝ E
inst✝⁹ : TopologicalSpace E
inst✝⁸ : TopologicalAddGroup E
inst✝⁷ : ContinuousSMul ℝ E
F : Type u_1
inst✝⁶ : AddCommGroup F
inst✝⁵ : Module ℝ F
inst✝⁴ : TopologicalSpace F
inst✝³ : TopologicalAddGroup F
inst✝² : ContinuousSMul ℝ F
X : Set E
ne_X : Set.Nonempty X
cX : Convex ℝ X
kX : IsCompact X
Y : Set F
ne_Y : Set.Nonempty Y
cY : Convex ℝ Y
kY : IsCompact Y
f : E → F → β
inst✝¹ : LinearOrder β
inst✝ : DenselyOrdered β
hfx : ∀ x ∈ X, UpperSemicontinuousOn (fun y => f x y) Y
hfx' : ∀ x ∈ X, QuasiconcaveOn ℝ Y fun y => f x y
hfy : ∀ y ∈ Y, LowerSemicontinuousOn (fun x => f x y) X
hfy' : ∀ y ∈ Y, QuasiconvexOn ℝ X fun x => f x y
a : E
b b' : β
y y' : ↑Y
ha : ∀ x ∈ X, f a ↑y ⊔ f a ↑y' ≤ f x ↑y ⊔ f x ↑y'
hb : ∀ y ∈ Y, ∃ x ∈ X, f x y ≤ b
hb' : b' < f a ↑y ⊔ f a ↑y'
hbb' : b < b'
z : ↑(segment ℝ ↑y ↑y')
hz : ClusterPt z (Filter.principal (ERealSion.J X Y f b b' y y'))
x : ↑X
hx : x ∈ ERealSion.C X f b ↑z
hzY : ↑z ∈ Y
z' : ↑(segment ℝ ↑y ↑y')
hz' : z' ∈ ERealSion.J X Y f b b' y y'
hxz' : x ∈ ERealSion.C X f b' ↑z'
⊢ x ∈ ERealSion.C X f b' ↑y
Theorem: ERealSion.isClosed_J
Proof state before:
case intro.intro
β : Type u_3
E : Type u_2
inst✝¹¹ : AddCommGroup E
inst✝¹⁰ : Module ℝ E
inst✝⁹ : TopologicalSpace E
inst✝⁸ : TopologicalAddGroup E
inst✝⁷ : ContinuousSMul ℝ E
F : Type u_1
inst✝⁶ : AddCommGroup F
inst✝⁵ : Module ℝ F
inst✝⁴ : TopologicalSpace F
inst✝³ : TopologicalAddGroup F
inst✝² : ContinuousSMul ℝ F
X : Set E
ne_X : Set.Nonempty X
cX : Convex ℝ X
kX : IsCompact X
Y : Set F
ne_Y : Set.Nonempty Y
cY : Convex ℝ Y
kY : IsCompact Y
f : E → F → β
inst✝¹ : LinearOrder β
inst✝ : DenselyOrdered β
hfx : ∀ x ∈ X, UpperSemicontinuousOn (fun y => f x y) Y
hfx' : ∀ x ∈ X, QuasiconcaveOn ℝ Y fun y => f x y
hfy : ∀ y ∈ Y, LowerSemicontinuousOn (fun x => f x y) X
hfy' : ∀ y ∈ Y, QuasiconvexOn ℝ X fun x => f x y
a : E
b b' : β
y y' : ↑Y
ha : ∀ x ∈ X, f a ↑y ⊔ f a ↑y' ≤ f x ↑y ⊔ f x ↑y'
hb : ∀ y ∈ Y, ∃ x ∈ X, f x y ≤ b
hb' : b' < f a ↑y ⊔ f a ↑y'
hbb' : b < b'
z : ↑(segment ℝ ↑y ↑y')
hz : ClusterPt z (Filter.principal (ERealSion.J X Y f b b' y y'))
x : ↑X
hx : x ∈ ERealSion.C X f b ↑z
hzY : ↑z ∈ Y
z' : ↑(segment ℝ ↑y ↑y')
hz' : z' ∈ ERealSion.J X Y f b b' y y'
hxz' : x ∈ ERealSion.C X f b' ↑z'
⊢ x ∈ ERealSion.C X f b' ↑y
Tactic:
suffices C X f b' z' ⊆ C X f b' y by
  exact this hxz'
Proof state after:
case intro.intro
β : Type u_3
E : Type u_2
inst✝¹¹ : AddCommGroup E
inst✝¹⁰ : Module ℝ E
inst✝⁹ : TopologicalSpace E
inst✝⁸ : TopologicalAddGroup E
inst✝⁷ : ContinuousSMul ℝ E
F : Type u_1
inst✝⁶ : AddCommGroup F
inst✝⁵ : Module ℝ F
inst✝⁴ : TopologicalSpace F
inst✝³ : TopologicalAddGroup F
inst✝² : ContinuousSMul ℝ F
X : Set E
ne_X : Set.Nonempty X
cX : Convex ℝ X
kX : IsCompact X
Y : Set F
ne_Y : Set.Nonempty Y
cY : Convex ℝ Y
kY : IsCompact Y
f : E → F → β
inst✝¹ : LinearOrder β
inst✝ : DenselyOrdered β
hfx : ∀ x ∈ X, UpperSemicontinuousOn (fun y => f x y) Y
hfx' : ∀ x ∈ X, QuasiconcaveOn ℝ Y fun y => f x y
hfy : ∀ y ∈ Y, LowerSemicontinuousOn (fun x => f x y) X
hfy' : ∀ y ∈ Y, QuasiconvexOn ℝ X fun x => f x y
a : E
b b' : β
y y' : ↑Y
ha : ∀ x ∈ X, f a ↑y ⊔ f a ↑y' ≤ f x ↑y ⊔ f x ↑y'
hb : ∀ y ∈ Y, ∃ x ∈ X, f x y ≤ b
hb' : b' < f a ↑y ⊔ f a ↑y'
hbb' : b < b'
z : ↑(segment ℝ ↑y ↑y')
hz : ClusterPt z (Filter.principal (ERealSion.J X Y f b b' y y'))
x : ↑X
hx : x ∈ ERealSion.C X f b ↑z
hzY : ↑z ∈ Y
z' : ↑(segment ℝ ↑y ↑y')
hz' : z' ∈ ERealSion.J X Y f b b' y y'
hxz' : x ∈ ERealSion.C X f b' ↑z'
⊢ ERealSion.C X f b' ↑z' ⊆ ERealSion.C X f b' ↑y
Theorem: ERealSion.isClosed_J
Proof state before:
case intro.intro
β : Type u_3
E : Type u_2
inst✝¹¹ : AddCommGroup E
inst✝¹⁰ : Module ℝ E
inst✝⁹ : TopologicalSpace E
inst✝⁸ : TopologicalAddGroup E
inst✝⁷ : ContinuousSMul ℝ E
F : Type u_1
inst✝⁶ : AddCommGroup F
inst✝⁵ : Module ℝ F
inst✝⁴ : TopologicalSpace F
inst✝³ : TopologicalAddGroup F
inst✝² : ContinuousSMul ℝ F
X : Set E
ne_X : Set.Nonempty X
cX : Convex ℝ X
kX : IsCompact X
Y : Set F
ne_Y : Set.Nonempty Y
cY : Convex ℝ Y
kY : IsCompact Y
f : E → F → β
inst✝¹ : LinearOrder β
inst✝ : DenselyOrdered β
hfx : ∀ x ∈ X, UpperSemicontinuousOn (fun y => f x y) Y
hfx' : ∀ x ∈ X, QuasiconcaveOn ℝ Y fun y => f x y
hfy : ∀ y ∈ Y, LowerSemicontinuousOn (fun x => f x y) X
hfy' : ∀ y ∈ Y, QuasiconvexOn ℝ X fun x => f x y
a : E
b b' : β
y y' : ↑Y
ha : ∀ x ∈ X, f a ↑y ⊔ f a ↑y' ≤ f x ↑y ⊔ f x ↑y'
hb : ∀ y ∈ Y, ∃ x ∈ X, f x y ≤ b
hb' : b' < f a ↑y ⊔ f a ↑y'
hbb' : b < b'
z : ↑(segment ℝ ↑y ↑y')
hz : ClusterPt z (Filter.principal (ERealSion.J X Y f b b' y y'))
x : ↑X
hx : x ∈ ERealSion.C X f b ↑z
hzY : ↑z ∈ Y
z' : ↑(segment ℝ ↑y ↑y')
hz' : z' ∈ ERealSion.J X Y f b b' y y'
hxz' : x ∈ ERealSion.C X f b' ↑z'
⊢ ERealSion.C X f b' ↑z' ⊆ ERealSion.C X f b' ↑y
Tactic:
apply Or.resolve_right (C_subset_or X Y cY f hfx' hfy hfy' a b' y y' ha hb' z')
Proof state after:
case intro.intro
β : Type u_3
E : Type u_2
inst✝¹¹ : AddCommGroup E
inst✝¹⁰ : Module ℝ E
inst✝⁹ : TopologicalSpace E
inst✝⁸ : TopologicalAddGroup E
inst✝⁷ : ContinuousSMul ℝ E
F : Type u_1
inst✝⁶ : AddCommGroup F
inst✝⁵ : Module ℝ F
inst✝⁴ : TopologicalSpace F
inst✝³ : TopologicalAddGroup F
inst✝² : ContinuousSMul ℝ F
X : Set E
ne_X : Set.Nonempty X
cX : Convex ℝ X
kX : IsCompact X
Y : Set F
ne_Y : Set.Nonempty Y
cY : Convex ℝ Y
kY : IsCompact Y
f : E → F → β
inst✝¹ : LinearOrder β
inst✝ : DenselyOrdered β
hfx : ∀ x ∈ X, UpperSemicontinuousOn (fun y => f x y) Y
hfx' : ∀ x ∈ X, QuasiconcaveOn ℝ Y fun y => f x y
hfy : ∀ y ∈ Y, LowerSemicontinuousOn (fun x => f x y) X
hfy' : ∀ y ∈ Y, QuasiconvexOn ℝ X fun x => f x y
a : E
b b' : β
y y' : ↑Y
ha : ∀ x ∈ X, f a ↑y ⊔ f a ↑y' ≤ f x ↑y ⊔ f x ↑y'
hb : ∀ y ∈ Y, ∃ x ∈ X, f x y ≤ b
hb' : b' < f a ↑y ⊔ f a ↑y'
hbb' : b < b'
z : ↑(segment ℝ ↑y ↑y')
hz : ClusterPt z (Filter.principal (ERealSion.J X Y f b b' y y'))
x : ↑X
hx : x ∈ ERealSion.C X f b ↑z
hzY : ↑z ∈ Y
z' : ↑(segment ℝ ↑y ↑y')
hz' : z' ∈ ERealSion.J X Y f b b' y y'
hxz' : x ∈ ERealSion.C X f b' ↑z'
⊢ ¬ERealSion.C X f b' ↑z' ⊆ ERealSion.C X f b' ↑y'
Theorem: ERealSion.isClosed_J
Proof state before:
case intro.intro
β : Type u_3
E : Type u_2
inst✝¹¹ : AddCommGroup E
inst✝¹⁰ : Module ℝ E
inst✝⁹ : TopologicalSpace E
inst✝⁸ : TopologicalAddGroup E
inst✝⁷ : ContinuousSMul ℝ E
F : Type u_1
inst✝⁶ : AddCommGroup F
inst✝⁵ : Module ℝ F
inst✝⁴ : TopologicalSpace F
inst✝³ : TopologicalAddGroup F
inst✝² : ContinuousSMul ℝ F
X : Set E
ne_X : Set.Nonempty X
cX : Convex ℝ X
kX : IsCompact X
Y : Set F
ne_Y : Set.Nonempty Y
cY : Convex ℝ Y
kY : IsCompact Y
f : E → F → β
inst✝¹ : LinearOrder β
inst✝ : DenselyOrdered β
hfx : ∀ x ∈ X, UpperSemicontinuousOn (fun y => f x y) Y
hfx' : ∀ x ∈ X, QuasiconcaveOn ℝ Y fun y => f x y
hfy : ∀ y ∈ Y, LowerSemicontinuousOn (fun x => f x y) X
hfy' : ∀ y ∈ Y, QuasiconvexOn ℝ X fun x => f x y
a : E
b b' : β
y y' : ↑Y
ha : ∀ x ∈ X, f a ↑y ⊔ f a ↑y' ≤ f x ↑y ⊔ f x ↑y'
hb : ∀ y ∈ Y, ∃ x ∈ X, f x y ≤ b
hb' : b' < f a ↑y ⊔ f a ↑y'
hbb' : b < b'
z : ↑(segment ℝ ↑y ↑y')
hz : ClusterPt z (Filter.principal (ERealSion.J X Y f b b' y y'))
x : ↑X
hx : x ∈ ERealSion.C X f b ↑z
hzY : ↑z ∈ Y
z' : ↑(segment ℝ ↑y ↑y')
hz' : z' ∈ ERealSion.J X Y f b b' y y'
hxz' : x ∈ ERealSion.C X f b' ↑z'
⊢ ¬ERealSion.C X f b' ↑z' ⊆ ERealSion.C X f b' ↑y'
Tactic:
intro hz'2
Proof state after:
case intro.intro
β : Type u_3
E : Type u_2
inst✝¹¹ : AddCommGroup E
inst✝¹⁰ : Module ℝ E
inst✝⁹ : TopologicalSpace E
inst✝⁸ : TopologicalAddGroup E
inst✝⁷ : ContinuousSMul ℝ E
F : Type u_1
inst✝⁶ : AddCommGroup F
inst✝⁵ : Module ℝ F
inst✝⁴ : TopologicalSpace F
inst✝³ : TopologicalAddGroup F
inst✝² : ContinuousSMul ℝ F
X : Set E
ne_X : Set.Nonempty X
cX : Convex ℝ X
kX : IsCompact X
Y : Set F
ne_Y : Set.Nonempty Y
cY : Convex ℝ Y
kY : IsCompact Y
f : E → F → β
inst✝¹ : LinearOrder β
inst✝ : DenselyOrdered β
hfx : ∀ x ∈ X, UpperSemicontinuousOn (fun y => f x y) Y
hfx' : ∀ x ∈ X, QuasiconcaveOn ℝ Y fun y => f x y
hfy : ∀ y ∈ Y, LowerSemicontinuousOn (fun x => f x y) X
hfy' : ∀ y ∈ Y, QuasiconvexOn ℝ X fun x => f x y
a : E
b b' : β
y y' : ↑Y
ha : ∀ x ∈ X, f a ↑y ⊔ f a ↑y' ≤ f x ↑y ⊔ f x ↑y'
hb : ∀ y ∈ Y, ∃ x ∈ X, f x y ≤ b
hb' : b' < f a ↑y ⊔ f a ↑y'
hbb' : b < b'
z : ↑(segment ℝ ↑y ↑y')
hz : ClusterPt z (Filter.principal (ERealSion.J X Y f b b' y y'))
x : ↑X
hx : x ∈ ERealSion.C X f b ↑z
hzY : ↑z ∈ Y
z' : ↑(segment ℝ ↑y ↑y')
hz' : z' ∈ ERealSion.J X Y f b b' y y'
hxz' : x ∈ ERealSion.C X f b' ↑z'
hz'2 : ERealSion.C X f b' ↑z' ⊆ ERealSion.C X f b' ↑y'
⊢ False
Theorem: ERealSion.isClosed_J
Proof state before:
case intro.intro
β : Type u_3
E : Type u_2
inst✝¹¹ : AddCommGroup E
inst✝¹⁰ : Module ℝ E
inst✝⁹ : TopologicalSpace E
inst✝⁸ : TopologicalAddGroup E
inst✝⁷ : ContinuousSMul ℝ E
F : Type u_1
inst✝⁶ : AddCommGroup F
inst✝⁵ : Module ℝ F
inst✝⁴ : TopologicalSpace F
inst✝³ : TopologicalAddGroup F
inst✝² : ContinuousSMul ℝ F
X : Set E
ne_X : Set.Nonempty X
cX : Convex ℝ X
kX : IsCompact X
Y : Set F
ne_Y : Set.Nonempty Y
cY : Convex ℝ Y
kY : IsCompact Y
f : E → F → β
inst✝¹ : LinearOrder β
inst✝ : DenselyOrdered β
hfx : ∀ x ∈ X, UpperSemicontinuousOn (fun y => f x y) Y
hfx' : ∀ x ∈ X, QuasiconcaveOn ℝ Y fun y => f x y
hfy : ∀ y ∈ Y, LowerSemicontinuousOn (fun x => f x y) X
hfy' : ∀ y ∈ Y, QuasiconvexOn ℝ X fun x => f x y
a : E
b b' : β
y y' : ↑Y
ha : ∀ x ∈ X, f a ↑y ⊔ f a ↑y' ≤ f x ↑y ⊔ f x ↑y'
hb : ∀ y ∈ Y, ∃ x ∈ X, f x y ≤ b
hb' : b' < f a ↑y ⊔ f a ↑y'
hbb' : b < b'
z : ↑(segment ℝ ↑y ↑y')
hz : ClusterPt z (Filter.principal (ERealSion.J X Y f b b' y y'))
x : ↑X
hx : x ∈ ERealSion.C X f b ↑z
hzY : ↑z ∈ Y
z' : ↑(segment ℝ ↑y ↑y')
hz' : z' ∈ ERealSion.J X Y f b b' y y'
hxz' : x ∈ ERealSion.C X f b' ↑z'
hz'2 : ERealSion.C X f b' ↑z' ⊆ ERealSion.C X f b' ↑y'
⊢ False
Tactic:
have hz'Y :=(convex_iff_segment_subset.mp cY) y.prop y'.prop z'.prop
Proof state after:
case intro.intro
β : Type u_3
E : Type u_2
inst✝¹¹ : AddCommGroup E
inst✝¹⁰ : Module ℝ E
inst✝⁹ : TopologicalSpace E
inst✝⁸ : TopologicalAddGroup E
inst✝⁷ : ContinuousSMul ℝ E
F : Type u_1
inst✝⁶ : AddCommGroup F
inst✝⁵ : Module ℝ F
inst✝⁴ : TopologicalSpace F
inst✝³ : TopologicalAddGroup F
inst✝² : ContinuousSMul ℝ F
X : Set E
ne_X : Set.Nonempty X
cX : Convex ℝ X
kX : IsCompact X
Y : Set F
ne_Y : Set.Nonempty Y
cY : Convex ℝ Y
kY : IsCompact Y
f : E → F → β
inst✝¹ : LinearOrder β
inst✝ : DenselyOrdered β
hfx : ∀ x ∈ X, UpperSemicontinuousOn (fun y => f x y) Y
hfx' : ∀ x ∈ X, QuasiconcaveOn ℝ Y fun y => f x y
hfy : ∀ y ∈ Y, LowerSemicontinuousOn (fun x => f x y) X
hfy' : ∀ y ∈ Y, QuasiconvexOn ℝ X fun x => f x y
a : E
b b' : β
y y' : ↑Y
ha : ∀ x ∈ X, f a ↑y ⊔ f a ↑y' ≤ f x ↑y ⊔ f x ↑y'
hb : ∀ y ∈ Y, ∃ x ∈ X, f x y ≤ b
hb' : b' < f a ↑y ⊔ f a ↑y'
hbb' : b < b'
z : ↑(segment ℝ ↑y ↑y')
hz : ClusterPt z (Filter.principal (ERealSion.J X Y f b b' y y'))
x : ↑X
hx : x ∈ ERealSion.C X f b ↑z
hzY : ↑z ∈ Y
z' : ↑(segment ℝ ↑y ↑y')
hz' : z' ∈ ERealSion.J X Y f b b' y y'
hxz' : x ∈ ERealSion.C X f b' ↑z'
hz'2 : ERealSion.C X f b' ↑z' ⊆ ERealSion.C X f b' ↑y'
hz'Y : ↑z' ∈ Y
⊢ False
Theorem: ERealSion.isClosed_J
Proof state before:
case intro.intro
β : Type u_3
E : Type u_2
inst✝¹¹ : AddCommGroup E
inst✝¹⁰ : Module ℝ E
inst✝⁹ : TopologicalSpace E
inst✝⁸ : TopologicalAddGroup E
inst✝⁷ : ContinuousSMul ℝ E
F : Type u_1
inst✝⁶ : AddCommGroup F
inst✝⁵ : Module ℝ F
inst✝⁴ : TopologicalSpace F
inst✝³ : TopologicalAddGroup F
inst✝² : ContinuousSMul ℝ F
X : Set E
ne_X : Set.Nonempty X
cX : Convex ℝ X
kX : IsCompact X
Y : Set F
ne_Y : Set.Nonempty Y
cY : Convex ℝ Y
kY : IsCompact Y
f : E → F → β
inst✝¹ : LinearOrder β
inst✝ : DenselyOrdered β
hfx : ∀ x ∈ X, UpperSemicontinuousOn (fun y => f x y) Y
hfx' : ∀ x ∈ X, QuasiconcaveOn ℝ Y fun y => f x y
hfy : ∀ y ∈ Y, LowerSemicontinuousOn (fun x => f x y) X
hfy' : ∀ y ∈ Y, QuasiconvexOn ℝ X fun x => f x y
a : E
b b' : β
y y' : ↑Y
ha : ∀ x ∈ X, f a ↑y ⊔ f a ↑y' ≤ f x ↑y ⊔ f x ↑y'
hb : ∀ y ∈ Y, ∃ x ∈ X, f x y ≤ b
hb' : b' < f a ↑y ⊔ f a ↑y'
hbb' : b < b'
z : ↑(segment ℝ ↑y ↑y')
hz : ClusterPt z (Filter.principal (ERealSion.J X Y f b b' y y'))
x : ↑X
hx : x ∈ ERealSion.C X f b ↑z
hzY : ↑z ∈ Y
z' : ↑(segment ℝ ↑y ↑y')
hz' : z' ∈ ERealSion.J X Y f b b' y y'
hxz' : x ∈ ERealSion.C X f b' ↑z'
hz'2 : ERealSion.C X f b' ↑z' ⊆ ERealSion.C X f b' ↑y'
hz'Y : ↑z' ∈ Y
⊢ False
Tactic:
apply (nonempty_C X ne_X kX Y f hfy ⟨z', hz'Y⟩ hb).not_subset_empty
Proof state after:
case intro.intro
β : Type u_3
E : Type u_2
inst✝¹¹ : AddCommGroup E
inst✝¹⁰ : Module ℝ E
inst✝⁹ : TopologicalSpace E
inst✝⁸ : TopologicalAddGroup E
inst✝⁷ : ContinuousSMul ℝ E
F : Type u_1
inst✝⁶ : AddCommGroup F
inst✝⁵ : Module ℝ F
inst✝⁴ : TopologicalSpace F
inst✝³ : TopologicalAddGroup F
inst✝² : ContinuousSMul ℝ F
X : Set E
ne_X : Set.Nonempty X
cX : Convex ℝ X
kX : IsCompact X
Y : Set F
ne_Y : Set.Nonempty Y
cY : Convex ℝ Y
kY : IsCompact Y
f : E → F → β
inst✝¹ : LinearOrder β
inst✝ : DenselyOrdered β
hfx : ∀ x ∈ X, UpperSemicontinuousOn (fun y => f x y) Y
hfx' : ∀ x ∈ X, QuasiconcaveOn ℝ Y fun y => f x y
hfy : ∀ y ∈ Y, LowerSemicontinuousOn (fun x => f x y) X
hfy' : ∀ y ∈ Y, QuasiconvexOn ℝ X fun x => f x y
a : E
b b' : β
y y' : ↑Y
ha : ∀ x ∈ X, f a ↑y ⊔ f a ↑y' ≤ f x ↑y ⊔ f x ↑y'
hb : ∀ y ∈ Y, ∃ x ∈ X, f x y ≤ b
hb' : b' < f a ↑y ⊔ f a ↑y'
hbb' : b < b'
z : ↑(segment ℝ ↑y ↑y')
hz : ClusterPt z (Filter.principal (ERealSion.J X Y f b b' y y'))
x : ↑X
hx : x ∈ ERealSion.C X f b ↑z
hzY : ↑z ∈ Y
z' : ↑(segment ℝ ↑y ↑y')
hz' : z' ∈ ERealSion.J X Y f b b' y y'
hxz' : x ∈ ERealSion.C X f b' ↑z'
hz'2 : ERealSion.C X f b' ↑z' ⊆ ERealSion.C X f b' ↑y'
hz'Y : ↑z' ∈ Y
⊢ ERealSion.C X f b ↑{ val := ↑z', property := hz'Y } ⊆ ∅
Theorem: ERealSion.isClosed_J
Proof state before:
case intro.intro
β : Type u_3
E : Type u_2
inst✝¹¹ : AddCommGroup E
inst✝¹⁰ : Module ℝ E
inst✝⁹ : TopologicalSpace E
inst✝⁸ : TopologicalAddGroup E
inst✝⁷ : ContinuousSMul ℝ E
F : Type u_1
inst✝⁶ : AddCommGroup F
inst✝⁵ : Module ℝ F
inst✝⁴ : TopologicalSpace F
inst✝³ : TopologicalAddGroup F
inst✝² : ContinuousSMul ℝ F
X : Set E
ne_X : Set.Nonempty X
cX : Convex ℝ X
kX : IsCompact X
Y : Set F
ne_Y : Set.Nonempty Y
cY : Convex ℝ Y
kY : IsCompact Y
f : E → F → β
inst✝¹ : LinearOrder β
inst✝ : DenselyOrdered β
hfx : ∀ x ∈ X, UpperSemicontinuousOn (fun y => f x y) Y
hfx' : ∀ x ∈ X, QuasiconcaveOn ℝ Y fun y => f x y
hfy : ∀ y ∈ Y, LowerSemicontinuousOn (fun x => f x y) X
hfy' : ∀ y ∈ Y, QuasiconvexOn ℝ X fun x => f x y
a : E
b b' : β
y y' : ↑Y
ha : ∀ x ∈ X, f a ↑y ⊔ f a ↑y' ≤ f x ↑y ⊔ f x ↑y'
hb : ∀ y ∈ Y, ∃ x ∈ X, f x y ≤ b
hb' : b' < f a ↑y ⊔ f a ↑y'
hbb' : b < b'
z : ↑(segment ℝ ↑y ↑y')
hz : ClusterPt z (Filter.principal (ERealSion.J X Y f b b' y y'))
x : ↑X
hx : x ∈ ERealSion.C X f b ↑z
hzY : ↑z ∈ Y
z' : ↑(segment ℝ ↑y ↑y')
hz' : z' ∈ ERealSion.J X Y f b b' y y'
hxz' : x ∈ ERealSion.C X f b' ↑z'
hz'2 : ERealSion.C X f b' ↑z' ⊆ ERealSion.C X f b' ↑y'
hz'Y : ↑z' ∈ Y
⊢ ERealSion.C X f b ↑{ val := ↑z', property := hz'Y } ⊆ ∅
Tactic:
simp only [← disjoint_iff_inter_eq_empty.mp (disjoint_C X Y f a b' y y' ha hb')]
Proof state after:
case intro.intro
β : Type u_3
E : Type u_2
inst✝¹¹ : AddCommGroup E
inst✝¹⁰ : Module ℝ E
inst✝⁹ : TopologicalSpace E
inst✝⁸ : TopologicalAddGroup E
inst✝⁷ : ContinuousSMul ℝ E
F : Type u_1
inst✝⁶ : AddCommGroup F
inst✝⁵ : Module ℝ F
inst✝⁴ : TopologicalSpace F
inst✝³ : TopologicalAddGroup F
inst✝² : ContinuousSMul ℝ F
X : Set E
ne_X : Set.Nonempty X
cX : Convex ℝ X
kX : IsCompact X
Y : Set F
ne_Y : Set.Nonempty Y
cY : Convex ℝ Y
kY : IsCompact Y
f : E → F → β
inst✝¹ : LinearOrder β
inst✝ : DenselyOrdered β
hfx : ∀ x ∈ X, UpperSemicontinuousOn (fun y => f x y) Y
hfx' : ∀ x ∈ X, QuasiconcaveOn ℝ Y fun y => f x y
hfy : ∀ y ∈ Y, LowerSemicontinuousOn (fun x => f x y) X
hfy' : ∀ y ∈ Y, QuasiconvexOn ℝ X fun x => f x y
a : E
b b' : β
y y' : ↑Y
ha : ∀ x ∈ X, f a ↑y ⊔ f a ↑y' ≤ f x ↑y ⊔ f x ↑y'
hb : ∀ y ∈ Y, ∃ x ∈ X, f x y ≤ b
hb' : b' < f a ↑y ⊔ f a ↑y'
hbb' : b < b'
z : ↑(segment ℝ ↑y ↑y')
hz : ClusterPt z (Filter.principal (ERealSion.J X Y f b b' y y'))
x : ↑X
hx : x ∈ ERealSion.C X f b ↑z
hzY : ↑z ∈ Y
z' : ↑(segment ℝ ↑y ↑y')
hz' : z' ∈ ERealSion.J X Y f b b' y y'
hxz' : x ∈ ERealSion.C X f b' ↑z'
hz'2 : ERealSion.C X f b' ↑z' ⊆ ERealSion.C X f b' ↑y'
hz'Y : ↑z' ∈ Y
⊢ ERealSion.C X f b ↑z' ⊆ ERealSion.C X f b' ↑y ∩ ERealSion.C X f b' ↑y'