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

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

State before:
case a
α : Type
inst✝¹ : (n : Nat) → OfNat α n
inst✝ : UInt α
a : α
⊢ toNat (a <<< 0) = toNat a
Tactic:
simp only [UInt.toNat_shiftLeft, UInt.toNat_ofNat 0]
State after:
case a
α : Type
inst✝¹ : (n : Nat) → OfNat α n
inst✝ : UInt α
a : α
⊢ toNat a <<< (0 % 2 ^ length α % length α) % 2 ^ length α = toNat a

State before:
case a
α : Type
inst✝¹ : (n : Nat) → OfNat α n
inst✝ : UInt α
a : α
⊢ toNat a <<< (0 % 2 ^ length α % length α) % 2 ^ length α = toNat a
Tactic:
simp only [Nat.zero_mod, Nat.shiftLeft_zero, Nat.mod_eq_of_lt (UInt.toNat_lt a)]
State after:
no goals