Theorem: ONote.scale_opowAux
File: Mathlib/SetTheory/Ordinal/Notation.lean

tactic: cases m <;> simp [opowAux]
state_before: e a0 a : ONote
inst✝² : e.NF
inst✝¹ : a0.NF
inst✝ : a.NF
m : ℕ
⊢ (e.opowAux a0 a 0 m).repr = ω ^ e.repr * (opowAux 0 a0 a 0 m).repr
state_after: no goals

tactic: by_cases h : m = 0
state_before: e a0 a : ONote
inst✝² : e.NF
inst✝¹ : a0.NF
inst✝ : a.NF
k m : ℕ
⊢ (e.opowAux a0 a (k + 1) m).repr = ω ^ e.repr * (opowAux 0 a0 a (k + 1) m).repr
state_after: case pos
e a0 a : ONote
inst✝² : e.NF
inst✝¹ : a0.NF
inst✝ : a.NF
k m : ℕ
h : m = 0
⊢ (e.opowAux a0 a (k + 1) m).repr = ω ^ e.repr * (opowAux 0 a0 a (k + 1) m).repr

case neg
e a0 a : ONote
inst✝² : e.NF
inst✝¹ : a0.NF
inst✝ : a.NF
k m : ℕ
h : ¬m = 0
⊢ (e.opowAux a0 a (k + 1) m).repr = ω ^ e.repr * (opowAux 0 a0 a (k + 1) m).repr

tactic: simp [h, opowAux, mul_add, opow_add, mul_assoc, scale_opowAux _ _ _ k]
state_before: case pos
e a0 a : ONote
inst✝² : e.NF
inst✝¹ : a0.NF
inst✝ : a.NF
k m : ℕ
h : m = 0
⊢ (e.opowAux a0 a (k + 1) m).repr = ω ^ e.repr * (opowAux 0 a0 a (k + 1) m).repr
state_after: no goals

tactic: rw [opowAux]
state_before: case neg
e a0 a : ONote
inst✝² : e.NF
inst✝¹ : a0.NF
inst✝ : a.NF
k m : ℕ
h : ¬m = 0
⊢ (e.opowAux a0 a (k + 1) m).repr = ω ^ e.repr * (opowAux 0 a0 a (k + 1) m).repr
state_after: case neg
e a0 a : ONote
inst✝² : e.NF
inst✝¹ : a0.NF
inst✝ : a.NF
k m : ℕ
h : ¬m = 0
⊢ ((e + a0.mulNat k).scale a + e.opowAux a0 a k m).repr = ω ^ e.repr * (opowAux 0 a0 a (k + 1) m).repr

case neg.x_2
e a0 a : ONote
inst✝² : e.NF
inst✝¹ : a0.NF
inst✝ : a.NF
k m : ℕ
h : ¬m = 0
⊢ m = 0 → False

tactic: swap
state_before: case neg
e a0 a : ONote
inst✝² : e.NF
inst✝¹ : a0.NF
inst✝ : a.NF
k m : ℕ
h : ¬m = 0
⊢ ((e + a0.mulNat k).scale a + e.opowAux a0 a k m).repr = ω ^ e.repr * (opowAux 0 a0 a (k + 1) m).repr

case neg.x_2
e a0 a : ONote
inst✝² : e.NF
inst✝¹ : a0.NF
inst✝ : a.NF
k m : ℕ
h : ¬m = 0
⊢ m = 0 → False
state_after: case neg.x_2
e a0 a : ONote
inst✝² : e.NF
inst✝¹ : a0.NF
inst✝ : a.NF
k m : ℕ
h : ¬m = 0
⊢ m = 0 → False

case neg
e a0 a : ONote
inst✝² : e.NF
inst✝¹ : a0.NF
inst✝ : a.NF
k m : ℕ
h : ¬m = 0
⊢ ((e + a0.mulNat k).scale a + e.opowAux a0 a k m).repr = ω ^ e.repr * (opowAux 0 a0 a (k + 1) m).repr

tactic: rw [opowAux]
state_before: case neg
e a0 a : ONote
inst✝² : e.NF
inst✝¹ : a0.NF
inst✝ : a.NF
k m : ℕ
h : ¬m = 0
⊢ ((e + a0.mulNat k).scale a + e.opowAux a0 a k m).repr = ω ^ e.repr * (opowAux 0 a0 a (k + 1) m).repr
state_after: case neg
e a0 a : ONote
inst✝² : e.NF
inst✝¹ : a0.NF
inst✝ : a.NF
k m : ℕ
h : ¬m = 0
⊢ ((e + a0.mulNat k).scale a + e.opowAux a0 a k m).repr =
    ω ^ e.repr * ((0 + a0.mulNat k).scale a + opowAux 0 a0 a k m).repr

case neg.x_2
e a0 a : ONote
inst✝² : e.NF
inst✝¹ : a0.NF
inst✝ : a.NF
k m : ℕ
h : ¬m = 0
⊢ m = 0 → False

tactic: swap
state_before: case neg
e a0 a : ONote
inst✝² : e.NF
inst✝¹ : a0.NF
inst✝ : a.NF
k m : ℕ
h : ¬m = 0
⊢ ((e + a0.mulNat k).scale a + e.opowAux a0 a k m).repr =
    ω ^ e.repr * ((0 + a0.mulNat k).scale a + opowAux 0 a0 a k m).repr

case neg.x_2
e a0 a : ONote
inst✝² : e.NF
inst✝¹ : a0.NF
inst✝ : a.NF
k m : ℕ
h : ¬m = 0
⊢ m = 0 → False
state_after: case neg.x_2
e a0 a : ONote
inst✝² : e.NF
inst✝¹ : a0.NF
inst✝ : a.NF
k m : ℕ
h : ¬m = 0
⊢ m = 0 → False

case neg
e a0 a : ONote
inst✝² : e.NF
inst✝¹ : a0.NF
inst✝ : a.NF
k m : ℕ
h : ¬m = 0
⊢ ((e + a0.mulNat k).scale a + e.opowAux a0 a k m).repr =
    ω ^ e.repr * ((0 + a0.mulNat k).scale a + opowAux 0 a0 a k m).repr

tactic: rw [repr_add, repr_scale, scale_opowAux _ _ _ k]
state_before: case neg
e a0 a : ONote
inst✝² : e.NF
inst✝¹ : a0.NF
inst✝ : a.NF
k m : ℕ
h : ¬m = 0
⊢ ((e + a0.mulNat k).scale a + e.opowAux a0 a k m).repr =
    ω ^ e.repr * ((0 + a0.mulNat k).scale a + opowAux 0 a0 a k m).repr
state_after: case neg
e a0 a : ONote
inst✝² : e.NF
inst✝¹ : a0.NF
inst✝ : a.NF
k m : ℕ
h : ¬m = 0
⊢ ω ^ (e + a0.mulNat k).repr * a.repr + ω ^ e.repr * (opowAux 0 a0 a k m).repr =
    ω ^ e.repr * ((0 + a0.mulNat k).scale a + opowAux 0 a0 a k m).repr

tactic: simp only [repr_add, repr_scale, opow_add, mul_assoc, zero_add, mul_add]
state_before: case neg
e a0 a : ONote
inst✝² : e.NF
inst✝¹ : a0.NF
inst✝ : a.NF
k m : ℕ
h : ¬m = 0
⊢ ω ^ (e + a0.mulNat k).repr * a.repr + ω ^ e.repr * (opowAux 0 a0 a k m).repr =
    ω ^ e.repr * ((0 + a0.mulNat k).scale a + opowAux 0 a0 a k m).repr
state_after: no goals

tactic: assumption
state_before: case neg.x_2
e a0 a : ONote
inst✝² : e.NF
inst✝¹ : a0.NF
inst✝ : a.NF
k m : ℕ
h : ¬m = 0
⊢ m = 0 → False
state_after: no goals