awhecmu/canonical-drafter-extract-mathlib huggingface dataset:
-- Module: Mathlib.Topology.Sion
Goal:
E : Type u_1
F : Type u_2
β : Type u_3
inst : LinearOrder β
X : Set E
Y : Set F
f : E → F → β
inst_1 : TopologicalSpace E
inst_2 : AddCommGroup E
inst_3 : Module ℝ E
inst_4 : IsTopologicalAddGroup E
inst_5 : ContinuousSMul ℝ E
ne_X : X.Nonempty
kX : IsCompact X
hfy : ∀ y ∈ Y, LowerSemicontinuousOn.{u_1, u_3} (β := β) (fun (x : E) ↦ f x y) X
hfy' : ∀ y ∈ Y, QuasiconvexOn.{0, u_1, u_3} ℝ (β := β) X fun (x : E) ↦ f x y
inst_6 : TopologicalSpace F
inst_7 : AddCommGroup F
inst_8 : Module ℝ F
cY : Convex ℝ Y
hfx : ∀ x ∈ X, UpperSemicontinuousOn.{u_2, u_3} (β := β) (fun (y : F) ↦ f x y) Y
hfx' : ∀ x ∈ X, QuasiconcaveOn.{0, u_2, u_3} ℝ (β := β) Y fun (y : F) ↦ f x y
inst_9 : DenselyOrdered β
inst_10 : IsTopologicalAddGroup F
inst_11 : ContinuousSMul ℝ F
t : β
hinfi_le : ∀ (y0 : F) (_ : y0 ∈ Y), ∃ x ∈ X, f x y0 ≤ t
a : E
ha : a ∈ X
t' : β
htt' : t < t'
y1 y2 : { x : F // x ∈ Y }
ht : ∀ x ∈ X, t < max (f x (↑y1 : F)) (f x (↑y2 : F))
ha' : IsMinOn.{u_1, u_3} (β := β) (fun (x : E) ↦ max (f x (↑y1 : F)) (f x (↑y2 : F))) X a
ht' : t' < max (f a (↑y1 : F)) (f a (↑y2 : F))
J1 : Set (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2) := setOf_sublevelLeft_subset X Y f t t' y1 y2
mem_J1_iff :
  ∀ (z : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2)),
    z ∈ J1 ↔ sublevelLeft X f t (↑z : F) ⊆ sublevelLeft X f t' (↑y1 : F)
φ : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2) ≃ₜ (↑(segment ℝ (↑y2 : F) (↑y1 : F)) : Type u_2) :=
  Homeomorph.setCongr (s := segment ℝ (↑y1 : F) (↑y2 : F)) (t := segment ℝ (↑y2 : F) (↑y1 : F)) ⋯
J2 : Set (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2) :=
  preimage (β := (↑(segment ℝ (↑y2 : F) (↑y1 : F)) : Type u_2))
    (⇑φ : (a : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2)) → (↑(segment ℝ (↑y2 : F) (↑y1 : F)) : Type u_2))
    (setOf_sublevelLeft_subset X Y f t t' y2 y1)
mem_J2_iff :
  ∀ (z : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2)),
    z ∈ J2 ↔ sublevelLeft X f t (↑z : F) ⊆ sublevelLeft X f t' (↑y2 : F)
h_mem_Y : ∀ (z : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2)), (↑z : F) ∈ Y
hJ1J2 : J1 ∩ J2 = ∅
z : { x : F // x ∈ segment ℝ (↑y1 : F) (↑y2 : F) }
⊢ (↑z : F) ∈ Subtype.val (p := fun (x : F) ↦ x ∈ segment ℝ (↑y1 : F) (↑y2 : F)) '' (J1 ∪ J2)

Tactic:
⟨z, ?_, rfl⟩

Premises used: Set.Mem, setOf, And.intro, Exists.intro, Set.image, rfl
-- Module: Mathlib.Topology.Sion
Goal:
E : Type u_1
F : Type u_2
β : Type u_3
inst : LinearOrder β
X : Set E
Y : Set F
f : E → F → β
inst_1 : TopologicalSpace E
inst_2 : AddCommGroup E
inst_3 : Module ℝ E
inst_4 : IsTopologicalAddGroup E
inst_5 : ContinuousSMul ℝ E
ne_X : X.Nonempty
kX : IsCompact X
hfy : ∀ y ∈ Y, LowerSemicontinuousOn.{u_1, u_3} (β := β) (fun (x : E) ↦ f x y) X
hfy' : ∀ y ∈ Y, QuasiconvexOn.{0, u_1, u_3} ℝ (β := β) X fun (x : E) ↦ f x y
inst_6 : TopologicalSpace F
inst_7 : AddCommGroup F
inst_8 : Module ℝ F
cY : Convex ℝ Y
hfx : ∀ x ∈ X, UpperSemicontinuousOn.{u_2, u_3} (β := β) (fun (y : F) ↦ f x y) Y
hfx' : ∀ x ∈ X, QuasiconcaveOn.{0, u_2, u_3} ℝ (β := β) Y fun (y : F) ↦ f x y
inst_9 : DenselyOrdered β
inst_10 : IsTopologicalAddGroup F
inst_11 : ContinuousSMul ℝ F
t : β
hinfi_le : ∀ (y0 : F) (_ : y0 ∈ Y), ∃ x ∈ X, f x y0 ≤ t
a : E
ha : a ∈ X
t' : β
htt' : t < t'
y1 y2 : { x : F // x ∈ Y }
ht : ∀ x ∈ X, t < max (f x (↑y1 : F)) (f x (↑y2 : F))
ha' : IsMinOn.{u_1, u_3} (β := β) (fun (x : E) ↦ max (f x (↑y1 : F)) (f x (↑y2 : F))) X a
ht' : t' < max (f a (↑y1 : F)) (f a (↑y2 : F))
J1 : Set (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2) := setOf_sublevelLeft_subset X Y f t t' y1 y2
mem_J1_iff :
  ∀ (z : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2)),
    z ∈ J1 ↔ sublevelLeft X f t (↑z : F) ⊆ sublevelLeft X f t' (↑y1 : F)
φ : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2) ≃ₜ (↑(segment ℝ (↑y2 : F) (↑y1 : F)) : Type u_2) :=
  Homeomorph.setCongr (s := segment ℝ (↑y1 : F) (↑y2 : F)) (t := segment ℝ (↑y2 : F) (↑y1 : F)) ⋯
J2 : Set (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2) :=
  preimage (β := (↑(segment ℝ (↑y2 : F) (↑y1 : F)) : Type u_2))
    (⇑φ : (a : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2)) → (↑(segment ℝ (↑y2 : F) (↑y1 : F)) : Type u_2))
    (setOf_sublevelLeft_subset X Y f t t' y2 y1)
mem_J2_iff :
  ∀ (z : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2)),
    z ∈ J2 ↔ sublevelLeft X f t (↑z : F) ⊆ sublevelLeft X f t' (↑y2 : F)
h_mem_Y : ∀ (z : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2)), (↑z : F) ∈ Y
hJ1J2 : J1 ∩ J2 = ∅
z : { x : F // x ∈ segment ℝ (↑y1 : F) (↑y2 : F) }
refine : z ∈ J1 ∪ J2
⊢ (↑z : F) ∈ Subtype.val (p := fun (x : F) ↦ x ∈ segment ℝ (↑y1 : F) (↑y2 : F)) '' (J1 ∪ J2)

Tactic:
refine ⟨z, ?_, rfl⟩
-- Module: Mathlib.Topology.Sion
Goal:
E : Type u_1
F : Type u_2
β : Type u_3
inst : LinearOrder β
X : Set E
Y : Set F
f : E → F → β
inst_1 : TopologicalSpace E
inst_2 : AddCommGroup E
inst_3 : Module ℝ E
inst_4 : IsTopologicalAddGroup E
inst_5 : ContinuousSMul ℝ E
ne_X : X.Nonempty
kX : IsCompact X
hfy : ∀ y ∈ Y, LowerSemicontinuousOn.{u_1, u_3} (β := β) (fun (x : E) ↦ f x y) X
hfy' : ∀ y ∈ Y, QuasiconvexOn.{0, u_1, u_3} ℝ (β := β) X fun (x : E) ↦ f x y
inst_6 : TopologicalSpace F
inst_7 : AddCommGroup F
inst_8 : Module ℝ F
cY : Convex ℝ Y
hfx : ∀ x ∈ X, UpperSemicontinuousOn.{u_2, u_3} (β := β) (fun (y : F) ↦ f x y) Y
hfx' : ∀ x ∈ X, QuasiconcaveOn.{0, u_2, u_3} ℝ (β := β) Y fun (y : F) ↦ f x y
inst_9 : DenselyOrdered β
inst_10 : IsTopologicalAddGroup F
inst_11 : ContinuousSMul ℝ F
t : β
hinfi_le : ∀ (y0 : F) (_ : y0 ∈ Y), ∃ x ∈ X, f x y0 ≤ t
a : E
ha : a ∈ X
t' : β
htt' : t < t'
y1 y2 : { x : F // x ∈ Y }
ht : ∀ x ∈ X, t < max (f x (↑y1 : F)) (f x (↑y2 : F))
ha' : IsMinOn.{u_1, u_3} (β := β) (fun (x : E) ↦ max (f x (↑y1 : F)) (f x (↑y2 : F))) X a
ht' : t' < max (f a (↑y1 : F)) (f a (↑y2 : F))
J1 : Set (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2) := setOf_sublevelLeft_subset X Y f t t' y1 y2
mem_J1_iff :
  ∀ (z : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2)),
    z ∈ J1 ↔ sublevelLeft X f t (↑z : F) ⊆ sublevelLeft X f t' (↑y1 : F)
φ : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2) ≃ₜ (↑(segment ℝ (↑y2 : F) (↑y1 : F)) : Type u_2) :=
  Homeomorph.setCongr (s := segment ℝ (↑y1 : F) (↑y2 : F)) (t := segment ℝ (↑y2 : F) (↑y1 : F)) ⋯
J2 : Set (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2) :=
  preimage (β := (↑(segment ℝ (↑y2 : F) (↑y1 : F)) : Type u_2))
    (⇑φ : (a : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2)) → (↑(segment ℝ (↑y2 : F) (↑y1 : F)) : Type u_2))
    (setOf_sublevelLeft_subset X Y f t t' y2 y1)
mem_J2_iff :
  ∀ (z : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2)),
    z ∈ J2 ↔ sublevelLeft X f t (↑z : F) ⊆ sublevelLeft X f t' (↑y2 : F)
h_mem_Y : ∀ (z : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2)), (↑z : F) ∈ Y
hJ1J2 : J1 ∩ J2 = ∅
z : { x : F // x ∈ segment ℝ (↑y1 : F) (↑y2 : F) }
apply : ∀ (h1 : sublevelLeft X f t' (↑z : F) ⊆ sublevelLeft X f t' (↑y1 : F)), z ∈ J1
apply₁ : ∀ (h2 : sublevelLeft X f t' (↑z : F) ⊆ sublevelLeft X f t' (↑y2 : F)), z ∈ J2
⊢ z ∈ J1 ∪ J2

Tactic:
apply sublevelLeft_subset_or hfx' hfy hfy' cY a t' y1 y2 ha' ht' z |>.imp
      (fun h1 ↦ ?_) (fun h2 ↦ ?_)

Premises used: _private.0.Sion.sublevelLeft_subset_or, Or.imp
-- Module: Mathlib.Topology.Sion
Goal:
E : Type u_1
F : Type u_2
β : Type u_3
inst : LinearOrder β
X : Set E
Y : Set F
f : E → F → β
inst_1 : TopologicalSpace E
inst_2 : AddCommGroup E
inst_3 : Module ℝ E
inst_4 : IsTopologicalAddGroup E
inst_5 : ContinuousSMul ℝ E
ne_X : X.Nonempty
kX : IsCompact X
hfy : ∀ y ∈ Y, LowerSemicontinuousOn.{u_1, u_3} (β := β) (fun (x : E) ↦ f x y) X
hfy' : ∀ y ∈ Y, QuasiconvexOn.{0, u_1, u_3} ℝ (β := β) X fun (x : E) ↦ f x y
inst_6 : TopologicalSpace F
inst_7 : AddCommGroup F
inst_8 : Module ℝ F
cY : Convex ℝ Y
hfx : ∀ x ∈ X, UpperSemicontinuousOn.{u_2, u_3} (β := β) (fun (y : F) ↦ f x y) Y
hfx' : ∀ x ∈ X, QuasiconcaveOn.{0, u_2, u_3} ℝ (β := β) Y fun (y : F) ↦ f x y
inst_9 : DenselyOrdered β
inst_10 : IsTopologicalAddGroup F
inst_11 : ContinuousSMul ℝ F
t : β
hinfi_le : ∀ (y0 : F) (_ : y0 ∈ Y), ∃ x ∈ X, f x y0 ≤ t
a : E
ha : a ∈ X
t' : β
htt' : t < t'
y1 y2 : { x : F // x ∈ Y }
ht : ∀ x ∈ X, t < max (f x (↑y1 : F)) (f x (↑y2 : F))
ha' : IsMinOn.{u_1, u_3} (β := β) (fun (x : E) ↦ max (f x (↑y1 : F)) (f x (↑y2 : F))) X a
ht' : t' < max (f a (↑y1 : F)) (f a (↑y2 : F))
J1 : Set (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2) := setOf_sublevelLeft_subset X Y f t t' y1 y2
mem_J1_iff :
  ∀ (z : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2)),
    z ∈ J1 ↔ sublevelLeft X f t (↑z : F) ⊆ sublevelLeft X f t' (↑y1 : F)
φ : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2) ≃ₜ (↑(segment ℝ (↑y2 : F) (↑y1 : F)) : Type u_2) :=
  Homeomorph.setCongr (s := segment ℝ (↑y1 : F) (↑y2 : F)) (t := segment ℝ (↑y2 : F) (↑y1 : F)) ⋯
J2 : Set (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2) :=
  preimage (β := (↑(segment ℝ (↑y2 : F) (↑y1 : F)) : Type u_2))
    (⇑φ : (a : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2)) → (↑(segment ℝ (↑y2 : F) (↑y1 : F)) : Type u_2))
    (setOf_sublevelLeft_subset X Y f t t' y2 y1)
mem_J2_iff :
  ∀ (z : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2)),
    z ∈ J2 ↔ sublevelLeft X f t (↑z : F) ⊆ sublevelLeft X f t' (↑y2 : F)
h_mem_Y : ∀ (z : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2)), (↑z : F) ∈ Y
hJ1J2 : J1 ∩ J2 = ∅
z : { x : F // x ∈ segment ℝ (↑y1 : F) (↑y2 : F) }
h1 : sublevelLeft X f t' (↑z : F) ⊆ sublevelLeft X f t' (↑y1 : F)
grw : sublevelLeft X f t (↑z : F) ⊆ sublevelLeft X f t' (↑y1 : F)
grw₁ : sublevelLeft X f t' (↑(Subtype.mk (p := fun (x : F) ↦ x ∈ Y) (↑z : F) ⋯) : F) ⊆ sublevelLeft X f t' (↑y1 : F)
grw₂ grw₃ : sublevelLeft X f t' (↑y1 : F) ⊆ sublevelLeft X f t' (↑y1 : F)
⊢ z ∈ J1

Tactic:
grw [mem_J1_iff, (monotone_sublevelLeft ⟨(z : F), h_mem_Y z⟩ htt'.le), h1]

Premises used: LT.lt.le, Subtype.mk, _private.0.Sion.monotone_sublevelLeft, Subtype.val
-- Module: Mathlib.Topology.Sion
Goal:
E : Type u_1
F : Type u_2
β : Type u_3
inst : LinearOrder β
X : Set E
Y : Set F
f : E → F → β
inst_1 : TopologicalSpace E
inst_2 : AddCommGroup E
inst_3 : Module ℝ E
inst_4 : IsTopologicalAddGroup E
inst_5 : ContinuousSMul ℝ E
ne_X : X.Nonempty
kX : IsCompact X
hfy : ∀ y ∈ Y, LowerSemicontinuousOn.{u_1, u_3} (β := β) (fun (x : E) ↦ f x y) X
hfy' : ∀ y ∈ Y, QuasiconvexOn.{0, u_1, u_3} ℝ (β := β) X fun (x : E) ↦ f x y
inst_6 : TopologicalSpace F
inst_7 : AddCommGroup F
inst_8 : Module ℝ F
cY : Convex ℝ Y
hfx : ∀ x ∈ X, UpperSemicontinuousOn.{u_2, u_3} (β := β) (fun (y : F) ↦ f x y) Y
hfx' : ∀ x ∈ X, QuasiconcaveOn.{0, u_2, u_3} ℝ (β := β) Y fun (y : F) ↦ f x y
inst_9 : DenselyOrdered β
inst_10 : IsTopologicalAddGroup F
inst_11 : ContinuousSMul ℝ F
t : β
hinfi_le : ∀ (y0 : F) (_ : y0 ∈ Y), ∃ x ∈ X, f x y0 ≤ t
a : E
ha : a ∈ X
t' : β
htt' : t < t'
y1 y2 : { x : F // x ∈ Y }
ht : ∀ x ∈ X, t < max (f x (↑y1 : F)) (f x (↑y2 : F))
ha' : IsMinOn.{u_1, u_3} (β := β) (fun (x : E) ↦ max (f x (↑y1 : F)) (f x (↑y2 : F))) X a
ht' : t' < max (f a (↑y1 : F)) (f a (↑y2 : F))
J1 : Set (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2) := setOf_sublevelLeft_subset X Y f t t' y1 y2
mem_J1_iff :
  ∀ (z : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2)),
    z ∈ J1 ↔ sublevelLeft X f t (↑z : F) ⊆ sublevelLeft X f t' (↑y1 : F)
φ : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2) ≃ₜ (↑(segment ℝ (↑y2 : F) (↑y1 : F)) : Type u_2) :=
  Homeomorph.setCongr (s := segment ℝ (↑y1 : F) (↑y2 : F)) (t := segment ℝ (↑y2 : F) (↑y1 : F)) ⋯
J2 : Set (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2) :=
  preimage (β := (↑(segment ℝ (↑y2 : F) (↑y1 : F)) : Type u_2))
    (⇑φ : (a : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2)) → (↑(segment ℝ (↑y2 : F) (↑y1 : F)) : Type u_2))
    (setOf_sublevelLeft_subset X Y f t t' y2 y1)
mem_J2_iff :
  ∀ (z : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2)),
    z ∈ J2 ↔ sublevelLeft X f t (↑z : F) ⊆ sublevelLeft X f t' (↑y2 : F)
h_mem_Y : ∀ (z : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2)), (↑z : F) ∈ Y
hJ1J2 : J1 ∩ J2 = ∅
z : { x : F // x ∈ segment ℝ (↑y1 : F) (↑y2 : F) }
h2 : sublevelLeft X f t' (↑z : F) ⊆ sublevelLeft X f t' (↑y2 : F)
grw : sublevelLeft X f t (↑z : F) ⊆ sublevelLeft X f t' (↑y2 : F)
grw₁ : sublevelLeft X f t' (↑(Subtype.mk (p := fun (x : F) ↦ x ∈ Y) (↑z : F) ⋯) : F) ⊆ sublevelLeft X f t' (↑y2 : F)
grw₂ grw₃ : sublevelLeft X f t' (↑y2 : F) ⊆ sublevelLeft X f t' (↑y2 : F)
⊢ z ∈ J2

Tactic:
grw [mem_J2_iff, (monotone_sublevelLeft ⟨(z : F), h_mem_Y z⟩ htt'.le), h2]

Premises used: LT.lt.le, Subtype.mk, _private.0.Sion.monotone_sublevelLeft, Subtype.val
-- Module: Mathlib.Topology.Sion
Goal:
E : Type u_1
F : Type u_2
β : Type u_3
inst : LinearOrder β
X : Set E
Y : Set F
f : E → F → β
inst_1 : TopologicalSpace E
inst_2 : AddCommGroup E
inst_3 : Module ℝ E
inst_4 : IsTopologicalAddGroup E
inst_5 : ContinuousSMul ℝ E
ne_X : X.Nonempty
kX : IsCompact X
hfy : ∀ y ∈ Y, LowerSemicontinuousOn.{u_1, u_3} (β := β) (fun (x : E) ↦ f x y) X
hfy' : ∀ y ∈ Y, QuasiconvexOn.{0, u_1, u_3} ℝ (β := β) X fun (x : E) ↦ f x y
inst_6 : TopologicalSpace F
inst_7 : AddCommGroup F
inst_8 : Module ℝ F
cY : Convex ℝ Y
hfx : ∀ x ∈ X, UpperSemicontinuousOn.{u_2, u_3} (β := β) (fun (y : F) ↦ f x y) Y
hfx' : ∀ x ∈ X, QuasiconcaveOn.{0, u_2, u_3} ℝ (β := β) Y fun (y : F) ↦ f x y
inst_9 : DenselyOrdered β
inst_10 : IsTopologicalAddGroup F
inst_11 : ContinuousSMul ℝ F
t : β
hinfi_le : ∀ (y0 : F) (_ : y0 ∈ Y), ∃ x ∈ X, f x y0 ≤ t
a : E
ha : a ∈ X
t' : β
htt' : t < t'
y1 y2 : { x : F // x ∈ Y }
ht : ∀ x ∈ X, t < max (f x (↑y1 : F)) (f x (↑y2 : F))
ha' : IsMinOn.{u_1, u_3} (β := β) (fun (x : E) ↦ max (f x (↑y1 : F)) (f x (↑y2 : F))) X a
ht' : t' < max (f a (↑y1 : F)) (f a (↑y2 : F))
J1 : Set (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2) := setOf_sublevelLeft_subset X Y f t t' y1 y2
mem_J1_iff :
  ∀ (z : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2)),
    z ∈ J1 ↔ sublevelLeft X f t (↑z : F) ⊆ sublevelLeft X f t' (↑y1 : F)
φ : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2) ≃ₜ (↑(segment ℝ (↑y2 : F) (↑y1 : F)) : Type u_2) :=
  Homeomorph.setCongr (s := segment ℝ (↑y1 : F) (↑y2 : F)) (t := segment ℝ (↑y2 : F) (↑y1 : F)) ⋯
J2 : Set (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2) :=
  preimage (β := (↑(segment ℝ (↑y2 : F) (↑y1 : F)) : Type u_2))
    (⇑φ : (a : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2)) → (↑(segment ℝ (↑y2 : F) (↑y1 : F)) : Type u_2))
    (setOf_sublevelLeft_subset X Y f t t' y2 y1)
mem_J2_iff :
  ∀ (z : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2)),
    z ∈ J2 ↔ sublevelLeft X f t (↑z : F) ⊆ sublevelLeft X f t' (↑y2 : F)
h_mem_Y : ∀ (z : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2)), (↑z : F) ∈ Y
hJ1J2 : J1 ∩ J2 = ∅
⊢ Subtype.val (p := fun (x : F) ↦ x ∈ segment ℝ (↑y1 : F) (↑y2 : F)) '' (J1 ∪ J2) = segment ℝ (↑y1 : F) (↑y2 : F)

Tactic:
have hJ1_union_J2 : J1 ∪ J2 = segment ℝ (y1 : F) y2 := by
    refine subset_antisymm (by simp) fun z hz ↦ ?_
    lift z to segment ℝ (y1 : F) y2 using hz
    refine ⟨z, ?_, rfl⟩
    apply sublevelLeft_subset_or hfx' hfy hfy' cY a t' y1 y2 ha' ht' z |>.imp
      (fun h1 ↦ ?_) (fun h2 ↦ ?_)
    · grw [mem_J1_iff, (monotone_sublevelLeft ⟨(z : F), h_mem_Y z⟩ htt'.le), h1]
    · grw [mem_J2_iff, (monotone_sublevelLeft ⟨(z : F), h_mem_Y z⟩ htt'.le), h2]
-- Module: Mathlib.Topology.Sion
Goal:
E : Type u_1
F : Type u_2
β : Type u_3
inst : LinearOrder β
X : Set E
Y : Set F
f : E → F → β
inst_1 : TopologicalSpace E
inst_2 : AddCommGroup E
inst_3 : Module ℝ E
inst_4 : IsTopologicalAddGroup E
inst_5 : ContinuousSMul ℝ E
ne_X : X.Nonempty
kX : IsCompact X
hfy : ∀ y ∈ Y, LowerSemicontinuousOn.{u_1, u_3} (β := β) (fun (x : E) ↦ f x y) X
hfy' : ∀ y ∈ Y, QuasiconvexOn.{0, u_1, u_3} ℝ (β := β) X fun (x : E) ↦ f x y
inst_6 : TopologicalSpace F
inst_7 : AddCommGroup F
inst_8 : Module ℝ F
cY : Convex ℝ Y
hfx : ∀ x ∈ X, UpperSemicontinuousOn.{u_2, u_3} (β := β) (fun (y : F) ↦ f x y) Y
hfx' : ∀ x ∈ X, QuasiconcaveOn.{0, u_2, u_3} ℝ (β := β) Y fun (y : F) ↦ f x y
inst_9 : DenselyOrdered β
inst_10 : IsTopologicalAddGroup F
inst_11 : ContinuousSMul ℝ F
t : β
hinfi_le : ∀ (y0 : F) (_ : y0 ∈ Y), ∃ x ∈ X, f x y0 ≤ t
a : E
ha : a ∈ X
t' : β
htt' : t < t'
y1 y2 : { x : F // x ∈ Y }
ht : ∀ x ∈ X, t < max (f x (↑y1 : F)) (f x (↑y2 : F))
ha' : IsMinOn.{u_1, u_3} (β := β) (fun (x : E) ↦ max (f x (↑y1 : F)) (f x (↑y2 : F))) X a
ht' : t' < max (f a (↑y1 : F)) (f a (↑y2 : F))
J1 : Set (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2) := setOf_sublevelLeft_subset X Y f t t' y1 y2
mem_J1_iff :
  ∀ (z : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2)),
    z ∈ J1 ↔ sublevelLeft X f t (↑z : F) ⊆ sublevelLeft X f t' (↑y1 : F)
φ : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2) ≃ₜ (↑(segment ℝ (↑y2 : F) (↑y1 : F)) : Type u_2) :=
  Homeomorph.setCongr (s := segment ℝ (↑y1 : F) (↑y2 : F)) (t := segment ℝ (↑y2 : F) (↑y1 : F)) ⋯
J2 : Set (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2) :=
  preimage (β := (↑(segment ℝ (↑y2 : F) (↑y1 : F)) : Type u_2))
    (⇑φ : (a : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2)) → (↑(segment ℝ (↑y2 : F) (↑y1 : F)) : Type u_2))
    (setOf_sublevelLeft_subset X Y f t t' y2 y1)
mem_J2_iff :
  ∀ (z : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2)),
    z ∈ J2 ↔ sublevelLeft X f t (↑z : F) ⊆ sublevelLeft X f t' (↑y2 : F)
h_mem_Y : ∀ (z : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2)), (↑z : F) ∈ Y
hJ1J2 : J1 ∩ J2 = ∅
hJ1_union_J2 :
  Subtype.val (p := fun (x : F) ↦ x ∈ segment ℝ (↑y1 : F) (↑y2 : F)) '' (J1 ∪ J2) = segment ℝ (↑y1 : F) (↑y2 : F)
⊢ IsPreconnected.{u_2} (α := (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2)) univ

Tactic:
simpa [← Topology.IsInducing.subtypeVal.isPreconnected_image] using
      (convex_segment (y1 : F) y2).isPreconnected

Premises used: Topology.IsInducing.isPreconnected_image, Subtype.val, Topology.IsInducing.subtypeVal, Convex.isPreconnected, convex_segment
-- Module: Mathlib.Topology.Sion
Goal:
E : Type u_1
F : Type u_2
β : Type u_3
inst : LinearOrder β
X : Set E
Y : Set F
f : E → F → β
inst_1 : TopologicalSpace E
inst_2 : AddCommGroup E
inst_3 : Module ℝ E
inst_4 : IsTopologicalAddGroup E
inst_5 : ContinuousSMul ℝ E
ne_X : X.Nonempty
kX : IsCompact X
hfy : ∀ y ∈ Y, LowerSemicontinuousOn.{u_1, u_3} (β := β) (fun (x : E) ↦ f x y) X
hfy' : ∀ y ∈ Y, QuasiconvexOn.{0, u_1, u_3} ℝ (β := β) X fun (x : E) ↦ f x y
inst_6 : TopologicalSpace F
inst_7 : AddCommGroup F
inst_8 : Module ℝ F
cY : Convex ℝ Y
hfx : ∀ x ∈ X, UpperSemicontinuousOn.{u_2, u_3} (β := β) (fun (y : F) ↦ f x y) Y
hfx' : ∀ x ∈ X, QuasiconcaveOn.{0, u_2, u_3} ℝ (β := β) Y fun (y : F) ↦ f x y
inst_9 : DenselyOrdered β
inst_10 : IsTopologicalAddGroup F
inst_11 : ContinuousSMul ℝ F
t : β
hinfi_le : ∀ (y0 : F) (_ : y0 ∈ Y), ∃ x ∈ X, f x y0 ≤ t
a : E
ha : a ∈ X
t' : β
htt' : t < t'
y1 y2 : { x : F // x ∈ Y }
ht : ∀ x ∈ X, t < max (f x (↑y1 : F)) (f x (↑y2 : F))
ha' : IsMinOn.{u_1, u_3} (β := β) (fun (x : E) ↦ max (f x (↑y1 : F)) (f x (↑y2 : F))) X a
ht' : t' < max (f a (↑y1 : F)) (f a (↑y2 : F))
J1 : Set (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2) := setOf_sublevelLeft_subset X Y f t t' y1 y2
mem_J1_iff :
  ∀ (z : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2)),
    z ∈ J1 ↔ sublevelLeft X f t (↑z : F) ⊆ sublevelLeft X f t' (↑y1 : F)
φ : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2) ≃ₜ (↑(segment ℝ (↑y2 : F) (↑y1 : F)) : Type u_2) :=
  Homeomorph.setCongr (s := segment ℝ (↑y1 : F) (↑y2 : F)) (t := segment ℝ (↑y2 : F) (↑y1 : F)) ⋯
J2 : Set (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2) :=
  preimage (β := (↑(segment ℝ (↑y2 : F) (↑y1 : F)) : Type u_2))
    (⇑φ : (a : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2)) → (↑(segment ℝ (↑y2 : F) (↑y1 : F)) : Type u_2))
    (setOf_sublevelLeft_subset X Y f t t' y2 y1)
mem_J2_iff :
  ∀ (z : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2)),
    z ∈ J2 ↔ sublevelLeft X f t (↑z : F) ⊆ sublevelLeft X f t' (↑y2 : F)
h_mem_Y : ∀ (z : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2)), (↑z : F) ∈ Y
hJ1J2 : J1 ∩ J2 = ∅
hJ1_union_J2 :
  Subtype.val (p := fun (x : F) ↦ x ∈ segment ℝ (↑y1 : F) (↑y2 : F)) '' (J1 ∪ J2) = segment ℝ (↑y1 : F) (↑y2 : F)
this : IsPreconnected.{u_2} (α := (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2)) univ
⊢ IsClosed J1

Tactic:
have hJ1 : IsClosed J1 := isClosed_setOf_sublevelLeft_subset ne_X kX hfy hfy'
    cY hfx hfx' a t t' y1 y2 ha' hinfi_le ht' htt'
-- Module: Mathlib.Topology.Sion
Goal:
E : Type u_1
F : Type u_2
β : Type u_3
inst : LinearOrder β
X : Set E
Y : Set F
f : E → F → β
inst_1 : TopologicalSpace E
inst_2 : AddCommGroup E
inst_3 : Module ℝ E
inst_4 : IsTopologicalAddGroup E
inst_5 : ContinuousSMul ℝ E
ne_X : X.Nonempty
kX : IsCompact X
hfy : ∀ y ∈ Y, LowerSemicontinuousOn.{u_1, u_3} (β := β) (fun (x : E) ↦ f x y) X
hfy' : ∀ y ∈ Y, QuasiconvexOn.{0, u_1, u_3} ℝ (β := β) X fun (x : E) ↦ f x y
inst_6 : TopologicalSpace F
inst_7 : AddCommGroup F
inst_8 : Module ℝ F
cY : Convex ℝ Y
hfx : ∀ x ∈ X, UpperSemicontinuousOn.{u_2, u_3} (β := β) (fun (y : F) ↦ f x y) Y
hfx' : ∀ x ∈ X, QuasiconcaveOn.{0, u_2, u_3} ℝ (β := β) Y fun (y : F) ↦ f x y
inst_9 : DenselyOrdered β
inst_10 : IsTopologicalAddGroup F
inst_11 : ContinuousSMul ℝ F
t : β
hinfi_le : ∀ (y0 : F) (_ : y0 ∈ Y), ∃ x ∈ X, f x y0 ≤ t
a : E
ha : a ∈ X
t' : β
htt' : t < t'
y1 y2 : { x : F // x ∈ Y }
ht : ∀ x ∈ X, t < max (f x (↑y1 : F)) (f x (↑y2 : F))
ha' : IsMinOn.{u_1, u_3} (β := β) (fun (x : E) ↦ max (f x (↑y1 : F)) (f x (↑y2 : F))) X a
ht' : t' < max (f a (↑y1 : F)) (f a (↑y2 : F))
J1 : Set (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2) := setOf_sublevelLeft_subset X Y f t t' y1 y2
mem_J1_iff :
  ∀ (z : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2)),
    z ∈ J1 ↔ sublevelLeft X f t (↑z : F) ⊆ sublevelLeft X f t' (↑y1 : F)
φ : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2) ≃ₜ (↑(segment ℝ (↑y2 : F) (↑y1 : F)) : Type u_2) :=
  Homeomorph.setCongr (s := segment ℝ (↑y1 : F) (↑y2 : F)) (t := segment ℝ (↑y2 : F) (↑y1 : F)) ⋯
J2 : Set (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2) :=
  preimage (β := (↑(segment ℝ (↑y2 : F) (↑y1 : F)) : Type u_2))
    (⇑φ : (a : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2)) → (↑(segment ℝ (↑y2 : F) (↑y1 : F)) : Type u_2))
    (setOf_sublevelLeft_subset X Y f t t' y2 y1)
mem_J2_iff :
  ∀ (z : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2)),
    z ∈ J2 ↔ sublevelLeft X f t (↑z : F) ⊆ sublevelLeft X f t' (↑y2 : F)
h_mem_Y : ∀ (z : (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2)), (↑z : F) ∈ Y
hJ1J2 : J1 ∩ J2 = ∅
hJ1_union_J2 :
  Subtype.val (p := fun (x : F) ↦ x ∈ segment ℝ (↑y1 : F) (↑y2 : F)) '' (J1 ∪ J2) = segment ℝ (↑y1 : F) (↑y2 : F)
this : IsPreconnected.{u_2} (α := (↑(segment ℝ (↑y1 : F) (↑y2 : F)) : Type u_2)) univ
hJ1 : IsClosed J1
⊢ IsMinOn.{u_1, u_3} (β := β) (fun (x : E) ↦ max (f x (↑y2 : F)) (f x (↑y1 : F))) X a

Tactic:
simp only [sup_comm (f _ y1)] at ha' ht'

Premises used: sup_comm, Subtype.val