-- File: FoML/FoML/Symmetrization.lean
Theorem statement:
theorem extracted_formal_statement_216.{w, v} {Z : Type w} {ι : Type v} {f : ι → Z → ℝ} [inst : Nonempty ι]
  {V : (Z → ℝ) → ℝ} (hV₀ : ∀ (f : Z → ℝ), V (-f) = -V f) (hV₁ : BddAbove (Set.range fun i => |V (f i)|))
  (hV₁' : BddAbove (Set.range fun i => V (if (↑i.1 == 0) = true then f i.2 else -f i.2)))
  (h_original_goal : ⨆ i, |V (f i)| = ⨆ i, V (if (↑i.1 == 0) = true then f i.2 else -f i.2)) :
  ⨆ i, |V (f i)| ≤ ⨆ i, V (if (↑i.1 == 0) = true then f i.2 else -f i.2) := sorry

Tactic state before:
Z : Type w
ι : Type v
f : ι → Z → ℝ
inst✝ : Nonempty ι
V : (Z → ℝ) → ℝ
hV₀ : ∀ (f : Z → ℝ), V (-f) = -V f
hV₁ : BddAbove (Set.range fun i => |V (f i)|)
hV₁' : BddAbove (Set.range fun i => V (if (↑i.1 == 0) = true then f i.2 else -f i.2))
⊢ ⨆ i, |V (f i)| = ⨆ i, V (if (↑i.1 == 0) = true then f i.2 else -f i.2)

Tactic: apply le_antisymm

Tactic state after:
[case a
 Z : Type w
 ι : Type v
 f : ι → Z → ℝ
 inst✝ : Nonempty ι
 V : (Z → ℝ) → ℝ
 hV₀ : ∀ (f : Z → ℝ), V (-f) = -V f
 hV₁ : BddAbove (Set.range fun i => |V (f i)|)
 hV₁' : BddAbove (Set.range fun i => V (if (↑i.1 == 0) = true then f i.2 else -f i.2))
 ⊢ ⨆ i, |V (f i)| ≤ ⨆ i, V (if (↑i.1 == 0) = true then f i.2 else -f i.2),
 case a
 Z : Type w
 ι : Type v
 f : ι → Z → ℝ
 inst✝ : Nonempty ι
 V : (Z → ℝ) → ℝ
 hV₀ : ∀ (f : Z → ℝ), V (-f) = -V f
 hV₁ : BddAbove (Set.range fun i => |V (f i)|)
 hV₁' : BddAbove (Set.range fun i => V (if (↑i.1 == 0) = true then f i.2 else -f i.2))
 ⊢ ⨆ i, V (if (↑i.1 == 0) = true then f i.2 else -f i.2) ≤ ⨆ i, |V (f i)|]

Premises used:
le_antisymm : ∀ {α : Type u_1} [inst : PartialOrder α] {a b : α}, a ≤ b → b ≤ a → a = b