def
definition
inv
show as:
view math explainer →
open explainer
Generate a durable explainer page for this declaration.
open lean source
IndisputableMonolith.Masses.Ribbons on GitHub at line 44.
browse module
All declarations in this module, on Recognition.
explainer page
depends on
used by
-
toComplex_inv -
rm2Closed_of_coerciveL2Bound -
zetaReciprocal_differentiableAt -
zetaReciprocal_meromorphicAt -
compAutomorphism_inv_left_eq_id -
compAutomorphism_inv_left_toFun -
compAutomorphism_inv_right_eq_id -
compAutomorphism_inv_right_toFun -
gaugeEquivalent_symm -
RecognitionAutomorphism -
symmetry_status -
half -
inv -
inv_pow_self -
inv_self -
partialDeriv_v2_radialInv -
partialDeriv_v2_radialInv_proved -
lnal_manifest_json
formal source
41 tag : GaugeTag
42
43/-- Inverse ribbon: flip direction and ledger bit. -/
44@[simp] def inv (r : Ribbon) : Ribbon := { r with dir := ! r.dir, bit := - r.bit }
45
46/-- Cancellation predicate for adjacent syllables (tick consistency abstracted). -/
47@[simp] def cancels (a b : Ribbon) : Bool := (b.dir = ! a.dir) && (b.bit = - a.bit) && (b.tag = a.tag)
48
49/-- Neutral commutation predicate for adjacent syllables. Swapping preserves
50ledger additivity and winding by construction; we additionally require the
51start ticks to differ to avoid degenerate swaps. -/
52@[simp] def neutralCommute (a b : Ribbon) : Bool := a.start ≠ b.start
53
54/-- A word is a list of ribbon syllables. -/
55abbrev Word := List Ribbon
56
57/-- Deterministic ring pattern for a given tag: spread across ticks, alternate direction. -/
58def ringSeq (tag : GaugeTag) (n : Nat) : Word :=
59 (List.range n).map (fun k =>
60 let t : Tick := ⟨k % 8, by have : (k % 8) < 8 := Nat.mod_lt _ (by decide); simpa using this⟩
61 let d := k % 2 = 0
62 { start := t, dir := d, bit := 1, tag := tag })
63
64/-- One left‑to‑right cancellation pass: drop the first adjacent cancelling pair if present. -/
65def rewriteOnce : Word → Word :=
66 fun w =>
67 match w with
68 | [] => []
69 | a :: [] => [a]
70 | a :: b :: rest =>
71 if cancels a b then rest else a :: rewriteOnce (b :: rest)
72
73/-- Normalization via bounded passes: at most length passes strictly reduce on success. -/
74def normalForm (w : Word) : Word :=