Theorem: ℤθ.unit_pow_zero_mod_three
Proof state before:
case left.succ.intro.intro.intro.intro.intro
a b✝ c : ℤθ
b : ℕ
h1 : (↑(unit ^ (3 * ↑b))).f % 3 = 1
h2 : (↑(unit ^ (3 * ↑b))).g % 3 = 0
h3 : (↑(unit ^ (3 * ↑b))).h % 3 = 0
p : Nat.succ b = b + 1
t1 : (↑(unit ^ (3 * b))).f % 3 = 1
t2 : (↑(unit ^ (3 * b))).g % 3 = 0
t3 : (↑(unit ^ (3 * b))).h % 3 = 0
c1 : ℤ
hc1 : (↑(unit ^ (3 * b))).f = 3 * c1 + 1
c2 : ℤ
hc2 : (↑(unit ^ (3 * b))).g = 3 * c2
c3 : ℤ
w :
  ↑(unit ^ (3 * (b + 1))) =
    {
      f :=
        { f := 3 * c1 + 1, g := 3 * c2, h := 3 * c3 }.f * { f := -23, g := -63, h := -15 }.f +
              6 * { f := 3 * c1 + 1, g := 3 * c2, h := 3 * c3 }.h * { f := -23, g := -63, h := -15 }.h -
            2 * { f := 3 * c1 + 1, g := 3 * c2, h := 3 * c3 }.g * { f := -23, g := -63, h := -15 }.h -
          2 * { f := 3 * c1 + 1, g := 3 * c2, h := 3 * c3 }.h * { f := -23, g := -63, h := -15 }.g,
      g :=
        { f := 3 * c1 + 1, g := 3 * c2, h := 3 * c3 }.f * { f := -23, g := -63, h := -15 }.g +
                { f := 3 * c1 + 1, g := 3 * c2, h := 3 * c3 }.g * { f := -23, g := -63, h := -15 }.f +
              16 * { f := 3 * c1 + 1, g := 3 * c2, h := 3 * c3 }.h * { f := -23, g := -63, h := -15 }.h -
            6 * { f := 3 * c1 + 1, g := 3 * c2, h := 3 * c3 }.g * { f := -23, g := -63, h := -15 }.h -
          6 * { f := 3 * c1 + 1, g := 3 * c2, h := 3 * c3 }.h * { f := -23, g := -63, h := -15 }.g,
      h :=
        { f := 3 * c1 + 1, g := 3 * c2, h := 3 * c3 }.f * { f := -23, g := -63, h := -15 }.h +
                  { f := 3 * c1 + 1, g := 3 * c2, h := 3 * c3 }.h * { f := -23, g := -63, h := -15 }.f +
                { f := 3 * c1 + 1, g := 3 * c2, h := 3 * c3 }.g * { f := -23, g := -63, h := -15 }.g +
              3 * { f := 3 * c1 + 1, g := 3 * c2, h := 3 * c3 }.h * { f := -23, g := -63, h := -15 }.h -
            3 * { f := 3 * c1 + 1, g := 3 * c2, h := 3 * c3 }.g * { f := -23, g := -63, h := -15 }.h -
          3 * { f := 3 * c1 + 1, g := 3 * c2, h := 3 * c3 }.h * { f := -23, g := -63, h := -15 }.g }
hc3 : (↑(unit ^ (3 * b))).h = 3 * c3
s : ↑(unit ^ (3 * b)) = { f := 3 * c1 + 1, g := 3 * c2, h := 3 * c3 }
⊢ (↑(unit ^ (3 * (b + 1)))).f % 3 = 1 ∧ (↑(unit ^ (3 * (b + 1)))).g % 3 = 0 ∧ (↑(unit ^ (3 * (b + 1)))).h % 3 = 0
Tactic:
dsimp at w
Proof state after:
case left.succ.intro.intro.intro.intro.intro
a b✝ c : ℤθ
b : ℕ
h1 : (↑(unit ^ (3 * ↑b))).f % 3 = 1
h2 : (↑(unit ^ (3 * ↑b))).g % 3 = 0
h3 : (↑(unit ^ (3 * ↑b))).h % 3 = 0
p : Nat.succ b = b + 1
t1 : (↑(unit ^ (3 * b))).f % 3 = 1
t2 : (↑(unit ^ (3 * b))).g % 3 = 0
t3 : (↑(unit ^ (3 * b))).h % 3 = 0
c1 : ℤ
hc1 : (↑(unit ^ (3 * b))).f = 3 * c1 + 1
c2 : ℤ
hc2 : (↑(unit ^ (3 * b))).g = 3 * c2
c3 : ℤ
w :
  ↑(unit ^ (3 * (b + 1))) =
    { f := (3 * c1 + 1) * -23 + 6 * (3 * c3) * -15 - 2 * (3 * c2) * -15 - 2 * (3 * c3) * -63,
      g := (3 * c1 + 1) * -63 + 3 * c2 * -23 + 16 * (3 * c3) * -15 - 6 * (3 * c2) * -15 - 6 * (3 * c3) * -63,
      h :=
        (3 * c1 + 1) * -15 + 3 * c3 * -23 + 3 * c2 * -63 + 3 * (3 * c3) * -15 - 3 * (3 * c2) * -15 -
          3 * (3 * c3) * -63 }
hc3 : (↑(unit ^ (3 * b))).h = 3 * c3
s : ↑(unit ^ (3 * b)) = { f := 3 * c1 + 1, g := 3 * c2, h := 3 * c3 }
⊢ (↑(unit ^ (3 * (b + 1)))).f % 3 = 1 ∧ (↑(unit ^ (3 * (b + 1)))).g % 3 = 0 ∧ (↑(unit ^ (3 * (b + 1)))).h % 3 = 0