IndisputableMonolith.Loom.Separation
Module packaging the Loom separation witness: two relational claims that differ only in quantifier order (every-door-some-key versus some-key-every-door) weave to configurations in distinct gauge orbits. Gravity analysts cite it when a classical source reading must be proved equal only on already-separated configs. The argument is a concrete certificate-backed pair of readings plus the shared codebook names.
claimThere exist two Loom contents $C_{\forall\exists}$ and $C_{\exists\forall}$ (every door opened by some key, versus some key that opens every door), built from shared names door, key, opens, locks, such that their weaves lie in different gauge orbits, while the two readings are genuinely distinct claims (not merely distinct syntax trees).
background
Loom turns relational content into configurations of closed walks. Grammar supplies the inductive type of content and the total map weave that sends content to a configuration via five production rules forced by algebraic properties of the operators. Semantics insists that "different content" means different claims, not just different trees: a pair that differs syntactically but agrees as claims would be an embarrassment rather than a witness.
Readings defines the rival side of the separation claim. Two honest shapes of a relational message appear: a ground bag (multiset of typed tuples over shared vocabulary, as an ingest contract carries) and a second reading of the same shape. The separation theorem is a claim about a rival, so that rival is fixed in Lean rather than left in a Python script.
CertificateData holds the measured certificate: a homomorphism from the free group of rank five into $\mathrm{SL}(2,\mathbb{Z}/3\mathbb{Z})$ found by search, together with automorphism tables for $Q_3$. The four shared names (door, key, opens, locks) are codebook indices into that vocabulary.
proof idea
Definition-and-witness module, not a single theorem wrapper. It names the shared codebook indices, builds the two quantifier-order contents (every-door-some-key-opens versus some-key-every-door-opens, and the dual lock variants), and exhibits concrete readings and a certificate-backed configuration pair. Separation is then the statement that the two weaves are gauge-inequivalent while the readings remain distinct as claims under the semantics of Readings and Semantics. Downstream modules import the witness rather than re-deriving the pair.
why it matters in Recognition Science
Feeds the order-sensitive gravity stack. ClassicalSourceProjection requires that a classical source reading of a Loom config may stand in for the conventional-source half of the discovery discriminator only when the reading is already proved equal on gauge-separated configs; this module supplies that separation. OrderSensitiveHistoryResponse4D seats the depth-two commutator reading of a Loom config as the history-to-edge-current response on the Freudenthal patch (frozen claims G2/G3 of the Order-Sensitive Gravity proposition). Without a proved content-level separation, gauge inequivalence of utterances would be uninteresting: the language might be drawing a distinction the logic does not. The module closes that gap for the door/key quantifier-order pair.
scope and limits
- Does not prove separation for arbitrary Expr pairs, only the door/key quantifier-order witness family.
- Does not define weave, gauge action, or certificate search; those live in Grammar, Semantics, and CertificateData.
- Does not itself construct classical source projections or 4D history responses.
- Does not claim syntactic inequality alone implies distinct claims; semantics must still certify claim-level difference.
used by (2)
depends on (4)
declarations in this module (60)
-
def
door -
def
key -
def
opens -
def
locks -
def
cb -
def
opensKeyDoor -
def
locksKeyDoor -
def
everyDoorSomeKeyOpens -
def
someKeyEveryDoorOpens -
def
everyDoorSomeKeyLocks -
def
someKeyEveryDoorLocks -
def
witnessA -
def
witnessB -
theorem
weave_witnessA -
theorem
weave_witnessB -
theorem
wellFormed_A -
theorem
wellFormed_B -
theorem
base_ok -
theorem
tableOfSubst_ok -
theorem
autSubst_length -
theorem
autTables_eq -
theorem
depth_one_is_blind -
theorem
abelianised_is_blind -
theorem
depth_two_separates -
theorem
invariant_separates -
def
gaugeImage -
theorem
invariant_gaugeImage -
def
separatesEverywhere -
theorem
separates_everywhere -
theorem
no_gauge_image_of_A_is_B -
theorem
gauge_image_ne_B -
theorem
witnesses_separated -
def
cb2 -
def
opensDoorKey -
def
locksDoorKey -
def
someDoorLocksEveryKey -
def
someDoorOpensEveryKey -
def
everyDoorOpensEveryKey -
def
everyDoorLocksEveryKey -
def
witnessC -
def
witnessD -
theorem
weave_witnessC -
theorem
weave_witnessD -
theorem
witnessC_ne_witnessD -
def
witnessModel -
theorem
witnessC_and_D_are_different_claims -
theorem
witnessC_holds -
theorem
witnessD_fails -
theorem
groundBag_blind -
theorem
adjacencyBag_blind -
theorem
depth_one_is_blind2 -
theorem
abelianised_is_blind2 -
theorem
depth_two_separates2 -
theorem
wellFormed_C -
theorem
wellFormed_D -
def
separatesEverywhere2 -
theorem
separates_everywhere2 -
theorem
no_gauge_image_of_C_is_D -
theorem
gauge_image_ne_D -
theorem
witnesses2_separated