zzhisthebest/LeanBenchmark huggingface dataset:
import Mathlib
import Optlib


open Set InnerProductSpace Topology Filter Bornology Metric Real

theorem extracted_formal_statement_215.{u_4} {β : Type u_4} {f g : β → ℝ} (hg : ∀ (n : β), 0 ≤ g n)
  (hgf : ∀ (n : β), g n ≤ f n) (hf : Summable f) (f_ge_zero : ∀ (n : β), 0 ≤ f n)
  (h_original_goal : ∀ (n : β), ⟨g n, hg n⟩ ≤ ⟨f n, f_ge_zero n⟩) (n : β) : g n ≤ f n := sorry

Tactic state before:
β : Type u_4
f g : β → ℝ
hg : ∀ (n : β), 0 ≤ g n
hgf : ∀ (n : β), g n ≤ f n
hf : Summable f
f_ge_zero : ∀ (n : β), 0 ≤ f n
⊢ ∀ (n : β), ⟨g n, ⋯⟩ ≤ ⟨f n, ⋯⟩

Tactic:
simp only [Subtype.mk_le_mk]

Tactic state after:
[β : Type u_4
 f g : β → ℝ
 hg : ∀ (n : β), 0 ≤ g n
 hgf : ∀ (n : β), g n ≤ f n
 hf : Summable f
 f_ge_zero : ∀ (n : β), 0 ≤ f n
 ⊢ ∀ (n : β), g n ≤ f n]
import Mathlib
import Optlib


open Set InnerProductSpace Topology Filter Bornology Metric Real

theorem extracted_formal_statement_216.{u_4} {β : Type u_4} {f g : β → ℝ} (hg : ∀ (n : β), 0 ≤ g n)
  (hgf : ∀ (n : β), g n ≤ f n) (hf : Summable f) (f_ge_zero : ∀ (n : β), 0 ≤ f n) (n : β) : g n ≤ f n := sorry

Tactic state before:
β : Type u_4
f g : β → ℝ
hg : ∀ (n : β), 0 ≤ g n
hgf : ∀ (n : β), g n ≤ f n
hf : Summable f
f_ge_zero : ∀ (n : β), 0 ≤ f n
⊢ ∀ (n : β), g n ≤ f n

Tactic:
apply hgf

Tactic state after:
import Mathlib
import Optlib


open Set InnerProductSpace Topology Filter Bornology Metric Real

theorem extracted_formal_statement_217.{u_4} {β : Type u_4} {f g : β → ℝ} (hg : ∀ (n : β), 0 ≤ g n)
  (hgf : ∀ (n : β), g n ≤ f n) (hf : Summable f) (f_ge_zero : ∀ (n : β), 0 ≤ f n)
  (this : ∀ (n : β), ⟨g n, hg n⟩ ≤ ⟨f n, f_ge_zero n⟩) : Summable fun a => ↑⟨f a, f_ge_zero a⟩ := sorry

Tactic state before:
β : Type u_4
f g : β → ℝ
hg : ∀ (n : β), 0 ≤ g n
hgf : ∀ (n : β), g n ≤ f n
hf : Summable f
f_ge_zero : ∀ (n : β), 0 ≤ f n
this : ∀ (n : β), ⟨g n, ⋯⟩ ≤ ⟨f n, ⋯⟩
⊢ Summable fun a => ↑⟨f a, ⋯⟩

Tactic:
exact hf

Tactic state after:
import Mathlib
import Optlib


open Set InnerProductSpace Topology Filter Bornology Metric Real

theorem extracted_formal_statement_218.{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} [inst_9 : Setting E₁ E₂ F admm admm_kkt] (m : ℕ+)
  (h_original_goal :
    (1 ⊓ (1 + 1 / ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F)) * ADMM.ρ E₁ E₂ F *
        ‖(OptProblem.A₁ E₂) (e₁ (↑m + 1)) + (OptProblem.A₂ E₁) (e₂ (↑m + 1))‖ ^ 2 ≤
      (ADMM.τ E₁ E₂ F ⊓ (1 + ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F ^ 2)) * ADMM.ρ E₁ E₂ F *
          ‖(OptProblem.A₂ E₁) (ADMM.x₂ E₁ F ↑m - ADMM.x₂ E₁ F (↑m + 1))‖ ^ 2 +
        (1 ⊓ (1 + 1 / ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F)) * ADMM.ρ E₁ E₂ F *
          ‖(OptProblem.A₁ E₂) (e₁ (↑m + 1)) + (OptProblem.A₂ E₁) (e₂ (↑m + 1))‖ ^ 2) :
  0 ≤
    (ADMM.τ E₁ E₂ F ⊓ (1 + ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F ^ 2)) * ADMM.ρ E₁ E₂ F *
      ‖(OptProblem.A₂ E₁) (ADMM.x₂ E₁ F ↑m - ADMM.x₂ E₁ F (↑m + 1))‖ ^ 2 := 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
m : ℕ+
⊢ (1 ⊓ (1 + 1 / ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F)) * ADMM.ρ E₁ E₂ F *
      ‖(OptProblem.A₁ E₂) (e₁ (↑m + 1)) + (OptProblem.A₂ E₁) (e₂ (↑m + 1))‖ ^ 2 ≤
    (ADMM.τ E₁ E₂ F ⊓ (1 + ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F ^ 2)) * ADMM.ρ E₁ E₂ F *
        ‖(OptProblem.A₂ E₁) (ADMM.x₂ E₁ F ↑m - ADMM.x₂ E₁ F (↑m + 1))‖ ^ 2 +
      (1 ⊓ (1 + 1 / ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F)) * ADMM.ρ E₁ E₂ F *
        ‖(OptProblem.A₁ E₂) (e₁ (↑m + 1)) + (OptProblem.A₂ E₁) (e₂ (↑m + 1))‖ ^ 2

Tactic:
simp only [one_div, le_add_iff_nonneg_left]

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
 m : ℕ+
 ⊢ 0 ≤
     (ADMM.τ E₁ E₂ F ⊓ (1 + ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F ^ 2)) * ADMM.ρ E₁ E₂ F *
       ‖(OptProblem.A₂ E₁) (ADMM.x₂ E₁ F ↑m - ADMM.x₂ E₁ F (↑m + 1))‖ ^ 2]
import Mathlib
import Optlib


open Set InnerProductSpace Topology Filter Bornology Metric Real

theorem extracted_formal_statement_219.{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} (m : ℕ+) :
  0 ≤
    (ADMM.τ E₁ E₂ F ⊓ (1 + ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F ^ 2)) * ADMM.ρ E₁ E₂ F *
      ‖(OptProblem.A₂ E₁) (ADMM.x₂ E₁ F ↑m - ADMM.x₂ E₁ F (↑m + 1))‖ ^ 2 := 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
m : ℕ+
⊢ 0 ≤
    (ADMM.τ E₁ E₂ F ⊓ (1 + ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F ^ 2)) * ADMM.ρ E₁ E₂ F *
      ‖(OptProblem.A₂ E₁) (ADMM.x₂ E₁ F ↑m - ADMM.x₂ E₁ F (↑m + 1))‖ ^ 2

Tactic:
exact Φ₁_nonneg m

Tactic state after:
import Mathlib
import Optlib


open Set InnerProductSpace Topology Filter Bornology Metric Real

theorem extracted_formal_statement_220.{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} [inst_9 : Setting E₁ E₂ F admm admm_kkt] (m : ℕ+) :
  (ADMM.τ E₁ E₂ F ⊓ (1 + ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F ^ 2)) * ADMM.ρ E₁ E₂ F *
        ‖(OptProblem.A₂ E₁) (ADMM.x₂ E₁ F ↑m - ADMM.x₂ E₁ F (↑m + 1))‖ ^ 2 +
      (1 ⊓ (1 + 1 / ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F)) * ADMM.ρ E₁ E₂ F *
        ‖(OptProblem.A₁ E₂) (e₁ (↑m + 1)) + (OptProblem.A₂ E₁) (e₂ (↑m + 1))‖ ^ 2 ≤
    Φ ↑m - Φ (↑m + 1) := 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
m : ℕ+
⊢ (ADMM.τ E₁ E₂ F ⊓ (1 + ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F ^ 2)) * ADMM.ρ E₁ E₂ F *
        ‖(OptProblem.A₂ E₁) (ADMM.x₂ E₁ F ↑m - ADMM.x₂ E₁ F (↑m + 1))‖ ^ 2 +
      (1 ⊓ (1 + 1 / ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F)) * ADMM.ρ E₁ E₂ F *
        ‖(OptProblem.A₁ E₂) (e₁ (↑m + 1)) + (OptProblem.A₂ E₁) (e₂ (↑m + 1))‖ ^ 2 ≤
    Φ ↑m - Φ (↑m + 1)

Tactic:
apply Φ_isdescending

Tactic state after:
import Mathlib
import Optlib


open Set InnerProductSpace Topology Filter Bornology Metric Real

theorem extracted_formal_statement_221.{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} [inst_9 : Setting E₁ E₂ F admm admm_kkt] (n : ℕ)
  (h_original_goal :
    (fun n =>
          (1 ⊓ (1 + 1 / ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F)) * ADMM.ρ E₁ E₂ F *
            ‖(OptProblem.A₁ E₂) (e₁ (n + 2)) + (OptProblem.A₂ E₁) (e₂ (n + 2))‖ ^ 2)
        n ≤
      (fun n => Φ (n + 1) - Φ (n + 1 + 1)) n) :
  (1 ⊓ (1 + 1 / ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F)) * ADMM.ρ E₁ E₂ F *
      ‖(OptProblem.A₁ E₂) (e₁ (n + 2)) + (OptProblem.A₂ E₁) (e₂ (n + 2))‖ ^ 2 ≤
    Φ (n + 1) - Φ (n + 1 + 1) := 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 : ℕ
⊢ (fun n =>
        (1 ⊓ (1 + 1 / ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F)) * ADMM.ρ E₁ E₂ F *
          ‖(OptProblem.A₁ E₂) (e₁ (n + 2)) + (OptProblem.A₂ E₁) (e₂ (n + 2))‖ ^ 2)
      n ≤
    (fun n => Φ (n + 1) - Φ (n + 1 + 1)) n

Tactic:
simp only

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 : ℕ
 ⊢ (1 ⊓ (1 + 1 / ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F)) * ADMM.ρ E₁ E₂ F *
       ‖(OptProblem.A₁ E₂) (e₁ (n + 2)) + (OptProblem.A₂ E₁) (e₂ (n + 2))‖ ^ 2 ≤
     Φ (n + 1) - Φ (n + 1 + 1)]
import Mathlib
import Optlib


open Set InnerProductSpace Topology Filter Bornology Metric Real

theorem extracted_formal_statement_222.{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} [inst_9 : Setting E₁ E₂ F admm admm_kkt] (n : ℕ) :
  let m := (n + 1).toPNat';
  (1 ⊓ (1 + 1 / ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F)) * ADMM.ρ E₁ E₂ F *
      ‖(OptProblem.A₁ E₂) (e₁ (↑m + 1)) + (OptProblem.A₂ E₁) (e₂ (↑m + 1))‖ ^ 2 ≤
    Φ ↑m - Φ (↑m + 1) := 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 : ℕ
m : ℕ+ := (n + 1).toPNat'
⊢ (1 ⊓ (1 + 1 / ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F)) * ADMM.ρ E₁ E₂ F *
      ‖(OptProblem.A₁ E₂) (e₁ (↑m + 1)) + (OptProblem.A₂ E₁) (e₂ (↑m + 1))‖ ^ 2 ≤
    Φ ↑m - Φ (↑m + 1)

Tactic:
apply Φ_inequ₁

Tactic state after:
import Mathlib
import Optlib


open Set InnerProductSpace Topology Filter Bornology Metric Real

theorem extracted_formal_statement_223.{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} [inst_9 : Setting E₁ E₂ F admm admm_kkt] :
  let φn := fun n => ‖(OptProblem.A₁ E₂) (e₁ n) + (OptProblem.A₂ E₁) (e₂ n)‖ ^ 2;
  let φnsucc := fun n => φn (n + 2);
  ∀ (n : ℕ), (1 ⊓ (1 + 1 / ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F)) * ADMM.ρ E₁ E₂ F * φnsucc n ≥ 0 := 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 : ℕ → ℝ := fun n => ‖(OptProblem.A₁ E₂) (e₁ n) + (OptProblem.A₂ E₁) (e₂ n)‖ ^ 2
φnsucc : ℕ → ℝ := fun n => φn (n + 2)
n : ℕ
⊢ (1 ⊓ (1 + 1 / ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F)) * ADMM.ρ E₁ E₂ F * φnsucc n ≥ 0

Tactic:
apply Φ₂_nonneg (n + 1).toPNat'

Tactic state after:
import Mathlib
import Optlib


open Set InnerProductSpace Topology Filter Bornology Metric Real

theorem extracted_formal_statement_224.{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} [inst_9 : Setting E₁ E₂ F admm admm_kkt] :
  let φn := fun n => ‖(OptProblem.A₁ E₂) (e₁ n) + (OptProblem.A₂ E₁) (e₂ n)‖ ^ 2;
  let φnsucc := fun n => φn (n + 2);
  (∀ (n : ℕ), (1 ⊓ (1 + 1 / ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F)) * ADMM.ρ E₁ E₂ F * φnsucc n ≥ 0) →
    (1 ⊓ (1 + 1 / ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F)) * ADMM.ρ E₁ E₂ F ≠ 0 →
      (Summable fun i => (1 ⊓ (1 + 1 / ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F)) * ADMM.ρ E₁ E₂ F * φnsucc i) →
        Summable fun n => Φ (n + 1) - Φ (n + 1 + 1) := 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 : ℕ → ℝ := fun n => ‖(OptProblem.A₁ E₂) (e₁ n) + (OptProblem.A₂ E₁) (e₂ n)‖ ^ 2
φnsucc : ℕ → ℝ := fun n => φn (n + 2)
φn_ge_zero' : ∀ (n : ℕ), (1 ⊓ (1 + 1 / ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F)) * ADMM.ρ E₁ E₂ F * φnsucc n ≥ 0
h : (1 ⊓ (1 + 1 / ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F)) * ADMM.ρ E₁ E₂ F ≠ 0
⊢ Summable fun i => (1 ⊓ (1 + 1 / ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F)) * ADMM.ρ E₁ E₂ F * φnsucc i

Tactic:
apply summable_of_nonneg_of_le φn_ge_zero' Summable₁'

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 : ℕ → ℝ := fun n => ‖(OptProblem.A₁ E₂) (e₁ n) + (OptProblem.A₂ E₁) (e₂ n)‖ ^ 2
 φnsucc : ℕ → ℝ := fun n => φn (n + 2)
 φn_ge_zero' : ∀ (n : ℕ), (1 ⊓ (1 + 1 / ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F)) * ADMM.ρ E₁ E₂ F * φnsucc n ≥ 0
 h : (1 ⊓ (1 + 1 / ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F)) * ADMM.ρ E₁ E₂ F ≠ 0
 ⊢ Summable fun n => Φ (n + 1) - Φ (n + 1 + 1)]
import Mathlib
import Optlib


open Set InnerProductSpace Topology Filter Bornology Metric Real

theorem extracted_formal_statement_225.{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} [inst_9 : Setting E₁ E₂ F admm admm_kkt] :
  let φn := fun n => ‖(OptProblem.A₁ E₂) (e₁ n) + (OptProblem.A₂ E₁) (e₂ n)‖ ^ 2;
  let φnsucc := fun n => φn (n + 2);
  (∀ (n : ℕ), (1 ⊓ (1 + 1 / ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F)) * ADMM.ρ E₁ E₂ F * φnsucc n ≥ 0) →
    (1 ⊓ (1 + 1 / ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F)) * ADMM.ρ E₁ E₂ F ≠ 0 →
      Summable fun n => Φ (n + 1) - Φ (n + 1 + 1) := 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 : ℕ → ℝ := fun n => ‖(OptProblem.A₁ E₂) (e₁ n) + (OptProblem.A₂ E₁) (e₂ n)‖ ^ 2
φnsucc : ℕ → ℝ := fun n => φn (n + 2)
φn_ge_zero' : ∀ (n : ℕ), (1 ⊓ (1 + 1 / ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F)) * ADMM.ρ E₁ E₂ F * φnsucc n ≥ 0
h : (1 ⊓ (1 + 1 / ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F)) * ADMM.ρ E₁ E₂ F ≠ 0
⊢ Summable fun n => Φ (n + 1) - Φ (n + 1 + 1)

Tactic:
apply Φ_isSummable

Tactic state after:
import Mathlib
import Optlib


open Set InnerProductSpace Topology Filter Bornology Metric Real

theorem extracted_formal_statement_226.{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} [inst_9 : Setting E₁ E₂ F admm admm_kkt] (m : ℕ+)
  (h_original_goal :
    (ADMM.τ E₁ E₂ F ⊓ (1 + ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F ^ 2)) * ADMM.ρ E₁ E₂ F *
        ‖(OptProblem.A₂ E₁) (ADMM.x₂ E₁ F ↑m - ADMM.x₂ E₁ F (↑m + 1))‖ ^ 2 ≤
      (ADMM.τ E₁ E₂ F ⊓ (1 + ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F ^ 2)) * ADMM.ρ E₁ E₂ F *
          ‖(OptProblem.A₂ E₁) (ADMM.x₂ E₁ F ↑m - ADMM.x₂ E₁ F (↑m + 1))‖ ^ 2 +
        (1 ⊓ (1 + 1 / ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F)) * ADMM.ρ E₁ E₂ F *
          ‖(OptProblem.A₁ E₂) (e₁ (↑m + 1)) + (OptProblem.A₂ E₁) (e₂ (↑m + 1))‖ ^ 2) :
  0 ≤
    (1 ⊓ (1 + 1 / ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F)) * ADMM.ρ E₁ E₂ F *
      ‖(OptProblem.A₁ E₂) (e₁ (↑m + 1)) + (OptProblem.A₂ E₁) (e₂ (↑m + 1))‖ ^ 2 := 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
m : ℕ+
⊢ (ADMM.τ E₁ E₂ F ⊓ (1 + ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F ^ 2)) * ADMM.ρ E₁ E₂ F *
      ‖(OptProblem.A₂ E₁) (ADMM.x₂ E₁ F ↑m - ADMM.x₂ E₁ F (↑m + 1))‖ ^ 2 ≤
    (ADMM.τ E₁ E₂ F ⊓ (1 + ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F ^ 2)) * ADMM.ρ E₁ E₂ F *
        ‖(OptProblem.A₂ E₁) (ADMM.x₂ E₁ F ↑m - ADMM.x₂ E₁ F (↑m + 1))‖ ^ 2 +
      (1 ⊓ (1 + 1 / ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F)) * ADMM.ρ E₁ E₂ F *
        ‖(OptProblem.A₁ E₂) (e₁ (↑m + 1)) + (OptProblem.A₂ E₁) (e₂ (↑m + 1))‖ ^ 2

Tactic:
simp only [map_sub, le_add_iff_nonneg_right]

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
 m : ℕ+
 ⊢ 0 ≤
     (1 ⊓ (1 + 1 / ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F)) * ADMM.ρ E₁ E₂ F *
       ‖(OptProblem.A₁ E₂) (e₁ (↑m + 1)) + (OptProblem.A₂ E₁) (e₂ (↑m + 1))‖ ^ 2]
import Mathlib
import Optlib


open Set InnerProductSpace Topology Filter Bornology Metric Real

theorem extracted_formal_statement_227.{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} [inst_9 : Setting E₁ E₂ F admm admm_kkt] (m : ℕ+) :
  0 ≤
    (1 ⊓ (1 + 1 / ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F)) * ADMM.ρ E₁ E₂ F *
      ‖(OptProblem.A₁ E₂) (e₁ (↑m + 1)) + (OptProblem.A₂ E₁) (e₂ (↑m + 1))‖ ^ 2 := 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
m : ℕ+
⊢ 0 ≤
    (1 ⊓ (1 + 1 / ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F)) * ADMM.ρ E₁ E₂ F *
      ‖(OptProblem.A₁ E₂) (e₁ (↑m + 1)) + (OptProblem.A₂ E₁) (e₂ (↑m + 1))‖ ^ 2

Tactic:
exact Φ₂_nonneg m

Tactic state after:
import Mathlib
import Optlib


open Set InnerProductSpace Topology Filter Bornology Metric Real

theorem extracted_formal_statement_228.{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} [inst_9 : Setting E₁ E₂ F admm admm_kkt] (m : ℕ+) :
  (ADMM.τ E₁ E₂ F ⊓ (1 + ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F ^ 2)) * ADMM.ρ E₁ E₂ F *
        ‖(OptProblem.A₂ E₁) (ADMM.x₂ E₁ F ↑m - ADMM.x₂ E₁ F (↑m + 1))‖ ^ 2 +
      (1 ⊓ (1 + 1 / ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F)) * ADMM.ρ E₁ E₂ F *
        ‖(OptProblem.A₁ E₂) (e₁ (↑m + 1)) + (OptProblem.A₂ E₁) (e₂ (↑m + 1))‖ ^ 2 ≤
    Φ ↑m - Φ (↑m + 1) := 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
m : ℕ+
⊢ (ADMM.τ E₁ E₂ F ⊓ (1 + ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F ^ 2)) * ADMM.ρ E₁ E₂ F *
        ‖(OptProblem.A₂ E₁) (ADMM.x₂ E₁ F ↑m - ADMM.x₂ E₁ F (↑m + 1))‖ ^ 2 +
      (1 ⊓ (1 + 1 / ADMM.τ E₁ E₂ F - ADMM.τ E₁ E₂ F)) * ADMM.ρ E₁ E₂ F *
        ‖(OptProblem.A₁ E₂) (e₁ (↑m + 1)) + (OptProblem.A₂ E₁) (e₂ (↑m + 1))‖ ^ 2 ≤
    Φ ↑m - Φ (↑m + 1)

Tactic:
apply Φ_isdescending

Tactic state after: