zzhisthebest/LeanBenchmark huggingface dataset:
import Mathlib
import Optlib


open Set InnerProductSpace Topology Filter InnerProduct

open scoped Pointwise

theorem extracted_formal_statement_2.{u_3, u_2, u_1} {E₁ : Type u_1} {E₂ : Type u_2} {F : Type u_3}
  [inst : NormedAddCommGroup E₁] [inst_1 : InnerProductSpace ℝ E₁] [inst_2 : FiniteDimensional ℝ E₁]
  [inst_3 : NormedAddCommGroup E₂] [inst_4 : InnerProductSpace ℝ E₂] [inst_5 : FiniteDimensional ℝ E₂]
  [inst_6 : NormedAddCommGroup F] [inst_7 : InnerProductSpace ℝ F] [inst_8 : FiniteDimensional ℝ F]
  {admm : ADMM E₁ E₂ F} {admm_kkt : Existance_of_kkt admm} (n : ℕ+) :
  let c := -((OptProblem.A₂ E₁) (ADMM.x₂ E₁ F n.natPred) - OptProblem.b E₁ E₂);
  ∀ (x : E₁),
    ADMM.ρ E₁ E₂ F / 2 * ‖(OptProblem.A₁ E₂) x + (OptProblem.A₂ E₁) (ADMM.x₂ E₁ F n.natPred) - OptProblem.b E₁ E₂‖ ^ 2 =
      ADMM.ρ E₁ E₂ F * ‖(OptProblem.A₁ E₂) x - c‖ ^ 2 / 2 := sorry

Tactic state before:
case h
E₁ : Type u_1
E₂ : Type u_2
F : Type u_3
inst✝⁹ : NormedAddCommGroup E₁
inst✝⁸ : InnerProductSpace ℝ E₁
inst✝⁷ : FiniteDimensional ℝ E₁
inst✝⁶ : NormedAddCommGroup E₂
inst✝⁵ : InnerProductSpace ℝ E₂
inst✝⁴ : FiniteDimensional ℝ E₂
inst✝³ : NormedAddCommGroup F
inst✝² : InnerProductSpace ℝ F
inst✝¹ : FiniteDimensional ℝ F
admm : ADMM E₁ E₂ F
admm_kkt : Existance_of_kkt admm
inst✝ : Setting E₁ E₂ F admm admm_kkt
n : ℕ+
c : F := -((OptProblem.A₂ E₁) (ADMM.x₂ E₁ F n.natPred) - OptProblem.b E₁ E₂)
x : E₁
⊢ ADMM.ρ E₁ E₂ F / 2 * ‖(OptProblem.A₁ E₂) x + (OptProblem.A₂ E₁) (ADMM.x₂ E₁ F n.natPred) - OptProblem.b E₁ E₂‖ ^ 2 =
    ADMM.ρ E₁ E₂ F * ‖(OptProblem.A₁ E₂) x - c‖ ^ 2 / 2

Tactic:
simp only [c]
    rw [sub_neg_eq_add, add_sub]
    ring

Tactic state after:
import Mathlib
import Optlib


open Set InnerProductSpace Topology Filter InnerProduct

open scoped Pointwise

theorem extracted_formal_statement_3.{u_3, u_2, u_1} {E₁ : Type u_1} {E₂ : Type u_2} {F : Type u_3}
  [inst : NormedAddCommGroup E₁] [inst_1 : InnerProductSpace ℝ E₁] [inst_2 : FiniteDimensional ℝ E₁]
  [inst_3 : NormedAddCommGroup E₂] [inst_4 : InnerProductSpace ℝ E₂] [inst_5 : FiniteDimensional ℝ E₂]
  [inst_6 : NormedAddCommGroup F] [inst_7 : InnerProductSpace ℝ F] [inst_8 : FiniteDimensional ℝ F]
  {admm : ADMM E₁ E₂ F} {admm_kkt : Existance_of_kkt admm} (n : ℕ+) :
  let c := -((OptProblem.A₂ E₁) (ADMM.x₂ E₁ F n.natPred) - OptProblem.b E₁ E₂);
  ((fun x =>
        ADMM.ρ E₁ E₂ F / 2 *
          ‖(OptProblem.A₁ E₂) x + (OptProblem.A₂ E₁) (ADMM.x₂ E₁ F n.natPred) - OptProblem.b E₁ E₂‖ ^ 2) =
      fun x => ADMM.ρ E₁ E₂ F * ‖(OptProblem.A₁ E₂) x - c‖ ^ 2 / 2) →
    let f := fun x => ‖(OptProblem.A₁ E₂) x - c‖ ^ 2 / 2;
    ((fun x => ADMM.ρ E₁ E₂ F • ‖(OptProblem.A₁ E₂) x - c‖ ^ 2 / 2) = fun x => ADMM.ρ E₁ E₂ F • f x) →
      (ConvexOn ℝ univ fun x => ADMM.ρ E₁ E₂ F • f x) → ConvexOn ℝ univ f := sorry

Tactic state before:
E₁ : Type u_1
E₂ : Type u_2
F : Type u_3
inst✝⁹ : NormedAddCommGroup E₁
inst✝⁸ : InnerProductSpace ℝ E₁
inst✝⁷ : FiniteDimensional ℝ E₁
inst✝⁶ : NormedAddCommGroup E₂
inst✝⁵ : InnerProductSpace ℝ E₂
inst✝⁴ : FiniteDimensional ℝ E₂
inst✝³ : NormedAddCommGroup F
inst✝² : InnerProductSpace ℝ F
inst✝¹ : FiniteDimensional ℝ F
admm : ADMM E₁ E₂ F
admm_kkt : Existance_of_kkt admm
inst✝ : Setting E₁ E₂ F admm admm_kkt
n : ℕ+
c : F := -((OptProblem.A₂ E₁) (ADMM.x₂ E₁ F n.natPred) - OptProblem.b E₁ E₂)
h :
  (fun x =>
      ADMM.ρ E₁ E₂ F / 2 *
        ‖(OptProblem.A₁ E₂) x + (OptProblem.A₂ E₁) (ADMM.x₂ E₁ F n.natPred) - OptProblem.b E₁ E₂‖ ^ 2) =
    fun x => ADMM.ρ E₁ E₂ F * ‖(OptProblem.A₁ E₂) x - c‖ ^ 2 / 2
f : E₁ → ℝ := fun x => ‖(OptProblem.A₁ E₂) x - c‖ ^ 2 / 2
h1 : (fun x => ADMM.ρ E₁ E₂ F • ‖(OptProblem.A₁ E₂) x - c‖ ^ 2 / 2) = fun x => ADMM.ρ E₁ E₂ F • f x
⊢ ConvexOn ℝ univ fun x => ADMM.ρ E₁ E₂ F • f x

Tactic:
apply ConvexOn.smul (le_of_lt admm.hrho)
    let u := fun x => ‖x - c‖ ^ 2 / 2
    let g := A₁

Tactic state after:
[E₁ : Type u_1
 E₂ : Type u_2
 F : Type u_3
 inst✝⁹ : NormedAddCommGroup E₁
 inst✝⁸ : InnerProductSpace ℝ E₁
 inst✝⁷ : FiniteDimensional ℝ E₁
 inst✝⁶ : NormedAddCommGroup E₂
 inst✝⁵ : InnerProductSpace ℝ E₂
 inst✝⁴ : FiniteDimensional ℝ E₂
 inst✝³ : NormedAddCommGroup F
 inst✝² : InnerProductSpace ℝ F
 inst✝¹ : FiniteDimensional ℝ F
 admm : ADMM E₁ E₂ F
 admm_kkt : Existance_of_kkt admm
 inst✝ : Setting E₁ E₂ F admm admm_kkt
 n : ℕ+
 c : F := -((OptProblem.A₂ E₁) (ADMM.x₂ E₁ F n.natPred) - OptProblem.b E₁ E₂)
 h :
   (fun x =>
       ADMM.ρ E₁ E₂ F / 2 *
         ‖(OptProblem.A₁ E₂) x + (OptProblem.A₂ E₁) (ADMM.x₂ E₁ F n.natPred) - OptProblem.b E₁ E₂‖ ^ 2) =
     fun x => ADMM.ρ E₁ E₂ F * ‖(OptProblem.A₁ E₂) x - c‖ ^ 2 / 2
 f : E₁ → ℝ := fun x => ‖(OptProblem.A₁ E₂) x - c‖ ^ 2 / 2
 h1 : (fun x => ADMM.ρ E₁ E₂ F • ‖(OptProblem.A₁ E₂) x - c‖ ^ 2 / 2) = fun x => ADMM.ρ E₁ E₂ F • f x
 u : F → ℝ := fun x => ‖x - c‖ ^ 2 / 2
 g : E₁ →L[ℝ] F := OptProblem.A₁ E₂
 ⊢ ConvexOn ℝ univ f]
import Mathlib
import Optlib


open Set InnerProductSpace Topology Filter InnerProduct

open scoped Pointwise

theorem extracted_formal_statement_4.{u_3, u_2, u_1} {E₁ : Type u_1} {E₂ : Type u_2} {F : Type u_3}
  [inst : NormedAddCommGroup E₁] [inst_1 : InnerProductSpace ℝ E₁] [inst_2 : FiniteDimensional ℝ E₁]
  [inst_3 : NormedAddCommGroup E₂] [inst_4 : InnerProductSpace ℝ E₂] [inst_5 : FiniteDimensional ℝ E₂]
  [inst_6 : NormedAddCommGroup F] [inst_7 : InnerProductSpace ℝ F] [inst_8 : FiniteDimensional ℝ F]
  {admm : ADMM E₁ E₂ F} {admm_kkt : Existance_of_kkt admm} (n : ℕ+) :
  let c := -((OptProblem.A₁ E₂) (ADMM.x₁ E₂ F ↑n) - OptProblem.b E₁ E₂);
  ∀ (x : E₂),
    ADMM.ρ E₁ E₂ F / 2 * ‖(OptProblem.A₂ E₁) x + (OptProblem.A₁ E₂) (ADMM.x₁ E₂ F ↑n) - OptProblem.b E₁ E₂‖ ^ 2 =
      ADMM.ρ E₁ E₂ F * ‖(OptProblem.A₂ E₁) x - c‖ ^ 2 / 2 := sorry

Tactic state before:
case h
E₁ : Type u_1
E₂ : Type u_2
F : Type u_3
inst✝⁹ : NormedAddCommGroup E₁
inst✝⁸ : InnerProductSpace ℝ E₁
inst✝⁷ : FiniteDimensional ℝ E₁
inst✝⁶ : NormedAddCommGroup E₂
inst✝⁵ : InnerProductSpace ℝ E₂
inst✝⁴ : FiniteDimensional ℝ E₂
inst✝³ : NormedAddCommGroup F
inst✝² : InnerProductSpace ℝ F
inst✝¹ : FiniteDimensional ℝ F
admm : ADMM E₁ E₂ F
admm_kkt : Existance_of_kkt admm
inst✝ : Setting E₁ E₂ F admm admm_kkt
n : ℕ+
c : F := -((OptProblem.A₁ E₂) (ADMM.x₁ E₂ F ↑n) - OptProblem.b E₁ E₂)
x : E₂
⊢ ADMM.ρ E₁ E₂ F / 2 * ‖(OptProblem.A₂ E₁) x + (OptProblem.A₁ E₂) (ADMM.x₁ E₂ F ↑n) - OptProblem.b E₁ E₂‖ ^ 2 =
    ADMM.ρ E₁ E₂ F * ‖(OptProblem.A₂ E₁) x - c‖ ^ 2 / 2

Tactic:
simp only [c]
    rw [sub_neg_eq_add, add_sub]
    ring

Tactic state after:
import Mathlib
import Optlib


open Set InnerProductSpace Topology Filter InnerProduct

open scoped Pointwise

theorem extracted_formal_statement_5.{u_3, u_2, u_1} {E₁ : Type u_1} {E₂ : Type u_2} {F : Type u_3}
  [inst : NormedAddCommGroup E₁] [inst_1 : InnerProductSpace ℝ E₁] [inst_2 : FiniteDimensional ℝ E₁]
  [inst_3 : NormedAddCommGroup E₂] [inst_4 : InnerProductSpace ℝ E₂] [inst_5 : FiniteDimensional ℝ E₂]
  [inst_6 : NormedAddCommGroup F] [inst_7 : InnerProductSpace ℝ F] [inst_8 : FiniteDimensional ℝ F]
  {admm : ADMM E₁ E₂ F} {admm_kkt : Existance_of_kkt admm} (n : ℕ+) :
  let c := -((OptProblem.A₁ E₂) (ADMM.x₁ E₂ F ↑n) - OptProblem.b E₁ E₂);
  ((fun x =>
        ADMM.ρ E₁ E₂ F / 2 * ‖(OptProblem.A₁ E₂) (ADMM.x₁ E₂ F ↑n) + (OptProblem.A₂ E₁) x - OptProblem.b E₁ E₂‖ ^ 2) =
      fun x => ADMM.ρ E₁ E₂ F * ‖(OptProblem.A₂ E₁) x - c‖ ^ 2 / 2) →
    let f := fun x => ‖(OptProblem.A₂ E₁) x - c‖ ^ 2 / 2;
    ((fun x => ADMM.ρ E₁ E₂ F • ‖(OptProblem.A₂ E₁) x - c‖ ^ 2 / 2) = fun x => ADMM.ρ E₁ E₂ F • f x) →
      (ConvexOn ℝ univ fun x => ADMM.ρ E₁ E₂ F • f x) → ConvexOn ℝ univ f := sorry

Tactic state before:
E₁ : Type u_1
E₂ : Type u_2
F : Type u_3
inst✝⁹ : NormedAddCommGroup E₁
inst✝⁸ : InnerProductSpace ℝ E₁
inst✝⁷ : FiniteDimensional ℝ E₁
inst✝⁶ : NormedAddCommGroup E₂
inst✝⁵ : InnerProductSpace ℝ E₂
inst✝⁴ : FiniteDimensional ℝ E₂
inst✝³ : NormedAddCommGroup F
inst✝² : InnerProductSpace ℝ F
inst✝¹ : FiniteDimensional ℝ F
admm : ADMM E₁ E₂ F
admm_kkt : Existance_of_kkt admm
inst✝ : Setting E₁ E₂ F admm admm_kkt
n : ℕ+
c : F := -((OptProblem.A₁ E₂) (ADMM.x₁ E₂ F ↑n) - OptProblem.b E₁ E₂)
h :
  (fun x =>
      ADMM.ρ E₁ E₂ F / 2 * ‖(OptProblem.A₁ E₂) (ADMM.x₁ E₂ F ↑n) + (OptProblem.A₂ E₁) x - OptProblem.b E₁ E₂‖ ^ 2) =
    fun x => ADMM.ρ E₁ E₂ F * ‖(OptProblem.A₂ E₁) x - c‖ ^ 2 / 2
f : E₂ → ℝ := fun x => ‖(OptProblem.A₂ E₁) x - c‖ ^ 2 / 2
h1 : (fun x => ADMM.ρ E₁ E₂ F • ‖(OptProblem.A₂ E₁) x - c‖ ^ 2 / 2) = fun x => ADMM.ρ E₁ E₂ F • f x
⊢ ConvexOn ℝ univ fun x => ADMM.ρ E₁ E₂ F • f x

Tactic:
apply ConvexOn.smul (le_of_lt admm.hrho)
    let u := fun x => ‖x - c‖ ^ 2 / 2
    let g := A₂

Tactic state after:
[E₁ : Type u_1
 E₂ : Type u_2
 F : Type u_3
 inst✝⁹ : NormedAddCommGroup E₁
 inst✝⁸ : InnerProductSpace ℝ E₁
 inst✝⁷ : FiniteDimensional ℝ E₁
 inst✝⁶ : NormedAddCommGroup E₂
 inst✝⁵ : InnerProductSpace ℝ E₂
 inst✝⁴ : FiniteDimensional ℝ E₂
 inst✝³ : NormedAddCommGroup F
 inst✝² : InnerProductSpace ℝ F
 inst✝¹ : FiniteDimensional ℝ F
 admm : ADMM E₁ E₂ F
 admm_kkt : Existance_of_kkt admm
 inst✝ : Setting E₁ E₂ F admm admm_kkt
 n : ℕ+
 c : F := -((OptProblem.A₁ E₂) (ADMM.x₁ E₂ F ↑n) - OptProblem.b E₁ E₂)
 h :
   (fun x =>
       ADMM.ρ E₁ E₂ F / 2 * ‖(OptProblem.A₁ E₂) (ADMM.x₁ E₂ F ↑n) + (OptProblem.A₂ E₁) x - OptProblem.b E₁ E₂‖ ^ 2) =
     fun x => ADMM.ρ E₁ E₂ F * ‖(OptProblem.A₂ E₁) x - c‖ ^ 2 / 2
 f : E₂ → ℝ := fun x => ‖(OptProblem.A₂ E₁) x - c‖ ^ 2 / 2
 h1 : (fun x => ADMM.ρ E₁ E₂ F • ‖(OptProblem.A₂ E₁) x - c‖ ^ 2 / 2) = fun x => ADMM.ρ E₁ E₂ F • f x
 u : F → ℝ := fun x => ‖x - c‖ ^ 2 / 2
 g : E₂ →L[ℝ] F := OptProblem.A₂ E₁
 ⊢ ConvexOn ℝ univ f]
import Mathlib
import Optlib


open Set InnerProductSpace Topology Filter InnerProduct

open scoped Pointwise

theorem extracted_formal_statement_6.{u_5, u_4} {α : Type u_4} {β : Type u_5} [inst : NormedAddCommGroup α]
  [inst_1 : NormedAddCommGroup β] [inst_2 : InnerProductSpace ℝ α] [inst_3 : InnerProductSpace ℝ β]
  [inst_4 : CompleteSpace α] [inst_5 : CompleteSpace β] (A : α →L[ℝ] β) (c : β) (x : α) (ε : ℝ) (εpos : ε > 0) (x1 : α)
  (a : ‖x - x1‖ ≤ ε) : ‖⟪c, A x1 - A x - A (x1 - x)⟫_ℝ‖ ≤ ε * ‖x - x1‖ := sorry

Tactic state before:
case right
α : Type u_4
β : Type u_5
inst✝⁵ : NormedAddCommGroup α
inst✝⁴ : NormedAddCommGroup β
inst✝³ : InnerProductSpace ℝ α
inst✝² : InnerProductSpace ℝ β
inst✝¹ : CompleteSpace α
inst✝ : CompleteSpace β
A : α →L[ℝ] β
c : β
x : α
ε : ℝ
εpos : ε > 0
x1 : α
a✝ : ‖x - x1‖ ≤ ε
⊢ ‖⟪c, A x1 - A x - A (x1 - x)⟫_ℝ‖ ≤ ε * ‖x - x1‖

Tactic:
simp only [map_sub, sub_self, inner_zero_right, norm_zero]
    have := norm_nonneg (x - x1)
    rwa [mul_nonneg_iff_right_nonneg_of_pos εpos]

Tactic state after:
import Mathlib
import Optlib


open Set InnerProductSpace Topology Filter InnerProduct

open scoped Pointwise

theorem extracted_formal_statement_7.{u_3, u_2, u_1} {E₁ : Type u_1} {E₂ : Type u_2} {F : Type u_3}
  [inst : NormedAddCommGroup E₁] [inst_1 : InnerProductSpace ℝ E₁] [inst_2 : FiniteDimensional ℝ E₁]
  [inst_3 : NormedAddCommGroup E₂] [inst_4 : InnerProductSpace ℝ E₂] [inst_5 : FiniteDimensional ℝ E₂]
  [inst_6 : NormedAddCommGroup F] [inst_7 : InnerProductSpace ℝ F] [inst_8 : FiniteDimensional ℝ F]
  {admm : ADMM E₁ E₂ F} {admm_kkt : Existance_of_kkt admm} (n : ℕ+) (x : E₁) :
  ⟪ADMM.y E₁ E₂ n.natPred, (OptProblem.A₁ E₂) x + (OptProblem.A₂ E₁) (ADMM.x₂ E₁ F n.natPred) - OptProblem.b E₁ E₂⟫_ℝ =
    ((fun x => ⟪ADMM.y E₁ E₂ n.natPred, (OptProblem.A₁ E₂) x⟫_ℝ) + fun x =>
        ⟪ADMM.y E₁ E₂ n.natPred, (OptProblem.A₂ E₁) (ADMM.x₂ E₁ F n.natPred) - OptProblem.b E₁ E₂⟫_ℝ)
      x := sorry

Tactic state before:
case h
E₁ : Type u_1
E₂ : Type u_2
F : Type u_3
inst✝⁹ : NormedAddCommGroup E₁
inst✝⁸ : InnerProductSpace ℝ E₁
inst✝⁷ : FiniteDimensional ℝ E₁
inst✝⁶ : NormedAddCommGroup E₂
inst✝⁵ : InnerProductSpace ℝ E₂
inst✝⁴ : FiniteDimensional ℝ E₂
inst✝³ : NormedAddCommGroup F
inst✝² : InnerProductSpace ℝ F
inst✝¹ : FiniteDimensional ℝ F
admm : ADMM E₁ E₂ F
admm_kkt : Existance_of_kkt admm
inst✝ : Setting E₁ E₂ F admm admm_kkt
n : ℕ+
x✝ : E₁
c : F := ADMM.y E₁ E₂ n.natPred
c₁ : ℝ := ⟪ADMM.y E₁ E₂ n.natPred, (OptProblem.A₂ E₁) (ADMM.x₂ E₁ F n.natPred) - OptProblem.b E₁ E₂⟫_ℝ
x : E₁
⊢ ⟪ADMM.y E₁ E₂ n.natPred, (OptProblem.A₁ E₂) x + (OptProblem.A₂ E₁) (ADMM.x₂ E₁ F n.natPred) - OptProblem.b E₁ E₂⟫_ℝ =
    ((fun x => ⟪ADMM.y E₁ E₂ n.natPred, (OptProblem.A₁ E₂) x⟫_ℝ) + fun x =>
        ⟪ADMM.y E₁ E₂ n.natPred, (OptProblem.A₂ E₁) (ADMM.x₂ E₁ F n.natPred) - OptProblem.b E₁ E₂⟫_ℝ)
      x

Tactic:
simp only [Pi.add_apply]
    rw [← add_sub (A₁ x) (A₂ (x₂ n.natPred)) b]
    exact
  inner_add_right (ADMM.y E₁ E₂ n.natPred) ((OptProblem.A₁ E₂) x)
    ((OptProblem.A₂ E₁) (ADMM.x₂ E₁ F n.natPred) - OptProblem.b E₁ E₂)

Tactic state after:
import Mathlib
import Optlib


open Set InnerProductSpace Topology Filter InnerProduct

open scoped Pointwise

theorem extracted_formal_statement_8.{u_3, u_2, u_1} {E₁ : Type u_1} {E₂ : Type u_2} {F : Type u_3}
  [inst : NormedAddCommGroup E₁] [inst_1 : InnerProductSpace ℝ E₁] [inst_2 : FiniteDimensional ℝ E₁]
  [inst_3 : NormedAddCommGroup E₂] [inst_4 : InnerProductSpace ℝ E₂] [inst_5 : FiniteDimensional ℝ E₂]
  [inst_6 : NormedAddCommGroup F] [inst_7 : InnerProductSpace ℝ F] [inst_8 : FiniteDimensional ℝ F]
  {admm : ADMM E₁ E₂ F} {admm_kkt : Existance_of_kkt admm} (n : ℕ+) (x : E₁) :
  let c := ADMM.y E₁ E₂ n.natPred;
  let c₁ := ⟪ADMM.y E₁ E₂ n.natPred, (OptProblem.A₂ E₁) (ADMM.x₂ E₁ F n.natPred) - OptProblem.b E₁ E₂⟫_ℝ;
  ((fun x =>
        ⟪ADMM.y E₁ E₂ n.natPred,
          (OptProblem.A₁ E₂) x + (OptProblem.A₂ E₁) (ADMM.x₂ E₁ F n.natPred) - OptProblem.b E₁ E₂⟫_ℝ) =
      (fun x => ⟪ADMM.y E₁ E₂ n.natPred, (OptProblem.A₁ E₂) x⟫_ℝ) + fun x =>
        ⟪ADMM.y E₁ E₂ n.natPred, (OptProblem.A₂ E₁) (ADMM.x₂ E₁ F n.natPred) - OptProblem.b E₁ E₂⟫_ℝ) →
    HasFDerivAt (fun x => ⟪c, (OptProblem.A₁ E₂) x⟫_ℝ + c₁)
      ((toDual ℝ E₁) ((ContinuousLinearMap.adjoint (OptProblem.A₁ E₂)) c)) x := sorry

Tactic state before:
E₁ : Type u_1
E₂ : Type u_2
F : Type u_3
inst✝⁹ : NormedAddCommGroup E₁
inst✝⁸ : InnerProductSpace ℝ E₁
inst✝⁷ : FiniteDimensional ℝ E₁
inst✝⁶ : NormedAddCommGroup E₂
inst✝⁵ : InnerProductSpace ℝ E₂
inst✝⁴ : FiniteDimensional ℝ E₂
inst✝³ : NormedAddCommGroup F
inst✝² : InnerProductSpace ℝ F
inst✝¹ : FiniteDimensional ℝ F
admm : ADMM E₁ E₂ F
admm_kkt : Existance_of_kkt admm
inst✝ : Setting E₁ E₂ F admm admm_kkt
n : ℕ+
x : E₁
c : F := ADMM.y E₁ E₂ n.natPred
c₁ : ℝ := ⟪ADMM.y E₁ E₂ n.natPred, (OptProblem.A₂ E₁) (ADMM.x₂ E₁ F n.natPred) - OptProblem.b E₁ E₂⟫_ℝ
this :
  (fun x =>
      ⟪ADMM.y E₁ E₂ n.natPred,
        (OptProblem.A₁ E₂) x + (OptProblem.A₂ E₁) (ADMM.x₂ E₁ F n.natPred) - OptProblem.b E₁ E₂⟫_ℝ) =
    (fun x => ⟪ADMM.y E₁ E₂ n.natPred, (OptProblem.A₁ E₂) x⟫_ℝ) + fun x =>
      ⟪ADMM.y E₁ E₂ n.natPred, (OptProblem.A₂ E₁) (ADMM.x₂ E₁ F n.natPred) - OptProblem.b E₁ E₂⟫_ℝ
⊢ HasFDerivAt (fun x => ⟪c, (OptProblem.A₁ E₂) x⟫_ℝ + c₁)
    ((toDual ℝ E₁) ((ContinuousLinearMap.adjoint (OptProblem.A₁ E₂)) c)) x

Tactic:
apply HasFDerivAt.add_const c₁ _
    show HasGradientAt ((fun x => ⟪c, (A₁ x)⟫)) (A₁† c) x
    apply ADMM_iter_process₁'_eq3_2'_1

Tactic state after:
import Mathlib
import Optlib


open Set InnerProductSpace Topology Filter InnerProduct

open scoped Pointwise

theorem extracted_formal_statement_9.{u_5, u_4} {α : Type u_4} {β : Type u_5} [inst : NormedAddCommGroup α]
  [inst_1 : NormedAddCommGroup β] [inst_2 : InnerProductSpace ℝ α] [inst_3 : InnerProductSpace ℝ β]
  [inst_4 : CompleteSpace α] [inst_5 : CompleteSpace β] (A : α →L[ℝ] β) (s : α) (ε : ℝ) (εpos : ε > 0) (h : 0 < ‖A‖)
  (x : α) (hx : ‖s - x‖ ≤ ε / ‖A‖ ^ 2) (hzero : 0 < ‖A‖ ^ 2) :
  let t := x - s;
  s + t = x →
    ⟪A (s + t), A (s + t)⟫_ℝ - ⟪A s, A s⟫_ℝ - ⟪2 • (ContinuousLinearMap.adjoint A) (A s), s + t - s⟫_ℝ =
        ⟪A (s + t - s), A (s + t - s)⟫_ℝ →
      ⟪A s, A s⟫_ℝ + 2 * ⟪A s, A t⟫_ℝ + ⟪A t, A t⟫_ℝ - ⟪A s, A s⟫_ℝ - ⟪2 • (ContinuousLinearMap.adjoint A) (A s), t⟫_ℝ =
        ⟪A t, A t⟫_ℝ := sorry

Tactic state before:
α : Type u_4
β : Type u_5
inst✝⁵ : NormedAddCommGroup α
inst✝⁴ : NormedAddCommGroup β
inst✝³ : InnerProductSpace ℝ α
inst✝² : InnerProductSpace ℝ β
inst✝¹ : CompleteSpace α
inst✝ : CompleteSpace β
A : α →L[ℝ] β
s : α
ε : ℝ
εpos : ε > 0
h : 0 < ‖A‖
x : α
hx : ‖s - x‖ ≤ ε / ‖A‖ ^ 2
hzero : 0 < ‖A‖ ^ 2
t : α := x - s
t1 : s + t = x
⊢ ⟪A (s + t), A (s + t)⟫_ℝ - ⟪A s, A s⟫_ℝ - ⟪2 • (ContinuousLinearMap.adjoint A) (A s), s + t - s⟫_ℝ =
    ⟪A (s + t - s), A (s + t - s)⟫_ℝ

Tactic:
simp only [map_add, add_sub_cancel_left]
    show ⟪A s + A t, A s + A t⟫ - ⟪A s, A s⟫ - ⟪(2 : ℝ) • (A†) (A s), t⟫ = ⟪A t, A t⟫
    rw [real_inner_add_add_self]

Tactic state after:
[α : Type u_4
 β : Type u_5
 inst✝⁵ : NormedAddCommGroup α
 inst✝⁴ : NormedAddCommGroup β
 inst✝³ : InnerProductSpace ℝ α
 inst✝² : InnerProductSpace ℝ β
 inst✝¹ : CompleteSpace α
 inst✝ : CompleteSpace β
 A : α →L[ℝ] β
 s : α
 ε : ℝ
 εpos : ε > 0
 h : 0 < ‖A‖
 x : α
 hx : ‖s - x‖ ≤ ε / ‖A‖ ^ 2
 hzero : 0 < ‖A‖ ^ 2
 t : α := x - s
 t1 : s + t = x
 ⊢ ⟪A s, A s⟫_ℝ + 2 * ⟪A s, A t⟫_ℝ + ⟪A t, A t⟫_ℝ - ⟪A s, A s⟫_ℝ - ⟪2 • (ContinuousLinearMap.adjoint A) (A s), t⟫_ℝ =
     ⟪A t, A t⟫_ℝ]
import Mathlib
import Optlib


open Set InnerProductSpace Topology Filter InnerProduct

open scoped Pointwise

theorem extracted_formal_statement_10.{u_5, u_4} {α : Type u_4} {β : Type u_5} [inst : NormedAddCommGroup α]
  [inst_1 : NormedAddCommGroup β] [inst_2 : InnerProductSpace ℝ α] [inst_3 : InnerProductSpace ℝ β]
  [inst_4 : CompleteSpace α] [inst_5 : CompleteSpace β] (A : α →L[ℝ] β) (s : α) (ε : ℝ) (εpos : ε > 0) (h : 0 < ‖A‖)
  (x : α) (hx : ‖s - x‖ ≤ ε / ‖A‖ ^ 2) (hzero : 0 < ‖A‖ ^ 2) :
  let t := x - s;
  s + t = x →
    ⟪A x, A x⟫_ℝ - ⟪A s, A s⟫_ℝ - ⟪2 • (ContinuousLinearMap.adjoint A) (A s), x - s⟫_ℝ = ⟪A (x - s), A (x - s)⟫_ℝ →
      |‖A (x - s)‖ ^ 2| ≤ ε * ‖s - x‖ → ‖A‖ ^ 2 * ‖s - x‖ ^ 2 ≤ ε * ‖s - x‖ := sorry

Tactic state before:
case h
α : Type u_4
β : Type u_5
inst✝⁵ : NormedAddCommGroup α
inst✝⁴ : NormedAddCommGroup β
inst✝³ : InnerProductSpace ℝ α
inst✝² : InnerProductSpace ℝ β
inst✝¹ : CompleteSpace α
inst✝ : CompleteSpace β
A : α →L[ℝ] β
s : α
ε : ℝ
εpos : ε > 0
h : 0 < ‖A‖
x : α
hx : ‖s - x‖ ≤ ε / ‖A‖ ^ 2
hzero : 0 < ‖A‖ ^ 2
t : α := x - s
t1 : s + t = x
this : ⟪A x, A x⟫_ℝ - ⟪A s, A s⟫_ℝ - ⟪2 • (ContinuousLinearMap.adjoint A) (A s), x - s⟫_ℝ = ⟪A (x - s), A (x - s)⟫_ℝ
⊢ |‖A (x - s)‖ ^ 2| ≤ ε * ‖s - x‖

Tactic:
simp only [abs_pow, abs_norm, ge_iff_le]
    calc
  _ = ‖A (s - x)‖ ^ 2 := by rw [norm_comm]
  _ ≤ (‖A‖ * ‖s - x‖) ^ 2 := by
    rw [sq, sq, ← mul_self_le_mul_self_iff]
    apply ContinuousLinearMap.le_opNorm
    apply norm_nonneg
    simp [h, norm_nonneg (s - x)]
  _ = ‖A‖ ^ 2 * ‖s - x‖ ^ 2 := by linarith
    rcases(le_iff_eq_or_lt.1 $ norm_nonneg (s - x)) with h1 | _

Tactic state after:
[case h.calc.step.inl
 α : Type u_4
 β : Type u_5
 inst✝⁵ : NormedAddCommGroup α
 inst✝⁴ : NormedAddCommGroup β
 inst✝³ : InnerProductSpace ℝ α
 inst✝² : InnerProductSpace ℝ β
 inst✝¹ : CompleteSpace α
 inst✝ : CompleteSpace β
 A : α →L[ℝ] β
 s : α
 ε : ℝ
 εpos : ε > 0
 h : 0 < ‖A‖
 x : α
 hx : ‖s - x‖ ≤ ε / ‖A‖ ^ 2
 hzero : 0 < ‖A‖ ^ 2
 t : α := x - s
 t1 : s + t = x
 this : ⟪A x, A x⟫_ℝ - ⟪A s, A s⟫_ℝ - ⟪2 • (ContinuousLinearMap.adjoint A) (A s), x - s⟫_ℝ = ⟪A (x - s), A (x - s)⟫_ℝ
 h1 : 0 = ‖s - x‖
 ⊢ ‖A‖ ^ 2 * ‖s - x‖ ^ 2 ≤ ε * ‖s - x‖,
 case h.calc.step.inr
 α : Type u_4
 β : Type u_5
 inst✝⁵ : NormedAddCommGroup α
 inst✝⁴ : NormedAddCommGroup β
 inst✝³ : InnerProductSpace ℝ α
 inst✝² : InnerProductSpace ℝ β
 inst✝¹ : CompleteSpace α
 inst✝ : CompleteSpace β
 A : α →L[ℝ] β
 s : α
 ε : ℝ
 εpos : ε > 0
 h : 0 < ‖A‖
 x : α
 hx : ‖s - x‖ ≤ ε / ‖A‖ ^ 2
 hzero : 0 < ‖A‖ ^ 2
 t : α := x - s
 t1 : s + t = x
 this : ⟪A x, A x⟫_ℝ - ⟪A s, A s⟫_ℝ - ⟪2 • (ContinuousLinearMap.adjoint A) (A s), x - s⟫_ℝ = ⟪A (x - s), A (x - s)⟫_ℝ
 h✝ : 0 < ‖s - x‖
 ⊢ ‖A‖ ^ 2 * ‖s - x‖ ^ 2 ≤ ε * ‖s - x‖]
import Mathlib
import Optlib


open Set InnerProductSpace Topology Filter InnerProduct

open scoped Pointwise

theorem extracted_formal_statement_11.{u_5, u_4} {α : Type u_4} {β : Type u_5} [inst : NormedAddCommGroup α]
  [inst_1 : NormedAddCommGroup β] [inst_2 : InnerProductSpace ℝ α] [inst_3 : InnerProductSpace ℝ β]
  [inst_4 : CompleteSpace α] [inst_5 : CompleteSpace β] (A : α →L[ℝ] β) (s : α) (ε : ℝ) (εpos : ε > 0) (h : 0 < ‖A‖)
  (x : α) (hx : ‖s - x‖ ≤ ε / ‖A‖ ^ 2) (hzero : 0 < ‖A‖ ^ 2) :
  let t := x - s;
  s + t = x →
    ⟪A x, A x⟫_ℝ - ⟪A s, A s⟫_ℝ - ⟪2 • (ContinuousLinearMap.adjoint A) (A s), x - s⟫_ℝ = ⟪A (x - s), A (x - s)⟫_ℝ →
      |‖A (x - s)‖ ^ 2| ≤ ε * ‖s - x‖ → ‖A‖ ^ 2 * ‖s - x‖ ^ 2 ≤ ε * ‖s - x‖ := sorry

Tactic state before:
case h
α : Type u_4
β : Type u_5
inst✝⁵ : NormedAddCommGroup α
inst✝⁴ : NormedAddCommGroup β
inst✝³ : InnerProductSpace ℝ α
inst✝² : InnerProductSpace ℝ β
inst✝¹ : CompleteSpace α
inst✝ : CompleteSpace β
A : α →L[ℝ] β
s : α
ε : ℝ
εpos : ε > 0
h : 0 < ‖A‖
x : α
hx : ‖s - x‖ ≤ ε / ‖A‖ ^ 2
hzero : 0 < ‖A‖ ^ 2
t : α := x - s
t1 : s + t = x
this : ⟪A x, A x⟫_ℝ - ⟪A s, A s⟫_ℝ - ⟪2 • (ContinuousLinearMap.adjoint A) (A s), x - s⟫_ℝ = ⟪A (x - s), A (x - s)⟫_ℝ
⊢ |‖A (x - s)‖ ^ 2| ≤ ε * ‖s - x‖

Tactic:
simp only [abs_pow, abs_norm, ge_iff_le]
    calc
  _ = ‖A (s - x)‖ ^ 2 := by rw [norm_comm]
  _ ≤ (‖A‖ * ‖s - x‖) ^ 2 := by
    rw [sq, sq, ← mul_self_le_mul_self_iff]
    apply ContinuousLinearMap.le_opNorm
    apply norm_nonneg
    simp [h, norm_nonneg (s - x)]
  _ = ‖A‖ ^ 2 * ‖s - x‖ ^ 2 := by linarith
    rcases(le_iff_eq_or_lt.1 $ norm_nonneg (s - x)) with h1 | _

Tactic state after:
[case h.calc.step.inl
 α : Type u_4
 β : Type u_5
 inst✝⁵ : NormedAddCommGroup α
 inst✝⁴ : NormedAddCommGroup β
 inst✝³ : InnerProductSpace ℝ α
 inst✝² : InnerProductSpace ℝ β
 inst✝¹ : CompleteSpace α
 inst✝ : CompleteSpace β
 A : α →L[ℝ] β
 s : α
 ε : ℝ
 εpos : ε > 0
 h : 0 < ‖A‖
 x : α
 hx : ‖s - x‖ ≤ ε / ‖A‖ ^ 2
 hzero : 0 < ‖A‖ ^ 2
 t : α := x - s
 t1 : s + t = x
 this : ⟪A x, A x⟫_ℝ - ⟪A s, A s⟫_ℝ - ⟪2 • (ContinuousLinearMap.adjoint A) (A s), x - s⟫_ℝ = ⟪A (x - s), A (x - s)⟫_ℝ
 h1 : 0 = ‖s - x‖
 ⊢ ‖A‖ ^ 2 * ‖s - x‖ ^ 2 ≤ ε * ‖s - x‖,
 case h.calc.step.inr
 α : Type u_4
 β : Type u_5
 inst✝⁵ : NormedAddCommGroup α
 inst✝⁴ : NormedAddCommGroup β
 inst✝³ : InnerProductSpace ℝ α
 inst✝² : InnerProductSpace ℝ β
 inst✝¹ : CompleteSpace α
 inst✝ : CompleteSpace β
 A : α →L[ℝ] β
 s : α
 ε : ℝ
 εpos : ε > 0
 h : 0 < ‖A‖
 x : α
 hx : ‖s - x‖ ≤ ε / ‖A‖ ^ 2
 hzero : 0 < ‖A‖ ^ 2
 t : α := x - s
 t1 : s + t = x
 this : ⟪A x, A x⟫_ℝ - ⟪A s, A s⟫_ℝ - ⟪2 • (ContinuousLinearMap.adjoint A) (A s), x - s⟫_ℝ = ⟪A (x - s), A (x - s)⟫_ℝ
 h✝ : 0 < ‖s - x‖
 ⊢ ‖A‖ ^ 2 * ‖s - x‖ ^ 2 ≤ ε * ‖s - x‖]