The marked matching engine: ν-compatible correction of the B-Lab isomorphism (ticket R15) #
Machinery for the fill of markedPro2_R (GQ2/Roe/MarkedPro2.lean, note §3.3
⟦prop:markedpro2⟧). Given the abstract B-Lab isomorphism f : D_R ≅ D₀, the marked statement
needs a corrected isomorphism matching the unramified markings; per the note's proof this
requires (a) functoriality of the canonical (Labute) orientation across f, and (b) the
(u, b)-correction of prop_3_8_classification/prop_3_8_lift. This file provides both and
packages the result as the keystone exists_matching_iso.
(a) Orientation functoriality: isLabuteOrientation_comp_iso #
χ₀ ∘ f is a Labute orientation of D_R, for every continuous isomorphism
f : D_R ≅ D₀ — the "canonical orientations are functorial" step of the note's proof. The
descent characterization (IsLabuteOrientationDatum) asks that the WordLift ℤ₂(χ) ⋊ ℤ₂ˣ-lift
of the relator die for arbitrary derivation generator-values, so the proof must realize
arbitrary values (Ds, Dx, Dy) at the transported generators f⁻¹-side. Route:
D₀-side master derivationsmasterH c(c ∈ ℤ₂³): continuous homsD₀ → ℤ₂(χ₀) ⋊ ℤ₂ˣwith baseχ₀and derivation generator-valuesc— Labute's descent forD₀, i.e. the computation2·0 + 4·Ds + (η⁻¹ − 1)·Ds = 4Ds − 4Ds = 0on the relatorA²S⁴[S,Y]at the orientation values(−1, 1, η), fed to the universal propertyd0LiftHom. (The lift group carries the product topology; the pro-2 instance is theℤ₂-by-ℤ₂ˣextension argumentisProP_two_wordLift.)- The evaluation matrix
M : Matrix (Fin 3) (Fin 3) ℤ₂,M i j= value of thej-th basis master at thei-th transported generatorf (s/x/y).Mis invertible: mod 2 the masters become genuine (untwisted)𝔽₂-characters, and a continuous hom into a finite discrete group is determined on the topological generatorsf (s), f (x), f (y)(mem_closure_image_gens), so the mod-2 rows span𝔽₂³; Nakayama-style,det M ∈ ℤ₂ˣ. - Solve
M c = (Ds, Dx, Dy), contract the three basis masters byc(masterContract, a hom by the crossed-derivation product rule), pull back alongf, and evaluate ondr_relationviamap_drWord.
(b) The ν-correction: exists_matching_iso #
With χ₀ ∘ f = χ_R (by (a) + isLabuteOrientation_ext), the Ȳ₀-coordinate τ₂ of
f(x) in D₀^{ab} is a 2-adic unit: squaring kills the torsion character, leaving
X² = (η²)^{τ₂} with X ≡ 5 (mod 16) (rootX_toZModPow_four) while an even exponent would
force X² ≡ 1 (mod 16). The mod-2 row analysis (same engine as (2)) makes the
(S̄₀, Ȳ₀)-coordinate matrix of (f(s), f(x)) invertible, so the linear system
u·σᵢ + b·τᵢ = ν_R(gen i) has a solution with u ∈ ℤ₂ˣ; prop_3_8_lift lifts (u, b) to an
automorphism Ψ of D₀, and F := Ψ ∘ f matches the markings:
ζ ∘ ν_{D_R} = sHom ∘ abMk ∘ F (sHom = the S̄₀-coordinate = the D₀-side unramified
functional, cf. GQ2/LocalMarked.lean).
Everything here is axiom-free modulo the June-side inputs it cites (B3c/B8 via
chiD0/prop_3_8_lift) and the R13b Demushkin fills cited by MarkedPro2.lean (landed
2026-07-25, sorry-free); no BLabHypothesis occurs — the abstract isomorphism is a
hypothesis of the keystone.
The lift group ℤ₂ ⋊ ℤ₂ˣ as a profinite 2-group #
FoxH.WordLift ℤ_[2] ℤ_[2]ˣ (GQ2/FoxHeisenberg/Basic.lean) is the crossed-derivation lift
group of GQ2/Roe/CrossedDerivation.lean. There it is used purely algebraically; to run
D₀'s universal property into it we equip it (locally — the finite word-cochain theory
GQ2/WordCohBridge.lean uses the discrete topology on its finite instances, so these
instances stay file-local) with the product topology of ℤ₂ × ℤ₂ˣ, under which it is a
profinite 2-group: an extension of the pro-2 ℤ₂ˣ by the pro-2 ℤ₂.
Equations
- GQ2.instTopWordLift = TopologicalSpace.induced (⇑GQ2.FoxH.WordLift.equivProd) inferInstance
Instances For
The lift group is pro-2 — the extension argument: in a finite quotient, the image of
the offset kernel is a 2-group (isPGroup_map_of_isProP), and the quotient by it is a finite
discrete quotient of ℤ₂ˣ, hence a 2-group (isProP_two_unitsPadicInt); finite extensions of
2-groups by 2-groups are 2-groups (Nat.card multiplicativity).
Small local copies of private June-side value facts #
unitNegThree_val, topAbCongr_abMk and (later) the sHom/yHom generator values are
private in their home files (GQ2/PropOneOneAssembly.lean, GQ2/SectionThree.lean); their
proofs are one-liners over public definitions, so we re-derive them here rather than widen the
June API. The d0LiftHom generator values were in the same situation when this file was
written and were copied here too; they have since been de-privatized as
SectionThree.d0LiftHom_A/_S/_Y (L6 cleanup) and the local copies deleted, so this file
now uses the public June lemmas directly.
The master crossed derivations #
The group-level canonical orientation of D₀ #
The canonical orientation of D₀ at the group level: χ₀ = chiD0 ∘ abMk
(generator values (−1, 1, (−3)⁻¹), from the B3c bundle).
Equations
- GQ2.chiD0G = GQ2.chiD0.comp { toMonoidHom := GQ2.SectionThree.abMk, continuous_toFun := GQ2.chiD0G._proof_1 }
Instances For
The mod-2 reduction of the masters and the generation engine #
Equations
Instances For
The evaluation matrix and its invertibility #
Orientation functoriality #
Canonical orientations are functorial across the B-Lab isomorphism (note §3.3, step
"canonical orientations are functorial"): for every continuous isomorphism f : D_R ≅ D₀, the
pullback χ₀ ∘ f of the canonical orientation of D₀ is a Labute orientation of D_R — every
prescribed derivation triple (Ds, Dx, Dy) is realized by contracting the D₀-side master
derivations against a solution of the (invertible) evaluation-matrix system and pulling back
along f, and then drWord dies on dr_relation by naturality (map_drWord).
Local copies of the sHom/yHom generator values (private in GQ2/SectionThree.lean) #
The identification χ₀ ∘ f = χ_R and the Ȳ₀-coordinate parity #
τ₂ is odd: the mod-16 argument #
Equations
Instances For
The (u, b)-correction data #
The corrected isomorphism and the keystone #
The matching isomorphism (⟦prop:markedpro2⟧ engine, note §3.3): from any abstract
continuous isomorphism D_R ≅ D₀ (the B-Lab input) there is a marked one — a corrected
F = Ψ_{u,b} ∘ f whose S̄₀-coordinate takes the unramified marking values (1, 0, 0) on
the generators of D_R. (Stated on generator values; the consumer markedPro2_R runs the
dr_topGen density argument against ν_{D_R}, which lives downstream.) Everything upstream
(orientation functoriality, the τ₂-parity, the coordinate solve, prop_3_8_lift) is
packaged here.
The prop_1_1 unramified rows compute sHom — the D₀-side density bridge the
markedPro2_R assembly consumes: if e₁ : G_{ℚ₂}(2) ≅ D₀ has the prop_1_1 unramified
coordinates (−2, 1, 0) at (A, S₀, Y₀) (read through arbitrary lifts), then
ν̄_ur ∘ e₁⁻¹ = sHom ∘ abMk everywhere (density over topGen_d0).
Stress lemmas (plan rule 9) #
Stress test (orientation functoriality, X-value): the pulled-back canonical
orientation agrees with χ_R on the wild generator — χ₀(f(x)) = χ_R(x) = X, the Hensel
root, for every continuous isomorphism f : D_R ≅ D₀.