Theorem: UInt.add_assoc (Algdata/Classes/UInt.lean)

State before:
α : Type
inst✝¹ : (n : Nat) → OfNat α n
inst✝ : UInt α
a b c : α
⊢ a + b + c = a + (b + c)
Tactic:
apply toNat_inj
State after:
case a
α : Type
inst✝¹ : (n : Nat) → OfNat α n
inst✝ : UInt α
a b c : α
⊢ toNat (a + b + c) = toNat (a + (b + c))

State before:
case a
α : Type
inst✝¹ : (n : Nat) → OfNat α n
inst✝ : UInt α
a b c : α
⊢ toNat (a + b + c) = toNat (a + (b + c))
Tactic:
simp [toNat_add]
State after:
case a
α : Type
inst✝¹ : (n : Nat) → OfNat α n
inst✝ : UInt α
a b c : α
⊢ (toNat a + toNat b + toNat c) % 2 ^ length α = (toNat a + (toNat b + toNat c)) % 2 ^ length α

State before:
case a
α : Type
inst✝¹ : (n : Nat) → OfNat α n
inst✝ : UInt α
a b c : α
⊢ (toNat a + toNat b + toNat c) % 2 ^ length α = (toNat a + (toNat b + toNat c)) % 2 ^ length α
Tactic:
rw [Nat.add_assoc]
State after:
no goals