The domain-leaf polynomials #
numGen, chartGen and orbGen are generic in the arithmetic; maps that commute with the
operations commute with them.
theorem
Cayley.Pack.numGen_map
{R S : Type}
(addR subR mulR : R → R → R)
(cR : ℤ → R)
(xR : Fin 5 → R)
(addS subS mulS : S → S → S)
(cS : ℤ → S)
(xS : Fin 5 → S)
(f : R → S)
(hadd : ∀ (a b : R), f (addR a b) = addS (f a) (f b))
(hsub : ∀ (a b : R), f (subR a b) = subS (f a) (f b))
(hmul : ∀ (a b : R), f (mulR a b) = mulS (f a) (f b))
(hc : ∀ (z : ℤ), f (cR z) = cS z)
(hx : ∀ (i : Fin 5), f (xR i) = xS i)
(b : K.KBox)
:
theorem
Cayley.Pack.chartGen_map
{R S : Type}
(addR subR mulR : R → R → R)
(cR : ℤ → R)
(xR : Fin 5 → R)
(addS subS mulS : S → S → S)
(cS : ℤ → S)
(xS : Fin 5 → S)
(f : R → S)
(hadd : ∀ (a b : R), f (addR a b) = addS (f a) (f b))
(hsub : ∀ (a b : R), f (subR a b) = subS (f a) (f b))
(hmul : ∀ (a b : R), f (mulR a b) = mulS (f a) (f b))
(hc : ∀ (z : ℤ), f (cR z) = cS z)
(hx : ∀ (i : Fin 5), f (xR i) = xS i)
(b : K.KBox)
(k : ℕ)
:
theorem
Cayley.Pack.hGen_map
{R S : Type}
(addR subR mulR : R → R → R)
(cR : ℤ → R)
(addS subS mulS : S → S → S)
(cS : ℤ → S)
(f : R → S)
(hadd : ∀ (a b : R), f (addR a b) = addS (f a) (f b))
(hsub : ∀ (a b : R), f (subR a b) = subS (f a) (f b))
(hmul : ∀ (a b : R), f (mulR a b) = mulS (f a) (f b))
(hc : ∀ (z : ℤ), f (cR z) = cS z)
(u v U : R)
:
theorem
Cayley.Pack.orbGen_map
{R S : Type}
(addR subR mulR : R → R → R)
(cR : ℤ → R)
(xR : Fin 5 → R)
(addS subS mulS : S → S → S)
(cS : ℤ → S)
(xS : Fin 5 → S)
(f : R → S)
(hadd : ∀ (a b : R), f (addR a b) = addS (f a) (f b))
(hsub : ∀ (a b : R), f (subR a b) = subS (f a) (f b))
(hmul : ∀ (a b : R), f (mulR a b) = mulS (f a) (f b))
(hc : ∀ (z : ℤ), f (cR z) = cS z)
(hx : ∀ (i : Fin 5), f (xR i) = xS i)
(b : K.KBox)
(e g a : ℕ)
:
Degrees #
Equations
- Cayley.Pack.dMul a c i = a i + c i
Instances For
theorem
Cayley.Pack.orb_deg_closed
(chart : ℕ)
:
chart < 5 →
∀ face < 6,
∀ e < 2,
∀ (i : Fin 5),
(K.orbGen dAdd dAdd dMul dC dX { chart := chart, face := face, K := 0, c := [], h := [] } e 0 0).1 i ≤ dBound e i ∧ (K.orbGen dAdd dAdd dMul dC dX { chart := chart, face := face, K := 0, c := [], h := [] } e 0 0).2 i ≤ dBound e i ∧ (K.orbGen dAdd dAdd dMul dC dX { chart := chart, face := face, K := 0, c := [], h := [] } e 0 4).1 i ≤ dBound e i ∧ (K.orbGen dAdd dAdd dMul dC dX { chart := chart, face := face, K := 0, c := [], h := [] } e 0 4).2 i ≤ dBound e i
The real instance #
theorem
Cayley.Pack.chartR_eq
(b : K.KBox)
(hj : b.chart < 5)
(k : ℕ)
(hk : k < 5)
(t : Fin 5 → ℝ)
:
have r := rOf (kblow b.chart) b.face (kpt b t);
K.chartGen (fun (x1 x2 : ℝ) => x1 + x2) (fun (x1 x2 : ℝ) => x1 - x2) (fun (x1 x2 : ℝ) => x1 * x2) (fun (z : ℤ) => ↑z) t
b k = kapJ b.chart ^ 2 * kapJ k * (betaSc b * cayleyDenom (r 0) (r 1) (r 2)) * (((chartB k).transpose * Qm b.chart r).trace - ((chartB b.chart).transpose * Qm b.chart r).trace)
The chart-test polynomial at a real point.
The orbit polynomials #
The tabulated symmetry ĝ.
Equations
Instances For
theorem
Cayley.Pack.orbR0
(b : K.KBox)
(hj : b.chart < 5)
(g : ℕ)
(hg : g < 15)
(a : ℕ)
(ha : a = 0 ∨ a = 4)
(t : Fin 5 → ℝ)
:
have r := rOf (kblow b.chart) b.face (kpt b t);
have Q := Qm b.chart r;
have K := kapJ 4 * kapJ b.chart * 2 ^ 80 * (betaSc b * cayleyDenom (r 0) (r 1) (r 2));
have F := ((chartB a).transpose * Q * gHat g).trace - if a = 4 then 1 / 8 else 0;
(Cayley.K.orbGen (fun (x1 x2 : ℝ) => x1 + x2) (fun (x1 x2 : ℝ) => x1 - x2) (fun (x1 x2 : ℝ) => x1 * x2)
(fun (z : ℤ) => ↑z) t b 0 g a).1 = K * (F - Q.trace) ∧ (Cayley.K.orbGen (fun (x1 x2 : ℝ) => x1 + x2) (fun (x1 x2 : ℝ) => x1 - x2) (fun (x1 x2 : ℝ) => x1 * x2)
(fun (z : ℤ) => ↑z) t b 0 g a).2 = K * (F - ((tauR.transpose * Q).trace - 1 / 8))
The orbit polynomials for e = 0 at a real point.
theorem
Cayley.Pack.orbR1
(b : K.KBox)
(hj : b.chart < 5)
(g : ℕ)
(hg : g < 15)
(a : ℕ)
(ha : a = 0 ∨ a = 4)
(t : Fin 5 → ℝ)
:
have r := rOf (kblow b.chart) b.face (kpt b t);
have Q := Qm b.chart r;
have Do := cayleyDenom (kpt b t 1) (-kpt b t 0) 0;
have K := kapJ 4 * kapJ b.chart * 2 ^ 80 * (betaSc b * cayleyDenom (r 0) (r 1) (r 2)) * (2 ^ b.K) ^ 4 * Do ^ 2;
have F := ((chartB a).transpose * (Hmat (kpt b t 0) (kpt b t 1) * Q) * gHat g).trace - if a = 4 then 1 / 8 else 0;
(Cayley.K.orbGen (fun (x1 x2 : ℝ) => x1 + x2) (fun (x1 x2 : ℝ) => x1 - x2) (fun (x1 x2 : ℝ) => x1 * x2)
(fun (z : ℤ) => ↑z) t b 1 g a).1 = K * (F - Q.trace) ∧ (Cayley.K.orbGen (fun (x1 x2 : ℝ) => x1 + x2) (fun (x1 x2 : ℝ) => x1 - x2) (fun (x1 x2 : ℝ) => x1 * x2)
(fun (z : ℤ) => ↑z) t b 1 g a).2 = K * (F - ((tauR.transpose * Q).trace - 1 / 8))
The orbit polynomials for e = 1 at a real point.