case refine'_1
𝕜 : Type u_1
E : Type ?u.298826
F : Type ?u.298829
G : Type ?u.298832
ι : Type ?u.298835
π : ι → Type ?u.298840
inst✝ : LinearOrderedField 𝕜
x y z : 𝕜
h : x < y
hz : z ∈ Ico x y
⊢ ∃ a b, 0 < a ∧ 0 ≤ b ∧ a + b = 1 ∧ a * x + b * y = z

case refine'_2
𝕜 : Type u_1
E : Type ?u.298826
F : Type ?u.298829
G : Type ?u.298832
ι : Type ?u.298835
π : ι → Type ?u.298840
inst✝ : LinearOrderedField 𝕜
x y z : 𝕜
h : x < y
⊢ (∃ a b, 0 < a ∧ 0 ≤ b ∧ a + b = 1 ∧ a * x + b * y = z) → z ∈ Ico x y
𝕜 : Type u_1
E : Type ?u.298826
F : Type ?u.298829
G : Type ?u.298832
ι : Type ?u.298835
π : ι → Type ?u.298840
inst✝ : LinearOrderedField 𝕜
x y z : 𝕜
h : x < y
⊢ z ∈ Ico x y ↔ ∃ a b, 0 < a ∧ 0 ≤ b ∧ a + b = 1 ∧ a * x + b * y = z
refine' ⟨fun hz => _, _⟩
case refine'_1.intro.intro.intro.intro.intro
𝕜 : Type u_1
E : Type ?u.298826
F : Type ?u.298829
G : Type ?u.298832
ι : Type ?u.298835
π : ι → Type ?u.298840
inst✝ : LinearOrderedField 𝕜
x y : 𝕜
h : x < y
a b : 𝕜
ha : 0 ≤ a
hb : 0 ≤ b
hab : a + b = 1
hz : a * x + b * y ∈ Ico x y
⊢ ∃ a_1 b_1, 0 < a_1 ∧ 0 ≤ b_1 ∧ a_1 + b_1 = 1 ∧ a_1 * x + b_1 * y = a * x + b * y
case refine'_1
𝕜 : Type u_1
E : Type ?u.298826
F : Type ?u.298829
G : Type ?u.298832
ι : Type ?u.298835
π : ι → Type ?u.298840
inst✝ : LinearOrderedField 𝕜
x y z : 𝕜
h : x < y
hz : z ∈ Ico x y
⊢ ∃ a b, 0 < a ∧ 0 ≤ b ∧ a + b = 1 ∧ a * x + b * y = z
obtain ⟨a, b, ha, hb, hab, rfl⟩ := (Convex.mem_Icc h.le).1 (Ico_subset_Icc_self hz)
case refine'_1.intro.intro.intro.intro.intro.inl
𝕜 : Type u_1
E : Type ?u.298826
F : Type ?u.298829
G : Type ?u.298832
ι : Type ?u.298835
π : ι → Type ?u.298840
inst✝ : LinearOrderedField 𝕜
x y : 𝕜
h : x < y
b : 𝕜
hb : 0 ≤ b
ha : 0 ≤ 0
hab : 0 + b = 1
hz : 0 * x + b * y ∈ Ico x y
⊢ ∃ a b_1, 0 < a ∧ 0 ≤ b_1 ∧ a + b_1 = 1 ∧ a * x + b_1 * y = 0 * x + b * y

case refine'_1.intro.intro.intro.intro.intro.inr
𝕜 : Type u_1
E : Type ?u.298826
F : Type ?u.298829
G : Type ?u.298832
ι : Type ?u.298835
π : ι → Type ?u.298840
inst✝ : LinearOrderedField 𝕜
x y : 𝕜
h : x < y
a b : 𝕜
ha : 0 ≤ a
hb : 0 ≤ b
hab : a + b = 1
hz : a * x + b * y ∈ Ico x y
ha' : 0 < a
⊢ ∃ a_1 b_1, 0 < a_1 ∧ 0 ≤ b_1 ∧ a_1 + b_1 = 1 ∧ a_1 * x + b_1 * y = a * x + b * y
case refine'_1.intro.intro.intro.intro.intro
𝕜 : Type u_1
E : Type ?u.298826
F : Type ?u.298829
G : Type ?u.298832
ι : Type ?u.298835
π : ι → Type ?u.298840
inst✝ : LinearOrderedField 𝕜
x y : 𝕜
h : x < y
a b : 𝕜
ha : 0 ≤ a
hb : 0 ≤ b
hab : a + b = 1
hz : a * x + b * y ∈ Ico x y
⊢ ∃ a_1 b_1, 0 < a_1 ∧ 0 ≤ b_1 ∧ a_1 + b_1 = 1 ∧ a_1 * x + b_1 * y = a * x + b * y
obtain rfl | ha' := ha.eq_or_lt
case refine'_1.intro.intro.intro.intro.intro.inl
𝕜 : Type u_1
E : Type ?u.298826
F : Type ?u.298829
G : Type ?u.298832
ι : Type ?u.298835
π : ι → Type ?u.298840
inst✝ : LinearOrderedField 𝕜
x y : 𝕜
h : x < y
b : 𝕜
hb : 0 ≤ b
ha : 0 ≤ 0
hab : b = 1
hz : 0 * x + b * y ∈ Ico x y
⊢ ∃ a b_1, 0 < a ∧ 0 ≤ b_1 ∧ a + b_1 = 1 ∧ a * x + b_1 * y = 0 * x + b * y
case refine'_1.intro.intro.intro.intro.intro.inl
𝕜 : Type u_1
E : Type ?u.298826
F : Type ?u.298829
G : Type ?u.298832
ι : Type ?u.298835
π : ι → Type ?u.298840
inst✝ : LinearOrderedField 𝕜
x y : 𝕜
h : x < y
b : 𝕜
hb : 0 ≤ b
ha : 0 ≤ 0
hab : 0 + b = 1
hz : 0 * x + b * y ∈ Ico x y
⊢ ∃ a b_1, 0 < a ∧ 0 ≤ b_1 ∧ a + b_1 = 1 ∧ a * x + b_1 * y = 0 * x + b * y
rw [zero_add] at hab
case refine'_1.intro.intro.intro.intro.intro.inl
𝕜 : Type u_1
E : Type ?u.298826
F : Type ?u.298829
G : Type ?u.298832
ι : Type ?u.298835
π : ι → Type ?u.298840
inst✝ : LinearOrderedField 𝕜
x y : 𝕜
h : x < y
b : 𝕜
hb : 0 ≤ b
ha : 0 ≤ 0
hab : b = 1
hz : y ∈ Ico x y
⊢ ∃ a b_1, 0 < a ∧ 0 ≤ b_1 ∧ a + b_1 = 1 ∧ a * x + b_1 * y = 0 * x + b * y
case refine'_1.intro.intro.intro.intro.intro.inl
𝕜 : Type u_1
E : Type ?u.298826
F : Type ?u.298829
G : Type ?u.298832
ι : Type ?u.298835
π : ι → Type ?u.298840
inst✝ : LinearOrderedField 𝕜
x y : 𝕜
h : x < y
b : 𝕜
hb : 0 ≤ b
ha : 0 ≤ 0
hab : b = 1
hz : 0 * x + b * y ∈ Ico x y
⊢ ∃ a b_1, 0 < a ∧ 0 ≤ b_1 ∧ a + b_1 = 1 ∧ a * x + b_1 * y = 0 * x + b * y
rw [hab, one_mul, MulZeroClass.zero_mul, zero_add] at hz
no goals
case refine'_1.intro.intro.intro.intro.intro.inl
𝕜 : Type u_1
E : Type ?u.298826
F : Type ?u.298829
G : Type ?u.298832
ι : Type ?u.298835
π : ι → Type ?u.298840
inst✝ : LinearOrderedField 𝕜
x y : 𝕜
h : x < y
b : 𝕜
hb : 0 ≤ b
ha : 0 ≤ 0
hab : b = 1
hz : y ∈ Ico x y
⊢ ∃ a b_1, 0 < a ∧ 0 ≤ b_1 ∧ a + b_1 = 1 ∧ a * x + b_1 * y = 0 * x + b * y
exact (hz.2.ne rfl).elim
no goals
case refine'_1.intro.intro.intro.intro.intro.inr
𝕜 : Type u_1
E : Type ?u.298826
F : Type ?u.298829
G : Type ?u.298832
ι : Type ?u.298835
π : ι → Type ?u.298840
inst✝ : LinearOrderedField 𝕜
x y : 𝕜
h : x < y
a b : 𝕜
ha : 0 ≤ a
hb : 0 ≤ b
hab : a + b = 1
hz : a * x + b * y ∈ Ico x y
ha' : 0 < a
⊢ ∃ a_1 b_1, 0 < a_1 ∧ 0 ≤ b_1 ∧ a_1 + b_1 = 1 ∧ a_1 * x + b_1 * y = a * x + b * y
exact ⟨a, b, ha', hb, hab, rfl⟩
case refine'_2.intro.intro.intro.intro.intro
𝕜 : Type u_1
E : Type ?u.298826
F : Type ?u.298829
G : Type ?u.298832
ι : Type ?u.298835
π : ι → Type ?u.298840
inst✝ : LinearOrderedField 𝕜
x y : 𝕜
h : x < y
a b : 𝕜
ha : 0 < a
hb : 0 ≤ b
hab : a + b = 1
⊢ a * x + b * y ∈ Ico x y
case refine'_2
𝕜 : Type u_1
E : Type ?u.298826
F : Type ?u.298829
G : Type ?u.298832
ι : Type ?u.298835
π : ι → Type ?u.298840
inst✝ : LinearOrderedField 𝕜
x y z : 𝕜
h : x < y
⊢ (∃ a b, 0 < a ∧ 0 ≤ b ∧ a + b = 1 ∧ a * x + b * y = z) → z ∈ Ico x y
rintro ⟨a, b, ha, hb, hab, rfl⟩
case refine'_2.intro.intro.intro.intro.intro.inl
𝕜 : Type u_1
E : Type ?u.298826
F : Type ?u.298829
G : Type ?u.298832
ι : Type ?u.298835
π : ι → Type ?u.298840
inst✝ : LinearOrderedField 𝕜
x y : 𝕜
h : x < y
a : 𝕜
ha : 0 < a
hb : 0 ≤ 0
hab : a + 0 = 1
⊢ a * x + 0 * y ∈ Ico x y

case refine'_2.intro.intro.intro.intro.intro.inr
𝕜 : Type u_1
E : Type ?u.298826
F : Type ?u.298829
G : Type ?u.298832
ι : Type ?u.298835
π : ι → Type ?u.298840
inst✝ : LinearOrderedField 𝕜
x y : 𝕜
h : x < y
a b : 𝕜
ha : 0 < a
hb : 0 ≤ b
hab : a + b = 1
hb' : 0 < b
⊢ a * x + b * y ∈ Ico x y
case refine'_2.intro.intro.intro.intro.intro
𝕜 : Type u_1
E : Type ?u.298826
F : Type ?u.298829
G : Type ?u.298832
ι : Type ?u.298835
π : ι → Type ?u.298840
inst✝ : LinearOrderedField 𝕜
x y : 𝕜
h : x < y
a b : 𝕜
ha : 0 < a
hb : 0 ≤ b
hab : a + b = 1
⊢ a * x + b * y ∈ Ico x y
obtain rfl | hb' := hb.eq_or_lt
case refine'_2.intro.intro.intro.intro.intro.inl
𝕜 : Type u_1
E : Type ?u.298826
F : Type ?u.298829
G : Type ?u.298832
ι : Type ?u.298835
π : ι → Type ?u.298840
inst✝ : LinearOrderedField 𝕜
x y : 𝕜
h : x < y
a : 𝕜
ha : 0 < a
hb : 0 ≤ 0
hab : a = 1
⊢ a * x + 0 * y ∈ Ico x y
case refine'_2.intro.intro.intro.intro.intro.inl
𝕜 : Type u_1
E : Type ?u.298826
F : Type ?u.298829
G : Type ?u.298832
ι : Type ?u.298835
π : ι → Type ?u.298840
inst✝ : LinearOrderedField 𝕜
x y : 𝕜
h : x < y
a : 𝕜
ha : 0 < a
hb : 0 ≤ 0
hab : a + 0 = 1
⊢ a * x + 0 * y ∈ Ico x y
rw [add_zero] at hab
no goals
case refine'_2.intro.intro.intro.intro.intro.inl
𝕜 : Type u_1
E : Type ?u.298826
F : Type ?u.298829
G : Type ?u.298832
ι : Type ?u.298835
π : ι → Type ?u.298840
inst✝ : LinearOrderedField 𝕜
x y : 𝕜
h : x < y
a : 𝕜
ha : 0 < a
hb : 0 ≤ 0
hab : a = 1
⊢ a * x + 0 * y ∈ Ico x y
rwa [hab, one_mul, MulZeroClass.zero_mul, add_zero, left_mem_Ico]
no goals
case refine'_2.intro.intro.intro.intro.intro.inr
𝕜 : Type u_1
E : Type ?u.298826
F : Type ?u.298829
G : Type ?u.298832
ι : Type ?u.298835
π : ι → Type ?u.298840
inst✝ : LinearOrderedField 𝕜
x y : 𝕜
h : x < y
a b : 𝕜
ha : 0 < a
hb : 0 ≤ b
hab : a + b = 1
hb' : 0 < b
⊢ a * x + b * y ∈ Ico x y
exact Ioo_subset_Ico_self ((Convex.mem_Ioo h).2 ⟨a, b, ha, hb', hab, rfl⟩)