Theorem: ℤα.my_right_distrib (Mordell4/Rt7Ring.lean)

State before:
a b c : ℤα
⊢ mul (add a b) c = add (mul a c) (mul b c)
Tactic:
cases a
State after:
case mk
b c : ℤα
z✝ w✝ : ℤ
⊢ mul (add { z := z✝, w := w✝ } b) c = add (mul { z := z✝, w := w✝ } c) (mul b c)

State before:
case mk
b c : ℤα
z✝ w✝ : ℤ
⊢ mul (add { z := z✝, w := w✝ } b) c = add (mul { z := z✝, w := w✝ } c) (mul b c)
Tactic:
cases b
State after:
case mk.mk
c : ℤα
z✝¹ w✝¹ z✝ w✝ : ℤ
⊢ mul (add { z := z✝¹, w := w✝¹ } { z := z✝, w := w✝ }) c =
    add (mul { z := z✝¹, w := w✝¹ } c) (mul { z := z✝, w := w✝ } c)

State before:
case mk.mk
c : ℤα
z✝¹ w✝¹ z✝ w✝ : ℤ
⊢ mul (add { z := z✝¹, w := w✝¹ } { z := z✝, w := w✝ }) c =
    add (mul { z := z✝¹, w := w✝¹ } c) (mul { z := z✝, w := w✝ } c)
Tactic:
cases c
State after:
case mk.mk.mk
z✝² w✝² z✝¹ w✝¹ z✝ w✝ : ℤ
⊢ mul (add { z := z✝², w := w✝² } { z := z✝¹, w := w✝¹ }) { z := z✝, w := w✝ } =
    add (mul { z := z✝², w := w✝² } { z := z✝, w := w✝ }) (mul { z := z✝¹, w := w✝¹ } { z := z✝, w := w✝ })

State before:
case mk.mk.mk
z✝² w✝² z✝¹ w✝¹ z✝ w✝ : ℤ
⊢ mul (add { z := z✝², w := w✝² } { z := z✝¹, w := w✝¹ }) { z := z✝, w := w✝ } =
    add (mul { z := z✝², w := w✝² } { z := z✝, w := w✝ }) (mul { z := z✝¹, w := w✝¹ } { z := z✝, w := w✝ })
Tactic:
simp only [mul, add]
State after:
case mk.mk.mk
z✝² w✝² z✝¹ w✝¹ z✝ w✝ : ℤ
⊢ { z := (z✝² + z✝¹) * z✝ - 2 * (w✝² + w✝¹) * w✝, w := (z✝² + z✝¹) * w✝ + (w✝² + w✝¹) * z✝ + (w✝² + w✝¹) * w✝ } =
    { z := z✝² * z✝ - 2 * w✝² * w✝ + (z✝¹ * z✝ - 2 * w✝¹ * w✝),
      w := z✝² * w✝ + w✝² * z✝ + w✝² * w✝ + (z✝¹ * w✝ + w✝¹ * z✝ + w✝¹ * w✝) }

State before:
case mk.mk.mk
z✝² w✝² z✝¹ w✝¹ z✝ w✝ : ℤ
⊢ { z := (z✝² + z✝¹) * z✝ - 2 * (w✝² + w✝¹) * w✝, w := (z✝² + z✝¹) * w✝ + (w✝² + w✝¹) * z✝ + (w✝² + w✝¹) * w✝ } =
    { z := z✝² * z✝ - 2 * w✝² * w✝ + (z✝¹ * z✝ - 2 * w✝¹ * w✝),
      w := z✝² * w✝ + w✝² * z✝ + w✝² * w✝ + (z✝¹ * w✝ + w✝¹ * z✝ + w✝¹ * w✝) }
Tactic:
ring
State after:
no goals