have : n % 2 = 0 := Or.resolve_right (Nat.mod_two_eq_zero_or_one n) heven
α✝ : Type u
inst✝³ : OfNat α✝ 1
inst✝² : HMul α✝ α✝ α✝
α : Type u_1
inst✝¹ : OfNat α 1
inst✝ : HMul α α α
mul_one : ∀ (a : α), a * 1 = a
one_mul : ∀ (a : α), 1 * a = a
assoc : ∀ (a b c : α), a * b * c = a * (b * c)
n : Nat
h_ind : ∀ (a : α), recBase2 1 a (fun n x => if n % 2 = 1 then a * x * x else x * x) (n / 2 + 1) = gpow a (n / 2 + 1)
a : α
heven : ¬n % 2 = 1
⊢ gpow a (n / 2 + 1 + (n / 2 + 1)) = gpow a (n + 2)
α✝ : Type u
inst✝³ : OfNat α✝ 1
inst✝² : HMul α✝ α✝ α✝
α : Type u_1
inst✝¹ : OfNat α 1
inst✝ : HMul α α α
mul_one : ∀ (a : α), a * 1 = a
one_mul : ∀ (a : α), 1 * a = a
assoc : ∀ (a b c : α), a * b * c = a * (b * c)
n : Nat
h_ind : ∀ (a : α), recBase2 1 a (fun n x => if n % 2 = 1 then a * x * x else x * x) (n / 2 + 1) = gpow a (n / 2 + 1)
a : α
heven : ¬n % 2 = 1
this : n % 2 = 0
⊢ gpow a (n / 2 + 1 + (n / 2 + 1)) = gpow a (n + 2)