Documentation

Q2Presentation.Induction.CandidateIota

Char-2 scalar helpers (private, decide-grounded) #

The coordinate surjectivity of the explicit limit model #

Mirror of piMon_surjective (Candidate/FiniteFactor.lean) at the explicit model ProfiniteGrp.limit admissibleDiagram: the B-coordinate evaluation is onto, because the universal generator family projects onto the marking B.q, which generates by admissibility (map_evalAt_closure_eq_top).

The two-variable finite-coordinate factorization #

Pair mirror of the GREEN limit_finite_factor (Candidate/FiniteFactor.lean): a continuous two-variable map from the explicit inverse-limit model to a discrete space depends on a SINGLE coordinate in each variable. Fibres are open; isOpen_prod_iff supplies a rectangle around each point; each side of the rectangle contains a basic finite-coordinate box (isOpen_pi_iff); compactness of the product extracts a finite subcover of two-sided boxes; cofiltered domination (exists_dominating) collapses the union of all mentioned coordinates to one index B.

theorem Q2Presentation.Induction.limit_finite_factor_two {H : Type u_1} [TopologicalSpace H] [DiscreteTopology H] (f : ↑(ProfiniteGrp.limit admissibleDiagram).toProfinite.toTop × ↑(ProfiniteGrp.limit admissibleDiagram).toProfinite.toTop → H) (hf : Continuous f) :
∃ (B : AdmissibleIndex), ∀ (m₁ m₂ m₁' m₂' : ↑(ProfiniteGrp.limit admissibleDiagram).toProfinite.toTop), ↑m₁ B = ↑m₁' B → ↑m₂ B = ↑m₂' B → f (m₁, m₂) = f (m₁', m₂')

Level descent of a locally constant 2-cochain on Γ_A #

Level descent (design §4-N4 step 1): a jointly locally constant 2-cochain on Γ_A factors through a single admissible coordinate projection. Two-variable mirror of the GREEN GammaA_map_to_finite_factors route: transport across gammaIso, apply limit_finite_factor_two, and define the level cochain through chosen coordinate preimages (limit_val_surjective).

theorem Q2Presentation.Induction.descended_normalized (F : ↑GammaA.toProfinite.toTop → ↑GammaA.toProfinite.toTop → ZMod 2) (hF : IsNormalized2Cocycle GammaA F) (A : AdmissibleIndex) (zeta : ↑(admissibleDiagram.obj A).toProfinite.toTop → ↑(admissibleDiagram.obj A).toProfinite.toTop → ZMod 2) (hFz : ∀ (x y : ↑GammaA.toProfinite.toTop), F x y = zeta ((piMon A) x) ((piMon A) y)) :
(∀ (v : ↑(admissibleDiagram.obj A).toProfinite.toTop), zeta 1 v = 0) ∧ (∀ (u : ↑(admissibleDiagram.obj A).toProfinite.toTop), zeta u 1 = 0) ∧ ∀ (a b c : ↑(admissibleDiagram.obj A).toProfinite.toTop), zeta a b + zeta (a * b) c = zeta b c + zeta a (b * c)

The descended level cochain of a normalized continuous 2-cocycle is a normalized 2-cocycle on the level carrier: the three laws descend through the factorization along the SURJECTIVE piMon A (piMon_surjective).

theorem Q2Presentation.Induction.gammaA_cochain_factors_pair (F₁ F₂ : ↑GammaA.toProfinite.toTop → ↑GammaA.toProfinite.toTop → ZMod 2) (h₁ : IsNormalized2Cocycle GammaA F₁) (h₂ : IsNormalized2Cocycle GammaA F₂) :
∃ (A : AdmissibleIndex) (zeta₁ : ↑(admissibleDiagram.obj A).toProfinite.toTop → ↑(admissibleDiagram.obj A).toProfinite.toTop → ZMod 2) (zeta₂ : ↑(admissibleDiagram.obj A).toProfinite.toTop → ↑(admissibleDiagram.obj A).toProfinite.toTop → ZMod 2), (∀ (x y : ↑GammaA.toProfinite.toTop), F₁ x y = zeta₁ ((piMon A) x) ((piMon A) y)) ∧ ∀ (x y : ↑GammaA.toProfinite.toTop), F₂ x y = zeta₂ ((piMon A) x) ((piMon A) y)

Common-level descent for a pair (design §4-N4 step 1, cofiltered half): two normalized continuous 2-cocycles on Γ_A factor through ONE admissible coordinate — factor each separately, dominate the two levels by IsCofiltered.min, and transport along the transition maps (the compatible-family identity m.2 f).

The level carrier: an admissible coordinate as a framed base #

levelBase A packages the admissible coordinate Fin A.n (spelled at the diagram carrier ↥(admissibleDiagram.obj A), the house instance path) as a BoundaryFramedTarget with marked wild kernel the 2-CORE — chosen so that the pulled-back L_Y of any ζ-cocycle cover contains the canonical marking of the two wild generators (A.admissible's 2-core clauses), which is what anyMarking_admissible needs. This is PRIVATE SCAFFOLDING for the token proof; no downstream unit consumes it.

Equations
  • One or more equations did not get rendered due to their size.
Instances For

    The tame relator dies at the level marking A.q (spelled at the level carrier — the coordinatewise relation GammaA_tameRel rewritten through gammaGen_eval_projection, so no cross-carrier exact is needed).

    The wild relator dies at the level marking A.q.

    noncomputable def Q2Presentation.Induction.levelMarking (A : AdmissibleIndex) (zeta : (levelBase A).Y → (levelBase A).Y → ZMod 2) (hz1 : ∀ (y : (levelBase A).Y), zeta 1 y = 0) (hz2 : ∀ (y : (levelBase A).Y), zeta y 1 = 0) (hzc : ∀ (a b c : (levelBase A).Y), zeta a b + zeta (a * b) c = zeta b c + zeta a (b * c)) :

    The canonical (zero-scalar) marking of the ζ-cover extension over the level base: a ↦ (A.q a, 0).

    Equations
    Instances For
      @[simp]
      theorem Q2Presentation.Induction.levelMarking_base (A : AdmissibleIndex) (zeta : (levelBase A).Y → (levelBase A).Y → ZMod 2) (hz1 : ∀ (y : (levelBase A).Y), zeta 1 y = 0) (hz2 : ∀ (y : (levelBase A).Y), zeta y 1 = 0) (hzc : ∀ (a b c : (levelBase A).Y), zeta a b + zeta (a * b) c = zeta b c + zeta a (b * c)) (a : Gen) :
      (levelMarking A zeta hz1 hz2 hzc a).base = A.q a
      noncomputable def Q2Presentation.Induction.levelTrace (A : AdmissibleIndex) (zeta : (levelBase A).Y → (levelBase A).Y → ZMod 2) (hz1 : ∀ (y : (levelBase A).Y), zeta 1 y = 0) (hz2 : ∀ (y : (levelBase A).Y), zeta y 1 = 0) (hzc : ∀ (a b c : (levelBase A).Y), zeta a b + zeta (a * b) c = zeta b c + zeta a (b * c)) :

      The candidate level trace ι_A(ζ) (the prop:chainmap trace, l.1687): the sum of the scalar reads of the two marked relators, evaluated in the ζ-extension at the canonical marking. levelTrace_eq_of_base shows it is marking-independent; cochainSolvable_iff_levelTrace_eq_zero shows it is THE solvability functional.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        theorem Q2Presentation.Induction.levelTrace_def (A : AdmissibleIndex) (zeta : (levelBase A).Y → (levelBase A).Y → ZMod 2) (hz1 : ∀ (y : (levelBase A).Y), zeta 1 y = 0) (hz2 : ∀ (y : (levelBase A).Y), zeta y 1 = 0) (hzc : ∀ (a b c : (levelBase A).Y), zeta a b + zeta (a * b) c = zeta b c + zeta a (b * c)) :
        levelTrace A zeta hz1 hz2 hzc = (Q2Word.tameRelator.eval (levelMarking A zeta hz1 hz2 hzc)).scal + (Q2Word.wildRelator.eval (levelMarking A zeta hz1 hz2 hzc)).scal

        Definitional form of levelTrace (the P7 _def rfl-lemma fix-class).

        theorem Q2Presentation.Induction.eval_marking_base (A : AdmissibleIndex) (zeta : (levelBase A).Y → (levelBase A).Y → ZMod 2) (hz1 : ∀ (y : (levelBase A).Y), zeta 1 y = 0) (hz2 : ∀ (y : (levelBase A).Y), zeta y 1 = 0) (hzc : ∀ (a b c : (levelBase A).Y), zeta a b + zeta (a * b) c = zeta b c + zeta a (b * c)) (m : Marking (Lifting.cocycleCoverTarget (levelBase A) zeta hz1 hz2 hzc).Y) (hm : ∀ (a : Gen), (m a).base = A.q a) (w : GExpr) (hw : (w.eval fun (a : Gen) => A.q a) = 1) :
        (w.eval m).base = 1

        Pushing a base-compatible marking through the deck projection kills any relator that dies at A.q (via GExpr.eval_map along cocycleProj).

        theorem Q2Presentation.Induction.scal_mul_kernel (A : AdmissibleIndex) (zeta : (levelBase A).Y → (levelBase A).Y → ZMod 2) (hz1 : ∀ (y : (levelBase A).Y), zeta 1 y = 0) (hz2 : ∀ (y : (levelBase A).Y), zeta y 1 = 0) (hzc : ∀ (a b c : (levelBase A).Y), zeta a b + zeta (a * b) c = zeta b c + zeta a (b * c)) (x : (Lifting.cocycleCoverTarget (levelBase A) zeta hz1 hz2 hzc).Y) (k : ↥(Lifting.cocycleKernel (levelBase A) zeta hz1 hz2 hzc).N) :
        (x * ↑k).scal = x.scal + (↑k).scal

        Multiplying by a deck-kernel element shifts the scalar read additively (the base slot of the kernel factor is 1, and ζ(·, 1) = 0).

        theorem Q2Presentation.Induction.levelTrace_eq_of_base (A : AdmissibleIndex) (zeta : (levelBase A).Y → (levelBase A).Y → ZMod 2) (hz1 : ∀ (y : (levelBase A).Y), zeta 1 y = 0) (hz2 : ∀ (y : (levelBase A).Y), zeta y 1 = 0) (hzc : ∀ (a b c : (levelBase A).Y), zeta a b + zeta (a * b) c = zeta b c + zeta a (b * c)) (m : Marking (Lifting.cocycleCoverTarget (levelBase A) zeta hz1 hz2 hzc).Y) (hm : ∀ (a : Gen), (m a).base = A.q a) :

        K1 — marking independence of the trace (design §4-N4: "the affine solvability locus is a hyperplane"): every base-compatible marking reads the SAME trace as the canonical one. Compatible markings differ by a deck-kernel perturbation (compat_eq_perturb); the perturbation shifts the two relator reads by the two row-map slots, which COINCIDE at an order-2 kernel (rowMap_card_two_apply: both are the τ-slot), so char-2 cancels the shift in the trace.

        noncomputable def Q2Presentation.Induction.levelBaseHom (A : AdmissibleIndex) (zeta : (levelBase A).Y → (levelBase A).Y → ZMod 2) (hz1 : ∀ (y : (levelBase A).Y), zeta 1 y = 0) (hz2 : ∀ (y : (levelBase A).Y), zeta y 1 = 0) (hzc : ∀ (a b c : (levelBase A).Y), zeta a b + zeta (a * b) c = zeta b c + zeta a (b * c)) :

        The deck projection of the ζ-cover, as a hom of (finite discrete) profinite groups into the level coordinate (the cocycleCollapseHom idiom).

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          @[simp]
          theorem Q2Presentation.Induction.levelBaseHom_apply (A : AdmissibleIndex) (zeta : (levelBase A).Y → (levelBase A).Y → ZMod 2) (hz1 : ∀ (y : (levelBase A).Y), zeta 1 y = 0) (hz2 : ∀ (y : (levelBase A).Y), zeta y 1 = 0) (hzc : ∀ (a b c : (levelBase A).Y), zeta a b + zeta (a * b) c = zeta b c + zeta a (b * c)) (x : (Lifting.cocycleCoverTarget (levelBase A) zeta hz1 hz2 hzc).Y) :
          (ProfiniteGrp.Hom.hom (levelBaseHom A zeta hz1 hz2 hzc)) x = x.base
          theorem Q2Presentation.Induction.cochainSolvable_of_levelTrace_eq_zero (A : AdmissibleIndex) (zeta : (levelBase A).Y → (levelBase A).Y → ZMod 2) (hz1 : ∀ (y : (levelBase A).Y), zeta 1 y = 0) (hz2 : ∀ (y : (levelBase A).Y), zeta y 1 = 0) (hzc : ∀ (a b c : (levelBase A).Y), zeta a b + zeta (a * b) c = zeta b c + zeta a (b * c)) (F : ↑GammaA.toProfinite.toTop → ↑GammaA.toProfinite.toTop → ZMod 2) (hFz : ∀ (x y : ↑GammaA.toProfinite.toTop), F x y = zeta ((piMon A) x) ((piMon A) y)) (h0 : levelTrace A zeta hz1 hz2 hzc = 0) :

          K2, forward half — zero trace gives a continuous solution (design §4-N4: "(both reads correctable)" at the diagonal image): if the level trace vanishes, the two relator defects of the canonical marking are EQUAL kernel elements, so the constant τ-slot variation kills both (rowMap_card_two_apply + the exponent-2 law). The corrected marking is admissible on its image (anyMarking_admissible — the wild generators land in the pulled-back 2-core), anyHom produces the continuous hom out of Γ_A, its base component agrees with π_A on the topological generators (homs_ext_on_gen), and its scalar component solves the pulled-back equation.

          noncomputable def Q2Presentation.Induction.graphHom (A : AdmissibleIndex) (zeta : (levelBase A).Y → (levelBase A).Y → ZMod 2) (hz1 : ∀ (y : (levelBase A).Y), zeta 1 y = 0) (hz2 : ∀ (y : (levelBase A).Y), zeta y 1 = 0) (hzc : ∀ (a b c : (levelBase A).Y), zeta a b + zeta (a * b) c = zeta b c + zeta a (b * c)) (c : ↑GammaA.toProfinite.toTop → ZMod 2) (hc : IsLocallyConstant c) (hc1 : c 1 = 0) (heqz : ∀ (γ γ' : ↑GammaA.toProfinite.toTop), c (γ * γ') = c γ + c γ' + zeta ((piMon A) γ) ((piMon A) γ')) :

          The graph hom of a solving cochain: γ ↦ (π_A γ, c γ) is a continuous hom into the ζ-extension (the N2 assembly idiom of cocycleCoverLiftHom_iff_cochainSolvable, backward direction, with base component the coordinate projection).

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            @[simp]
            theorem Q2Presentation.Induction.graphHom_apply (A : AdmissibleIndex) (zeta : (levelBase A).Y → (levelBase A).Y → ZMod 2) (hz1 : ∀ (y : (levelBase A).Y), zeta 1 y = 0) (hz2 : ∀ (y : (levelBase A).Y), zeta y 1 = 0) (hzc : ∀ (a b c : (levelBase A).Y), zeta a b + zeta (a * b) c = zeta b c + zeta a (b * c)) (c : ↑GammaA.toProfinite.toTop → ZMod 2) (hc : IsLocallyConstant c) (hc1 : c 1 = 0) (heqz : ∀ (γ γ' : ↑GammaA.toProfinite.toTop), c (γ * γ') = c γ + c γ' + zeta ((piMon A) γ) ((piMon A) γ')) (γ : ↑GammaA.toProfinite.toTop) :
            (ProfiniteGrp.Hom.hom (graphHom A zeta hz1 hz2 hzc c hc hc1 heqz)) γ = { base := (piMon A) γ, scal := c γ }
            theorem Q2Presentation.Induction.levelTrace_eq_zero_of_cochainSolvable (A : AdmissibleIndex) (zeta : (levelBase A).Y → (levelBase A).Y → ZMod 2) (hz1 : ∀ (y : (levelBase A).Y), zeta 1 y = 0) (hz2 : ∀ (y : (levelBase A).Y), zeta y 1 = 0) (hzc : ∀ (a b c : (levelBase A).Y), zeta a b + zeta (a * b) c = zeta b c + zeta a (b * c)) (F : ↑GammaA.toProfinite.toTop → ↑GammaA.toProfinite.toTop → ZMod 2) (hFz : ∀ (x y : ↑GammaA.toProfinite.toTop), F x y = zeta ((piMon A) x) ((piMon A) y)) (hs : CochainSolvable GammaA F) :
            levelTrace A zeta hz1 hz2 hzc = 0

            K2, backward half — solvability forces zero trace: a solving cochain graphs to a continuous hom into the extension; both relators die along any hom out of Γ_A (tameRelator_eval_one_of_hom / wildRelator_...), so the graph marking has trace 0; by K1 so does the canonical one.

            theorem Q2Presentation.Induction.cochainSolvable_iff_levelTrace_eq_zero (A : AdmissibleIndex) (zeta : (levelBase A).Y → (levelBase A).Y → ZMod 2) (hz1 : ∀ (y : (levelBase A).Y), zeta 1 y = 0) (hz2 : ∀ (y : (levelBase A).Y), zeta y 1 = 0) (hzc : ∀ (a b c : (levelBase A).Y), zeta a b + zeta (a * b) c = zeta b c + zeta a (b * c)) (F : ↑GammaA.toProfinite.toTop → ↑GammaA.toProfinite.toTop → ZMod 2) (hFz : ∀ (x y : ↑GammaA.toProfinite.toTop), F x y = zeta ((piMon A) x) ((piMon A) y)) :
            CochainSolvable GammaA F ↔ levelTrace A zeta hz1 hz2 hzc = 0

            K2 — the trace is the solvability functional (the falsifiable instrument: per descended (A, ζ), solvability of the pulled-back equation on Γ_A is ONE finite 𝔽₂-computation).

            Trace additivity (K3): the prop:chainmap trace linearity #

            Evaluation is pushed through the base-fibre product of two ζ-extensions and the scalar-sum hom — pure GExpr.eval_map functoriality, no word induction (the ω₂-powers ride along because powOmega2 commutes with all finite-group homs, map_powOmega2).

            noncomputable def Q2Presentation.Induction.mixSubgroup (A : AdmissibleIndex) (zeta₁ : (levelBase A).Y → (levelBase A).Y → ZMod 2) (h11 : ∀ (y : (levelBase A).Y), zeta₁ 1 y = 0) (h12 : ∀ (y : (levelBase A).Y), zeta₁ y 1 = 0) (h1c : ∀ (a b c : (levelBase A).Y), zeta₁ a b + zeta₁ (a * b) c = zeta₁ b c + zeta₁ a (b * c)) (zeta₂ : (levelBase A).Y → (levelBase A).Y → ZMod 2) (h21 : ∀ (y : (levelBase A).Y), zeta₂ 1 y = 0) (h22 : ∀ (y : (levelBase A).Y), zeta₂ y 1 = 0) (h2c : ∀ (a b c : (levelBase A).Y), zeta₂ a b + zeta₂ (a * b) c = zeta₂ b c + zeta₂ a (b * c)) :
            Subgroup (Lifting.CocycleExt (levelBase A) zeta₁ h11 h12 h1c × Lifting.CocycleExt (levelBase A) zeta₂ h21 h22 h2c)

            The base-fibre product of the two ζ-extensions: pairs with EQUAL base components, as a subgroup of the direct product.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              noncomputable def Q2Presentation.Induction.mixHom (A : AdmissibleIndex) (zeta₁ : (levelBase A).Y → (levelBase A).Y → ZMod 2) (h11 : ∀ (y : (levelBase A).Y), zeta₁ 1 y = 0) (h12 : ∀ (y : (levelBase A).Y), zeta₁ y 1 = 0) (h1c : ∀ (a b c : (levelBase A).Y), zeta₁ a b + zeta₁ (a * b) c = zeta₁ b c + zeta₁ a (b * c)) (zeta₂ : (levelBase A).Y → (levelBase A).Y → ZMod 2) (h21 : ∀ (y : (levelBase A).Y), zeta₂ 1 y = 0) (h22 : ∀ (y : (levelBase A).Y), zeta₂ y 1 = 0) (h2c : ∀ (a b c : (levelBase A).Y), zeta₂ a b + zeta₂ (a * b) c = zeta₂ b c + zeta₂ a (b * c)) (h121 : ∀ (y : (levelBase A).Y), (fun (u v : (levelBase A).Y) => zeta₁ u v + zeta₂ u v) 1 y = 0) (h122 : ∀ (y : (levelBase A).Y), (fun (u v : (levelBase A).Y) => zeta₁ u v + zeta₂ u v) y 1 = 0) (h12c : ∀ (a b c : (levelBase A).Y), (fun (u v : (levelBase A).Y) => zeta₁ u v + zeta₂ u v) a b + (fun (u v : (levelBase A).Y) => zeta₁ u v + zeta₂ u v) (a * b) c = (fun (u v : (levelBase A).Y) => zeta₁ u v + zeta₂ u v) b c + (fun (u v : (levelBase A).Y) => zeta₁ u v + zeta₂ u v) a (b * c)) :
              ↥(mixSubgroup A zeta₁ h11 h12 h1c zeta₂ h21 h22 h2c) →* Lifting.CocycleExt (levelBase A) (fun (u v : (levelBase A).Y) => zeta₁ u v + zeta₂ u v) h121 h122 h12c

              The scalar-sum hom out of the base-fibre product into the (ζ₁ + ζ₂)-extension: ((y, s), (y, t)) ↦ (y, s + t). Multiplicativity is EXACTLY the pointwise sum of the two cocycle laws at matching bases.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                @[simp]
                theorem Q2Presentation.Induction.mixHom_scal (A : AdmissibleIndex) (zeta₁ : (levelBase A).Y → (levelBase A).Y → ZMod 2) (h11 : ∀ (y : (levelBase A).Y), zeta₁ 1 y = 0) (h12 : ∀ (y : (levelBase A).Y), zeta₁ y 1 = 0) (h1c : ∀ (a b c : (levelBase A).Y), zeta₁ a b + zeta₁ (a * b) c = zeta₁ b c + zeta₁ a (b * c)) (zeta₂ : (levelBase A).Y → (levelBase A).Y → ZMod 2) (h21 : ∀ (y : (levelBase A).Y), zeta₂ 1 y = 0) (h22 : ∀ (y : (levelBase A).Y), zeta₂ y 1 = 0) (h2c : ∀ (a b c : (levelBase A).Y), zeta₂ a b + zeta₂ (a * b) c = zeta₂ b c + zeta₂ a (b * c)) (h121 : ∀ (y : (levelBase A).Y), (fun (u v : (levelBase A).Y) => zeta₁ u v + zeta₂ u v) 1 y = 0) (h122 : ∀ (y : (levelBase A).Y), (fun (u v : (levelBase A).Y) => zeta₁ u v + zeta₂ u v) y 1 = 0) (h12c : ∀ (a b c : (levelBase A).Y), (fun (u v : (levelBase A).Y) => zeta₁ u v + zeta₂ u v) a b + (fun (u v : (levelBase A).Y) => zeta₁ u v + zeta₂ u v) (a * b) c = (fun (u v : (levelBase A).Y) => zeta₁ u v + zeta₂ u v) b c + (fun (u v : (levelBase A).Y) => zeta₁ u v + zeta₂ u v) a (b * c)) (p : ↥(mixSubgroup A zeta₁ h11 h12 h1c zeta₂ h21 h22 h2c)) :
                ((mixHom A zeta₁ h11 h12 h1c zeta₂ h21 h22 h2c h121 h122 h12c) p).scal = (↑p).1.scal + (↑p).2.scal
                noncomputable def Q2Presentation.Induction.mixMarking (A : AdmissibleIndex) (zeta₁ : (levelBase A).Y → (levelBase A).Y → ZMod 2) (h11 : ∀ (y : (levelBase A).Y), zeta₁ 1 y = 0) (h12 : ∀ (y : (levelBase A).Y), zeta₁ y 1 = 0) (h1c : ∀ (a b c : (levelBase A).Y), zeta₁ a b + zeta₁ (a * b) c = zeta₁ b c + zeta₁ a (b * c)) (zeta₂ : (levelBase A).Y → (levelBase A).Y → ZMod 2) (h21 : ∀ (y : (levelBase A).Y), zeta₂ 1 y = 0) (h22 : ∀ (y : (levelBase A).Y), zeta₂ y 1 = 0) (h2c : ∀ (a b c : (levelBase A).Y), zeta₂ a b + zeta₂ (a * b) c = zeta₂ b c + zeta₂ a (b * c)) :
                Marking ↥(mixSubgroup A zeta₁ h11 h12 h1c zeta₂ h21 h22 h2c)

                The diagonal canonical marking of the base-fibre product.

                Equations
                Instances For
                  theorem Q2Presentation.Induction.levelTrace_add (A : AdmissibleIndex) (zeta₁ : (levelBase A).Y → (levelBase A).Y → ZMod 2) (h11 : ∀ (y : (levelBase A).Y), zeta₁ 1 y = 0) (h12 : ∀ (y : (levelBase A).Y), zeta₁ y 1 = 0) (h1c : ∀ (a b c : (levelBase A).Y), zeta₁ a b + zeta₁ (a * b) c = zeta₁ b c + zeta₁ a (b * c)) (zeta₂ : (levelBase A).Y → (levelBase A).Y → ZMod 2) (h21 : ∀ (y : (levelBase A).Y), zeta₂ 1 y = 0) (h22 : ∀ (y : (levelBase A).Y), zeta₂ y 1 = 0) (h2c : ∀ (a b c : (levelBase A).Y), zeta₂ a b + zeta₂ (a * b) c = zeta₂ b c + zeta₂ a (b * c)) (h121 : ∀ (y : (levelBase A).Y), (fun (u v : (levelBase A).Y) => zeta₁ u v + zeta₂ u v) 1 y = 0) (h122 : ∀ (y : (levelBase A).Y), (fun (u v : (levelBase A).Y) => zeta₁ u v + zeta₂ u v) y 1 = 0) (h12c : ∀ (a b c : (levelBase A).Y), (fun (u v : (levelBase A).Y) => zeta₁ u v + zeta₂ u v) a b + (fun (u v : (levelBase A).Y) => zeta₁ u v + zeta₂ u v) (a * b) c = (fun (u v : (levelBase A).Y) => zeta₁ u v + zeta₂ u v) b c + (fun (u v : (levelBase A).Y) => zeta₁ u v + zeta₂ u v) a (b * c)) :
                  levelTrace A (fun (u v : (levelBase A).Y) => zeta₁ u v + zeta₂ u v) h121 h122 h12c = levelTrace A zeta₁ h11 h12 h1c + levelTrace A zeta₂ h21 h22 h2c

                  K3 — trace additivity in the cocycle (prop:chainmap's D²(u_t, u_w) = u_t + u_w read as linearity of the two relator scalars): the trace of a pointwise sum of level cocycles is the sum of the traces. Proof: evaluate the two relators once in the base-fibre product at the diagonal marking, and push through the three homs (two projections, one scalar-sum) by GExpr.eval_map.

                  The candidate ι-token #

                  The candidate ι-additivity token is a THEOREM (design §4-N4 target; floor F-ι-cand sec7_candidate_iotaToken DISSOLVED at birth — stated with the design's floor name so N7 consumers cite one name on both sources, mirroring the citable q2_trivialCoeff_h2_line : IotaToken GQ2Profinite).

                  dim H²(Γ_A, 𝔽₂) ≤ 1 in the solvability spelling: two unsolvable normalized continuous 2-cocycle equations on the candidate source have solvable sum. Manuscript content: prop:chainmap (l.1687) + lem:finitewordstokes — realized through the ledger: descend both equations to a common admissible level (gammaA_cochain_factors_pair), where solvability is the vanishing of the relator-read TRACE (cochainSolvable_iff_levelTrace_eq_zero; the variation image at the order-2 deck kernel is the diagonal, rowMap_card_two_apply — codimension EXACTLY 1, the Phase-2 gate of the design); the trace is additive (levelTrace_add), and 1 + 1 = 0 in 𝔽₂.

                  Consumer hooks (the design's "vanishing spec the phase bridge needs") #

                  N7/N9 consume the token only through the N2 readings; the two corollaries below pre-instantiate them at the candidate source so the engine files can cite Γ_A-additivity without touching the token.

                  iotaRead at the candidate source is additive on normalized continuous 2-cocycle pairs.

                  The ±1-indicator at the candidate source is multiplicative on normalized continuous 2-cocycle pairs.