awhecmu/canonical-drafter-extract-mathlib huggingface dataset:
-- Lean 4 proof step from Mathlib.Analysis.InnerProductSpace.Projection.Minimal (goal)
Goal:
F : Type u_3
inst : NormedAddCommGroup F
inst_1 : InnerProductSpace ℝ F
K : Set F
ne : K.Nonempty
h₁ : IsComplete K
h₂ : Convex ℝ K
u : F
δ : ℝ := ⨅ (w : (↑K : Type u_3)), ‖u - (↑w : F)‖
this_1 : Nonempty.{u_3 + 1} (↑K : Type u_3) := ⋯
zero_le_δ : 0 ≤ δ
δ_le : ∀ (w : (↑K : Type u_3)), δ ≤ ‖u - (↑w : F)‖
δ_le' : ∀ w ∈ K, δ ≤ ‖u - w‖
w : ℕ → (↑K : Type u_3)
hw : ∀ (n : ℕ), ‖u - (↑(w n) : F)‖ < δ + 1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1
norm_tendsto : Tendsto (fun (n : ℕ) ↦ ‖u - (↑(w n) : F)‖) atTop (𝓝 δ)
b_1 : (n : ℕ) → ℝ :=
  fun (n : ℕ) ↦
    8 * δ * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1) +
      4 * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1) * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1)
p q N : ℕ
hp : N ≤ p
hq : N ≤ q
wp : F := (↑(w p) : F)
wq : F := (↑(w q) : F)
a : F := u - wq
b : F := u - wp
half : ℝ := 1 / 2
div : ℝ := 1 / HAdd.hAdd (α := ℝ) (↑N : ℝ) 1
this : 4 * ‖u - half • (wq + wp)‖ * ‖u - half • (wq + wp)‖ + ‖wp - wq‖ * ‖wp - wq‖ = 2 * (‖a‖ * ‖a‖ + ‖b‖ * ‖b‖)
⊢ δ ≤ ‖u - half • (wq + wp)‖
have rw : δ ≤ ‖u - (half • wq + half • wp)‖
Tactic: rw [smul_add]
-- Lean 4 proof step from Mathlib.Analysis.InnerProductSpace.Projection.Minimal (goal)
Goal:
F : Type u_3
inst : NormedAddCommGroup F
inst_1 : InnerProductSpace ℝ F
K : Set F
ne : K.Nonempty
h₁ : IsComplete K
h₂ : Convex ℝ K
u : F
δ : ℝ := ⨅ (w : (↑K : Type u_3)), ‖u - (↑w : F)‖
this_1 : Nonempty.{u_3 + 1} (↑K : Type u_3) := ⋯
zero_le_δ : 0 ≤ δ
δ_le : ∀ (w : (↑K : Type u_3)), δ ≤ ‖u - (↑w : F)‖
δ_le' : ∀ w ∈ K, δ ≤ ‖u - w‖
w : ℕ → (↑K : Type u_3)
hw : ∀ (n : ℕ), ‖u - (↑(w n) : F)‖ < δ + 1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1
norm_tendsto : Tendsto (fun (n : ℕ) ↦ ‖u - (↑(w n) : F)‖) atTop (𝓝 δ)
b_1 : (n : ℕ) → ℝ :=
  fun (n : ℕ) ↦
    8 * δ * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1) +
      4 * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1) * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1)
p q N : ℕ
hp : N ≤ p
hq : N ≤ q
wp : F := (↑(w p) : F)
wq : F := (↑(w q) : F)
a : F := u - wq
b : F := u - wp
half : ℝ := 1 / 2
div : ℝ := 1 / HAdd.hAdd (α := ℝ) (↑N : ℝ) 1
this : 4 * ‖u - half • (wq + wp)‖ * ‖u - half • (wq + wp)‖ + ‖wp - wq‖ * ‖wp - wq‖ = 2 * (‖a‖ * ‖a‖ + ‖b‖ * ‖b‖)
⊢ δ ≤ ‖u - (half • wq + half • wp)‖
have a₁ : half • wq + half • wp ∈ K
Tactic: apply δ_le'
-- Lean 4 proof step from Mathlib.Analysis.InnerProductSpace.Projection.Minimal (goal)
Goal:
F : Type u_3
inst : NormedAddCommGroup F
inst_1 : InnerProductSpace ℝ F
K : Set F
ne : K.Nonempty
h₁ : IsComplete K
h₂ : Convex ℝ K
u : F
δ : ℝ := ⨅ (w : (↑K : Type u_3)), ‖u - (↑w : F)‖
this_1 : Nonempty.{u_3 + 1} (↑K : Type u_3) := ⋯
zero_le_δ : 0 ≤ δ
δ_le : ∀ (w : (↑K : Type u_3)), δ ≤ ‖u - (↑w : F)‖
δ_le' : ∀ w ∈ K, δ ≤ ‖u - w‖
w : ℕ → (↑K : Type u_3)
hw : ∀ (n : ℕ), ‖u - (↑(w n) : F)‖ < δ + 1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1
norm_tendsto : Tendsto (fun (n : ℕ) ↦ ‖u - (↑(w n) : F)‖) atTop (𝓝 δ)
b_1 : (n : ℕ) → ℝ :=
  fun (n : ℕ) ↦
    8 * δ * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1) +
      4 * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1) * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1)
p q N : ℕ
hp : N ≤ p
hq : N ≤ q
wp : F := (↑(w p) : F)
wq : F := (↑(w q) : F)
a : F := u - wq
b : F := u - wp
half : ℝ := 1 / 2
div : ℝ := 1 / HAdd.hAdd (α := ℝ) (↑N : ℝ) 1
this : 4 * ‖u - half • (wq + wp)‖ * ‖u - half • (wq + wp)‖ + ‖wp - wq‖ * ‖wp - wq‖ = 2 * (‖a‖ * ‖a‖ + ‖b‖ * ‖b‖)
⊢ half • wq + half • wp ∈ K
have a₁ : wq ∈ K
Tactic: apply h₂
-- Lean 4 proof step from Mathlib.Analysis.InnerProductSpace.Projection.Minimal (goal)
Goal:
F : Type u_3
inst : NormedAddCommGroup F
inst_1 : InnerProductSpace ℝ F
K : Set F
ne : K.Nonempty
h₁ : IsComplete K
h₂ : Convex ℝ K
u : F
δ : ℝ := ⨅ (w : (↑K : Type u_3)), ‖u - (↑w : F)‖
this_1 : Nonempty.{u_3 + 1} (↑K : Type u_3) := ⋯
zero_le_δ : 0 ≤ δ
δ_le : ∀ (w : (↑K : Type u_3)), δ ≤ ‖u - (↑w : F)‖
δ_le' : ∀ w ∈ K, δ ≤ ‖u - w‖
w : ℕ → (↑K : Type u_3)
hw : ∀ (n : ℕ), ‖u - (↑(w n) : F)‖ < δ + 1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1
norm_tendsto : Tendsto (fun (n : ℕ) ↦ ‖u - (↑(w n) : F)‖) atTop (𝓝 δ)
b_1 : (n : ℕ) → ℝ :=
  fun (n : ℕ) ↦
    8 * δ * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1) +
      4 * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1) * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1)
p q N : ℕ
hp : N ≤ p
hq : N ≤ q
wp : F := (↑(w p) : F)
wq : F := (↑(w q) : F)
a : F := u - wq
b : F := u - wp
half : ℝ := 1 / 2
div : ℝ := 1 / HAdd.hAdd (α := ℝ) (↑N : ℝ) 1
this : 4 * ‖u - half • (wq + wp)‖ * ‖u - half • (wq + wp)‖ + ‖wp - wq‖ * ‖wp - wq‖ = 2 * (‖a‖ * ‖a‖ + ‖b‖ * ‖b‖)
a₁ : wq ∈ K
⊢ half • wq + half • wp ∈ K
have a₂ : wp ∈ K
Tactic: apply h₂
-- Lean 4 proof step from Mathlib.Analysis.InnerProductSpace.Projection.Minimal (goal)
Goal:
F : Type u_3
inst : NormedAddCommGroup F
inst_1 : InnerProductSpace ℝ F
K : Set F
ne : K.Nonempty
h₁ : IsComplete K
h₂ : Convex ℝ K
u : F
δ : ℝ := ⨅ (w : (↑K : Type u_3)), ‖u - (↑w : F)‖
this_1 : Nonempty.{u_3 + 1} (↑K : Type u_3) := ⋯
zero_le_δ : 0 ≤ δ
δ_le : ∀ (w : (↑K : Type u_3)), δ ≤ ‖u - (↑w : F)‖
δ_le' : ∀ w ∈ K, δ ≤ ‖u - w‖
w : ℕ → (↑K : Type u_3)
hw : ∀ (n : ℕ), ‖u - (↑(w n) : F)‖ < δ + 1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1
norm_tendsto : Tendsto (fun (n : ℕ) ↦ ‖u - (↑(w n) : F)‖) atTop (𝓝 δ)
b_1 : (n : ℕ) → ℝ :=
  fun (n : ℕ) ↦
    8 * δ * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1) +
      4 * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1) * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1)
p q N : ℕ
hp : N ≤ p
hq : N ≤ q
wp : F := (↑(w p) : F)
wq : F := (↑(w q) : F)
a : F := u - wq
b : F := u - wp
half : ℝ := 1 / 2
div : ℝ := 1 / HAdd.hAdd (α := ℝ) (↑N : ℝ) 1
this : 4 * ‖u - half • (wq + wp)‖ * ‖u - half • (wq + wp)‖ + ‖wp - wq‖ * ‖wp - wq‖ = 2 * (‖a‖ * ‖a‖ + ‖b‖ * ‖b‖)
a₁ : wq ∈ K
a₂ : wp ∈ K
⊢ half • wq + half • wp ∈ K
have a₃ : 0 ≤ half
Tactic: apply h₂
-- Lean 4 proof step from Mathlib.Analysis.InnerProductSpace.Projection.Minimal (goal)
Goal:
F : Type u_3
inst : NormedAddCommGroup F
inst_1 : InnerProductSpace ℝ F
K : Set F
ne : K.Nonempty
h₁ : IsComplete K
h₂ : Convex ℝ K
u : F
δ : ℝ := ⨅ (w : (↑K : Type u_3)), ‖u - (↑w : F)‖
this_1 : Nonempty.{u_3 + 1} (↑K : Type u_3) := ⋯
zero_le_δ : 0 ≤ δ
δ_le : ∀ (w : (↑K : Type u_3)), δ ≤ ‖u - (↑w : F)‖
δ_le' : ∀ w ∈ K, δ ≤ ‖u - w‖
w : ℕ → (↑K : Type u_3)
hw : ∀ (n : ℕ), ‖u - (↑(w n) : F)‖ < δ + 1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1
norm_tendsto : Tendsto (fun (n : ℕ) ↦ ‖u - (↑(w n) : F)‖) atTop (𝓝 δ)
b_1 : (n : ℕ) → ℝ :=
  fun (n : ℕ) ↦
    8 * δ * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1) +
      4 * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1) * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1)
p q N : ℕ
hp : N ≤ p
hq : N ≤ q
wp : F := (↑(w p) : F)
wq : F := (↑(w q) : F)
a : F := u - wq
b : F := u - wp
half : ℝ := 1 / 2
div : ℝ := 1 / HAdd.hAdd (α := ℝ) (↑N : ℝ) 1
this : 4 * ‖u - half • (wq + wp)‖ * ‖u - half • (wq + wp)‖ + ‖wp - wq‖ * ‖wp - wq‖ = 2 * (‖a‖ * ‖a‖ + ‖b‖ * ‖b‖)
a₁ : wq ∈ K
a₂ : wp ∈ K
a₃ a₄ : 0 ≤ half
⊢ half • wq + half • wp ∈ K
have a₅ : half + half = 1
Tactic: apply h₂
-- Lean 4 proof step from Mathlib.Analysis.InnerProductSpace.Projection.Minimal (hypothesis)
Goal:
F : Type u_3
inst : NormedAddCommGroup F
inst_1 : InnerProductSpace ℝ F
K : Set F
ne : K.Nonempty
h₁ : IsComplete K
h₂ : Convex ℝ K
u : F
δ : ℝ := ⨅ (w : (↑K : Type u_3)), ‖u - (↑w : F)‖
this_1 : Nonempty.{u_3 + 1} (↑K : Type u_3) := ⋯
zero_le_δ : 0 ≤ δ
δ_le : ∀ (w : (↑K : Type u_3)), δ ≤ ‖u - (↑w : F)‖
δ_le' : ∀ w ∈ K, δ ≤ ‖u - w‖
w : ℕ → (↑K : Type u_3)
hw : ∀ (n : ℕ), ‖u - (↑(w n) : F)‖ < δ + 1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1
norm_tendsto : Tendsto (fun (n : ℕ) ↦ ‖u - (↑(w n) : F)‖) atTop (𝓝 δ)
b_1 : (n : ℕ) → ℝ :=
  fun (n : ℕ) ↦
    8 * δ * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1) +
      4 * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1) * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1)
p q N : ℕ
hp : N ≤ p
hq : N ≤ q
wp : F := (↑(w p) : F)
wq : F := (↑(w q) : F)
a : F := u - wq
b : F := u - wp
half : ℝ := 1 / 2
div : ℝ := 1 / HAdd.hAdd (α := ℝ) (↑N : ℝ) 1
this : 4 * ‖u - half • (wq + wp)‖ * ‖u - half • (wq + wp)‖ + ‖wp - wq‖ * ‖wp - wq‖ = 2 * (‖a‖ * ‖a‖ + ‖b‖ * ‖b‖)
⊢ dist (↑(w p) : F) (↑(w q) : F) ≤ √(b_1 N)
have eq : δ ≤ ‖u - half • (wq + wp)‖
Tactic: have eq : δ ≤ ‖u - half • (wq + wp)‖ := by
        rw [smul_add]
        apply δ_le'
        apply h₂
        repeat' exact Subtype.mem _
        repeat' exact le_of_lt one_half_pos
        exact add_halves 1
-- Lean 4 proof step from Mathlib.Analysis.InnerProductSpace.Projection.Minimal (goal)
Goal:
F : Type u_3
inst : NormedAddCommGroup F
inst_1 : InnerProductSpace ℝ F
K : Set F
ne : K.Nonempty
h₁ : IsComplete K
h₂ : Convex ℝ K
u : F
δ : ℝ := ⨅ (w : (↑K : Type u_3)), ‖u - (↑w : F)‖
this_1 : Nonempty.{u_3 + 1} (↑K : Type u_3) := ⋯
zero_le_δ : 0 ≤ δ
δ_le : ∀ (w : (↑K : Type u_3)), δ ≤ ‖u - (↑w : F)‖
δ_le' : ∀ w ∈ K, δ ≤ ‖u - w‖
w : ℕ → (↑K : Type u_3)
hw : ∀ (n : ℕ), ‖u - (↑(w n) : F)‖ < δ + 1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1
norm_tendsto : Tendsto (fun (n : ℕ) ↦ ‖u - (↑(w n) : F)‖) atTop (𝓝 δ)
b_1 : (n : ℕ) → ℝ :=
  fun (n : ℕ) ↦
    8 * δ * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1) +
      4 * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1) * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1)
p q N : ℕ
hp : N ≤ p
hq : N ≤ q
wp : F := (↑(w p) : F)
wq : F := (↑(w q) : F)
a : F := u - wq
b : F := u - wp
half : ℝ := 1 / 2
div : ℝ := 1 / HAdd.hAdd (α := ℝ) (↑N : ℝ) 1
this : 4 * ‖u - half • (wq + wp)‖ * ‖u - half • (wq + wp)‖ + ‖wp - wq‖ * ‖wp - wq‖ = 2 * (‖a‖ * ‖a‖ + ‖b‖ * ‖b‖)
eq : δ ≤ ‖u - half • (wq + wp)‖
⊢ ‖a‖ ≤ δ + div
have grw : δ + 1 / HAdd.hAdd (α := ℝ) (↑q : ℝ) 1 ≤ δ + div
Tactic: grw [hw, Nat.one_div_le_one_div hq]
-- Lean 4 proof step from Mathlib.Analysis.InnerProductSpace.Projection.Minimal (goal)
Goal:
F : Type u_3
inst : NormedAddCommGroup F
inst_1 : InnerProductSpace ℝ F
K : Set F
ne : K.Nonempty
h₁ : IsComplete K
h₂ : Convex ℝ K
u : F
δ : ℝ := ⨅ (w : (↑K : Type u_3)), ‖u - (↑w : F)‖
this_1 : Nonempty.{u_3 + 1} (↑K : Type u_3) := ⋯
zero_le_δ : 0 ≤ δ
δ_le : ∀ (w : (↑K : Type u_3)), δ ≤ ‖u - (↑w : F)‖
δ_le' : ∀ w ∈ K, δ ≤ ‖u - w‖
w : ℕ → (↑K : Type u_3)
hw : ∀ (n : ℕ), ‖u - (↑(w n) : F)‖ < δ + 1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1
norm_tendsto : Tendsto (fun (n : ℕ) ↦ ‖u - (↑(w n) : F)‖) atTop (𝓝 δ)
b_1 : (n : ℕ) → ℝ :=
  fun (n : ℕ) ↦
    8 * δ * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1) +
      4 * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1) * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1)
p q N : ℕ
hp : N ≤ p
hq : N ≤ q
wp : F := (↑(w p) : F)
wq : F := (↑(w q) : F)
a : F := u - wq
b : F := u - wp
half : ℝ := 1 / 2
div : ℝ := 1 / HAdd.hAdd (α := ℝ) (↑N : ℝ) 1
this : 4 * ‖u - half • (wq + wp)‖ * ‖u - half • (wq + wp)‖ + ‖wp - wq‖ * ‖wp - wq‖ = 2 * (‖a‖ * ‖a‖ + ‖b‖ * ‖b‖)
eq : δ ≤ ‖u - half • (wq + wp)‖
grw : δ + 1 / HAdd.hAdd (α := ℝ) (↑q : ℝ) 1 ≤ δ + div
⊢ ‖a‖ ≤ δ + div
have grw₁ : δ + 1 / HAdd.hAdd (α := ℝ) (↑N : ℝ) 1 ≤ δ + 1 / HAdd.hAdd (α := ℝ) (↑N : ℝ) 1
Tactic: grw [hw, Nat.one_div_le_one_div hq]
-- Lean 4 proof step from Mathlib.Analysis.InnerProductSpace.Projection.Minimal (hypothesis)
Goal:
F : Type u_3
inst : NormedAddCommGroup F
inst_1 : InnerProductSpace ℝ F
K : Set F
ne : K.Nonempty
h₁ : IsComplete K
h₂ : Convex ℝ K
u : F
δ : ℝ := ⨅ (w : (↑K : Type u_3)), ‖u - (↑w : F)‖
this_1 : Nonempty.{u_3 + 1} (↑K : Type u_3) := ⋯
zero_le_δ : 0 ≤ δ
δ_le : ∀ (w : (↑K : Type u_3)), δ ≤ ‖u - (↑w : F)‖
δ_le' : ∀ w ∈ K, δ ≤ ‖u - w‖
w : ℕ → (↑K : Type u_3)
hw : ∀ (n : ℕ), ‖u - (↑(w n) : F)‖ < δ + 1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1
norm_tendsto : Tendsto (fun (n : ℕ) ↦ ‖u - (↑(w n) : F)‖) atTop (𝓝 δ)
b_1 : (n : ℕ) → ℝ :=
  fun (n : ℕ) ↦
    8 * δ * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1) +
      4 * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1) * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1)
p q N : ℕ
hp : N ≤ p
hq : N ≤ q
wp : F := (↑(w p) : F)
wq : F := (↑(w q) : F)
a : F := u - wq
b : F := u - wp
half : ℝ := 1 / 2
div : ℝ := 1 / HAdd.hAdd (α := ℝ) (↑N : ℝ) 1
this : 4 * ‖u - half • (wq + wp)‖ * ‖u - half • (wq + wp)‖ + ‖wp - wq‖ * ‖wp - wq‖ = 2 * (‖a‖ * ‖a‖ + ‖b‖ * ‖b‖)
eq : δ ≤ ‖u - half • (wq + wp)‖
⊢ dist (↑(w p) : F) (↑(w q) : F) ≤ √(b_1 N)
have eq₂ : ‖a‖ ≤ δ + div
Tactic: have eq₂ : ‖a‖ ≤ δ + div := by grw [hw, Nat.one_div_le_one_div hq]
-- Lean 4 proof step from Mathlib.Analysis.InnerProductSpace.Projection.Minimal (goal)
Goal:
F : Type u_3
inst : NormedAddCommGroup F
inst_1 : InnerProductSpace ℝ F
K : Set F
ne : K.Nonempty
h₁ : IsComplete K
h₂ : Convex ℝ K
u : F
δ : ℝ := ⨅ (w : (↑K : Type u_3)), ‖u - (↑w : F)‖
this_1 : Nonempty.{u_3 + 1} (↑K : Type u_3) := ⋯
zero_le_δ : 0 ≤ δ
δ_le : ∀ (w : (↑K : Type u_3)), δ ≤ ‖u - (↑w : F)‖
δ_le' : ∀ w ∈ K, δ ≤ ‖u - w‖
w : ℕ → (↑K : Type u_3)
hw : ∀ (n : ℕ), ‖u - (↑(w n) : F)‖ < δ + 1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1
norm_tendsto : Tendsto (fun (n : ℕ) ↦ ‖u - (↑(w n) : F)‖) atTop (𝓝 δ)
b_1 : (n : ℕ) → ℝ :=
  fun (n : ℕ) ↦
    8 * δ * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1) +
      4 * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1) * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1)
p q N : ℕ
hp : N ≤ p
hq : N ≤ q
wp : F := (↑(w p) : F)
wq : F := (↑(w q) : F)
a : F := u - wq
b : F := u - wp
half : ℝ := 1 / 2
div : ℝ := 1 / HAdd.hAdd (α := ℝ) (↑N : ℝ) 1
this : 4 * ‖u - half • (wq + wp)‖ * ‖u - half • (wq + wp)‖ + ‖wp - wq‖ * ‖wp - wq‖ = 2 * (‖a‖ * ‖a‖ + ‖b‖ * ‖b‖)
eq : δ ≤ ‖u - half • (wq + wp)‖
eq₂ : ‖a‖ ≤ δ + div
⊢ ‖b‖ ≤ δ + div
have grw : δ + 1 / HAdd.hAdd (α := ℝ) (↑p : ℝ) 1 ≤ δ + div
Tactic: grw [hw, Nat.one_div_le_one_div hp]
-- Lean 4 proof step from Mathlib.Analysis.InnerProductSpace.Projection.Minimal (goal)
Goal:
F : Type u_3
inst : NormedAddCommGroup F
inst_1 : InnerProductSpace ℝ F
K : Set F
ne : K.Nonempty
h₁ : IsComplete K
h₂ : Convex ℝ K
u : F
δ : ℝ := ⨅ (w : (↑K : Type u_3)), ‖u - (↑w : F)‖
this_1 : Nonempty.{u_3 + 1} (↑K : Type u_3) := ⋯
zero_le_δ : 0 ≤ δ
δ_le : ∀ (w : (↑K : Type u_3)), δ ≤ ‖u - (↑w : F)‖
δ_le' : ∀ w ∈ K, δ ≤ ‖u - w‖
w : ℕ → (↑K : Type u_3)
hw : ∀ (n : ℕ), ‖u - (↑(w n) : F)‖ < δ + 1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1
norm_tendsto : Tendsto (fun (n : ℕ) ↦ ‖u - (↑(w n) : F)‖) atTop (𝓝 δ)
b_1 : (n : ℕ) → ℝ :=
  fun (n : ℕ) ↦
    8 * δ * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1) +
      4 * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1) * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1)
p q N : ℕ
hp : N ≤ p
hq : N ≤ q
wp : F := (↑(w p) : F)
wq : F := (↑(w q) : F)
a : F := u - wq
b : F := u - wp
half : ℝ := 1 / 2
div : ℝ := 1 / HAdd.hAdd (α := ℝ) (↑N : ℝ) 1
this : 4 * ‖u - half • (wq + wp)‖ * ‖u - half • (wq + wp)‖ + ‖wp - wq‖ * ‖wp - wq‖ = 2 * (‖a‖ * ‖a‖ + ‖b‖ * ‖b‖)
eq : δ ≤ ‖u - half • (wq + wp)‖
eq₂ : ‖a‖ ≤ δ + div
grw : δ + 1 / HAdd.hAdd (α := ℝ) (↑p : ℝ) 1 ≤ δ + div
⊢ ‖b‖ ≤ δ + div
have grw₁ : δ + 1 / HAdd.hAdd (α := ℝ) (↑N : ℝ) 1 ≤ δ + 1 / HAdd.hAdd (α := ℝ) (↑N : ℝ) 1
Tactic: grw [hw, Nat.one_div_le_one_div hp]
-- Lean 4 proof step from Mathlib.Analysis.InnerProductSpace.Projection.Minimal (hypothesis)
Goal:
F : Type u_3
inst : NormedAddCommGroup F
inst_1 : InnerProductSpace ℝ F
K : Set F
ne : K.Nonempty
h₁ : IsComplete K
h₂ : Convex ℝ K
u : F
δ : ℝ := ⨅ (w : (↑K : Type u_3)), ‖u - (↑w : F)‖
this_1 : Nonempty.{u_3 + 1} (↑K : Type u_3) := ⋯
zero_le_δ : 0 ≤ δ
δ_le : ∀ (w : (↑K : Type u_3)), δ ≤ ‖u - (↑w : F)‖
δ_le' : ∀ w ∈ K, δ ≤ ‖u - w‖
w : ℕ → (↑K : Type u_3)
hw : ∀ (n : ℕ), ‖u - (↑(w n) : F)‖ < δ + 1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1
norm_tendsto : Tendsto (fun (n : ℕ) ↦ ‖u - (↑(w n) : F)‖) atTop (𝓝 δ)
b_1 : (n : ℕ) → ℝ :=
  fun (n : ℕ) ↦
    8 * δ * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1) +
      4 * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1) * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1)
p q N : ℕ
hp : N ≤ p
hq : N ≤ q
wp : F := (↑(w p) : F)
wq : F := (↑(w q) : F)
a : F := u - wq
b : F := u - wp
half : ℝ := 1 / 2
div : ℝ := 1 / HAdd.hAdd (α := ℝ) (↑N : ℝ) 1
this : 4 * ‖u - half • (wq + wp)‖ * ‖u - half • (wq + wp)‖ + ‖wp - wq‖ * ‖wp - wq‖ = 2 * (‖a‖ * ‖a‖ + ‖b‖ * ‖b‖)
eq : δ ≤ ‖u - half • (wq + wp)‖
eq₂ : ‖a‖ ≤ δ + div
⊢ dist (↑(w p) : F) (↑(w q) : F) ≤ √(b_1 N)
have eq₂' : ‖b‖ ≤ δ + div
Tactic: have eq₂' : ‖b‖ ≤ δ + div := by grw [hw, Nat.one_div_le_one_div hp]
-- Lean 4 proof step from Mathlib.Analysis.InnerProductSpace.Projection.Minimal (goal)
Goal:
F : Type u_3
inst : NormedAddCommGroup F
inst_1 : InnerProductSpace ℝ F
K : Set F
ne : K.Nonempty
h₁ : IsComplete K
h₂ : Convex ℝ K
u : F
δ : ℝ := ⨅ (w : (↑K : Type u_3)), ‖u - (↑w : F)‖
this_1 : Nonempty.{u_3 + 1} (↑K : Type u_3) := ⋯
zero_le_δ : 0 ≤ δ
δ_le : ∀ (w : (↑K : Type u_3)), δ ≤ ‖u - (↑w : F)‖
δ_le' : ∀ w ∈ K, δ ≤ ‖u - w‖
w : ℕ → (↑K : Type u_3)
hw : ∀ (n : ℕ), ‖u - (↑(w n) : F)‖ < δ + 1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1
norm_tendsto : Tendsto (fun (n : ℕ) ↦ ‖u - (↑(w n) : F)‖) atTop (𝓝 δ)
b_1 : (n : ℕ) → ℝ :=
  fun (n : ℕ) ↦
    8 * δ * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1) +
      4 * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1) * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1)
p q N : ℕ
hp : N ≤ p
hq : N ≤ q
wp : F := (↑(w p) : F)
wq : F := (↑(w q) : F)
a : F := u - wq
b : F := u - wp
half : ℝ := 1 / 2
div : ℝ := 1 / HAdd.hAdd (α := ℝ) (↑N : ℝ) 1
this : 4 * ‖u - half • (wq + wp)‖ * ‖u - half • (wq + wp)‖ + ‖wp - wq‖ * ‖wp - wq‖ = 2 * (‖a‖ * ‖a‖ + ‖b‖ * ‖b‖)
eq : δ ≤ ‖u - half • (wq + wp)‖
eq₂ : ‖a‖ ≤ δ + div
eq₂' : ‖b‖ ≤ δ + div
⊢ dist (↑(w p) : F) (↑(w q) : F) ≤ √(b_1 N)
have h : ‖(↑(w p) : F) - (↑(w q) : F)‖ ≤ √(b_1 N)
Tactic: rw [dist_eq_norm]
-- Lean 4 proof step from Mathlib.Analysis.InnerProductSpace.Projection.Minimal (goal)
Goal:
F : Type u_3
inst : NormedAddCommGroup F
inst_1 : InnerProductSpace ℝ F
K : Set F
ne : K.Nonempty
h₁ : IsComplete K
h₂ : Convex ℝ K
u : F
δ : ℝ := ⨅ (w : (↑K : Type u_3)), ‖u - (↑w : F)‖
this_1 : Nonempty.{u_3 + 1} (↑K : Type u_3) := ⋯
zero_le_δ : 0 ≤ δ
δ_le : ∀ (w : (↑K : Type u_3)), δ ≤ ‖u - (↑w : F)‖
δ_le' : ∀ w ∈ K, δ ≤ ‖u - w‖
w : ℕ → (↑K : Type u_3)
hw : ∀ (n : ℕ), ‖u - (↑(w n) : F)‖ < δ + 1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1
norm_tendsto : Tendsto (fun (n : ℕ) ↦ ‖u - (↑(w n) : F)‖) atTop (𝓝 δ)
b_1 : (n : ℕ) → ℝ :=
  fun (n : ℕ) ↦
    8 * δ * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1) +
      4 * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1) * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1)
p q N : ℕ
hp : N ≤ p
hq : N ≤ q
wp : F := (↑(w p) : F)
wq : F := (↑(w q) : F)
a : F := u - wq
b : F := u - wp
half : ℝ := 1 / 2
div : ℝ := 1 / HAdd.hAdd (α := ℝ) (↑N : ℝ) 1
this : 4 * ‖u - half • (wq + wp)‖ * ‖u - half • (wq + wp)‖ + ‖wp - wq‖ * ‖wp - wq‖ = 2 * (‖a‖ * ‖a‖ + ‖b‖ * ‖b‖)
eq : δ ≤ ‖u - half • (wq + wp)‖
eq₂ : ‖a‖ ≤ δ + div
eq₂' : ‖b‖ ≤ δ + div
⊢ ‖(↑(w p) : F) - (↑(w q) : F)‖ ≤ √(b_1 N)
have h : 0 ≤ √(b_1 N)
Tactic: apply nonneg_le_nonneg_of_sq_le_sq
-- Lean 4 proof step from Mathlib.Analysis.InnerProductSpace.Projection.Minimal (goal)
Goal:
F : Type u_3
inst : NormedAddCommGroup F
inst_1 : InnerProductSpace ℝ F
K : Set F
ne : K.Nonempty
h₁ : IsComplete K
h₂ : Convex ℝ K
u : F
δ : ℝ := ⨅ (w : (↑K : Type u_3)), ‖u - (↑w : F)‖
this_1 : Nonempty.{u_3 + 1} (↑K : Type u_3) := ⋯
zero_le_δ : 0 ≤ δ
δ_le : ∀ (w : (↑K : Type u_3)), δ ≤ ‖u - (↑w : F)‖
δ_le' : ∀ w ∈ K, δ ≤ ‖u - w‖
w : ℕ → (↑K : Type u_3)
hw : ∀ (n : ℕ), ‖u - (↑(w n) : F)‖ < δ + 1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1
norm_tendsto : Tendsto (fun (n : ℕ) ↦ ‖u - (↑(w n) : F)‖) atTop (𝓝 δ)
b_1 : (n : ℕ) → ℝ :=
  fun (n : ℕ) ↦
    8 * δ * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1) +
      4 * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1) * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1)
p q N : ℕ
hp : N ≤ p
hq : N ≤ q
wp : F := (↑(w p) : F)
wq : F := (↑(w q) : F)
a : F := u - wq
b : F := u - wp
half : ℝ := 1 / 2
div : ℝ := 1 / HAdd.hAdd (α := ℝ) (↑N : ℝ) 1
this : 4 * ‖u - half • (wq + wp)‖ * ‖u - half • (wq + wp)‖ + ‖wp - wq‖ * ‖wp - wq‖ = 2 * (‖a‖ * ‖a‖ + ‖b‖ * ‖b‖)
eq : δ ≤ ‖u - half • (wq + wp)‖
eq₂ : ‖a‖ ≤ δ + div
eq₂' : ‖b‖ ≤ δ + div
h : 0 ≤ √(b_1 N)
⊢ ‖(↑(w p) : F) - (↑(w q) : F)‖ ≤ √(b_1 N)
have h₃ : ‖(↑(w p) : F) - (↑(w q) : F)‖ * ‖(↑(w p) : F) - (↑(w q) : F)‖ ≤ √(b_1 N) * √(b_1 N)
Tactic: apply nonneg_le_nonneg_of_sq_le_sq
-- Lean 4 proof step from Mathlib.Analysis.InnerProductSpace.Projection.Minimal (goal)
Goal:
F : Type u_3
inst : NormedAddCommGroup F
inst_1 : InnerProductSpace ℝ F
K : Set F
ne : K.Nonempty
h₁ : IsComplete K
h₂ : Convex ℝ K
u : F
δ : ℝ := ⨅ (w : (↑K : Type u_3)), ‖u - (↑w : F)‖
this_1 : Nonempty.{u_3 + 1} (↑K : Type u_3) := ⋯
zero_le_δ : 0 ≤ δ
δ_le : ∀ (w : (↑K : Type u_3)), δ ≤ ‖u - (↑w : F)‖
δ_le' : ∀ w ∈ K, δ ≤ ‖u - w‖
w : ℕ → (↑K : Type u_3)
hw : ∀ (n : ℕ), ‖u - (↑(w n) : F)‖ < δ + 1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1
norm_tendsto : Tendsto (fun (n : ℕ) ↦ ‖u - (↑(w n) : F)‖) atTop (𝓝 δ)
b_1 : (n : ℕ) → ℝ :=
  fun (n : ℕ) ↦
    8 * δ * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1) +
      4 * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1) * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1)
p q N : ℕ
hp : N ≤ p
hq : N ≤ q
wp : F := (↑(w p) : F)
wq : F := (↑(w q) : F)
a : F := u - wq
b : F := u - wp
half : ℝ := 1 / 2
div : ℝ := 1 / HAdd.hAdd (α := ℝ) (↑N : ℝ) 1
this : 4 * ‖u - half • (wq + wp)‖ * ‖u - half • (wq + wp)‖ + ‖wp - wq‖ * ‖wp - wq‖ = 2 * (‖a‖ * ‖a‖ + ‖b‖ * ‖b‖)
eq : δ ≤ ‖u - half • (wq + wp)‖
eq₂ : ‖a‖ ≤ δ + div
eq₂' : ‖b‖ ≤ δ + div
⊢ ‖(↑(w p) : F) - (↑(w q) : F)‖ * ‖(↑(w p) : F) - (↑(w q) : F)‖ ≤ √(b_1 N) * √(b_1 N)
have h : ‖(↑(w p) : F) - (↑(w q) : F)‖ * ‖(↑(w p) : F) - (↑(w q) : F)‖ ≤ b_1 N
Tactic: rw [mul_self_sqrt]
-- Lean 4 proof step from Mathlib.Analysis.InnerProductSpace.Projection.Minimal (goal)
Goal:
F : Type u_3
inst : NormedAddCommGroup F
inst_1 : InnerProductSpace ℝ F
K : Set F
ne : K.Nonempty
h₁ : IsComplete K
h₂ : Convex ℝ K
u : F
δ : ℝ := ⨅ (w : (↑K : Type u_3)), ‖u - (↑w : F)‖
this_1 : Nonempty.{u_3 + 1} (↑K : Type u_3) := ⋯
zero_le_δ : 0 ≤ δ
δ_le : ∀ (w : (↑K : Type u_3)), δ ≤ ‖u - (↑w : F)‖
δ_le' : ∀ w ∈ K, δ ≤ ‖u - w‖
w : ℕ → (↑K : Type u_3)
hw : ∀ (n : ℕ), ‖u - (↑(w n) : F)‖ < δ + 1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1
norm_tendsto : Tendsto (fun (n : ℕ) ↦ ‖u - (↑(w n) : F)‖) atTop (𝓝 δ)
b_1 : (n : ℕ) → ℝ :=
  fun (n : ℕ) ↦
    8 * δ * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1) +
      4 * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1) * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1)
p q N : ℕ
hp : N ≤ p
hq : N ≤ q
wp : F := (↑(w p) : F)
wq : F := (↑(w q) : F)
a : F := u - wq
b : F := u - wp
half : ℝ := 1 / 2
div : ℝ := 1 / HAdd.hAdd (α := ℝ) (↑N : ℝ) 1
this : 4 * ‖u - half • (wq + wp)‖ * ‖u - half • (wq + wp)‖ + ‖wp - wq‖ * ‖wp - wq‖ = 2 * (‖a‖ * ‖a‖ + ‖b‖ * ‖b‖)
eq : δ ≤ ‖u - half • (wq + wp)‖
eq₂ : ‖a‖ ≤ δ + div
eq₂' : ‖b‖ ≤ δ + div
h : ‖(↑(w p) : F) - (↑(w q) : F)‖ * ‖(↑(w p) : F) - (↑(w q) : F)‖ ≤ b_1 N
⊢ ‖(↑(w p) : F) - (↑(w q) : F)‖ * ‖(↑(w p) : F) - (↑(w q) : F)‖ ≤ √(b_1 N) * √(b_1 N)
have h₃ : 0 ≤ b_1 N
Tactic: rw [mul_self_sqrt]
-- Lean 4 proof step from Mathlib.Analysis.InnerProductSpace.Projection.Minimal (goal)
Goal:
F : Type u_3
inst : NormedAddCommGroup F
inst_1 : InnerProductSpace ℝ F
K : Set F
ne : K.Nonempty
h₁ : IsComplete K
h₂ : Convex ℝ K
u : F
δ : ℝ := ⨅ (w : (↑K : Type u_3)), ‖u - (↑w : F)‖
this_1 : Nonempty.{u_3 + 1} (↑K : Type u_3) := ⋯
zero_le_δ : 0 ≤ δ
δ_le : ∀ (w : (↑K : Type u_3)), δ ≤ ‖u - (↑w : F)‖
δ_le' : ∀ w ∈ K, δ ≤ ‖u - w‖
w : ℕ → (↑K : Type u_3)
hw : ∀ (n : ℕ), ‖u - (↑(w n) : F)‖ < δ + 1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1
norm_tendsto : Tendsto (fun (n : ℕ) ↦ ‖u - (↑(w n) : F)‖) atTop (𝓝 δ)
b_1 : (n : ℕ) → ℝ :=
  fun (n : ℕ) ↦
    8 * δ * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1) +
      4 * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1) * (1 / HAdd.hAdd (α := ℝ) (↑n : ℝ) 1)
p q N : ℕ
hp : N ≤ p
hq : N ≤ q
wp : F := (↑(w p) : F)
wq : F := (↑(w q) : F)
a : F := u - wq
b : F := u - wp
half : ℝ := 1 / 2
div : ℝ := 1 / HAdd.hAdd (α := ℝ) (↑N : ℝ) 1
this : 4 * ‖u - half • (wq + wp)‖ * ‖u - half • (wq + wp)‖ + ‖wp - wq‖ * ‖wp - wq‖ = 2 * (‖a‖ * ‖a‖ + ‖b‖ * ‖b‖)
eq : δ ≤ ‖u - half • (wq + wp)‖
eq₂ : ‖a‖ ≤ δ + div
eq₂' : ‖b‖ ≤ δ + div
h : 0 ≤ δ
⊢ 2 * (‖a‖ * ‖a‖ + ‖b‖ * ‖b‖) - 4 * ‖u - half • (wq + wp)‖ * ‖u - half • (wq + wp)‖ ≤
    2 * (‖a‖ * ‖a‖ + ‖b‖ * ‖b‖) - 4 * δ * δ
have h₃ : 0 ≤ 4 * ‖u - half • (wq + wp)‖
Tactic: gcongr