Uniform word evaluation (GExpr) — Stage A #
A tiny abstract-syntax tree GExpr for words in the four marked generators
(with ℕ-powers and the profinite ω₂-power), together with its evaluation
GExpr.eval into a finite group under a Marking G = Gen → G.
The single load-bearing lemma is GExpr.eval_map: evaluation commutes with group
homomorphisms between finite groups. The only non-formal ingredient is the
powOmega2 case, which is exactly Q2Presentation.map_powOmega2 (proved in
Omega2). Its finite-product corollary GExpr.eval_pi says evaluation commutes
with the projections of a finite product ∀ i, G i; this is what the subdirect
construction in Stage B (admissible_subdirect) uses.
The design point (plan §2): all sophistication lives in eval_map /
map_powOmega2; the displayed Q₂ words (in Q2Words.lean) are boring data.
A marking assigns a group element to each of the four generators.
Equations
Instances For
Equations
- Q2Presentation.instReprGen.repr Q2Presentation.Gen.sigma prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Q2Presentation.Gen.sigma")).group prec✝
- Q2Presentation.instReprGen.repr Q2Presentation.Gen.tau prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Q2Presentation.Gen.tau")).group prec✝
- Q2Presentation.instReprGen.repr Q2Presentation.Gen.x0 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Q2Presentation.Gen.x0")).group prec✝
- Q2Presentation.instReprGen.repr Q2Presentation.Gen.x1 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Q2Presentation.Gen.x1")).group prec✝
Instances For
Equations
- Q2Presentation.instReprGen = { reprPrec := Q2Presentation.instReprGen.repr }
Equations
- One or more equations did not get rendered due to their size.
- Q2Presentation.instReprGExpr.repr Q2Presentation.GExpr.one prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Q2Presentation.GExpr.one")).group prec✝
Instances For
Equations
- Q2Presentation.instReprGExpr = { reprPrec := Q2Presentation.instReprGExpr.repr }
Evaluate a GExpr in a finite group G under a marking q : Gen → G.
The powOmega2 case is the finite ω₂-power Q2Presentation.powOmega2.
Equations
Instances For
Evaluation commutes with finite-group homomorphisms. Applying φ to the
value of a word equals evaluating the word against the φ-pushed marking. This is
the uniform mechanism behind quotient/product relation-preservation; the ω₂-power
case is map_powOmega2.
Evaluation commutes with the projections of a finite product. Evaluating
a word against a marking into ∀ i, G i and then projecting to the i-th factor
equals evaluating the projected marking in G i. This is the special case of
eval_map for the evaluation homomorphism Pi.evalMonoidHom, and is the form the
subdirect-product construction (admissible_subdirect) consumes.