The corrected proof narrative defines current obligation scope. Unanchored and void rows below are retained as historical design records; they do not reinstate an adapter, a Tangle compilation target, or a guarantee from matching index fingerprints. See surface contracts.
Every load-bearing unproven assumption used in this repo, with an ID, classification, and the obligation it supports.
Classifications:
-
MATH — true by an external mathematical theorem (cite it)
-
DESIGN — true by construction in our code (must remain true; flag if you change the named code)
-
EMPIRICAL — believed from testing; not formally verified
-
CRYPTO — standard cryptographic-primitive assumption
Cross-references use [[A-KR-N.M]] syntax, resolved here.
| ID | Class | Status | Statement | Cited by | Where it lives |
|---|---|---|---|---|---|
A-KR-1.1 |
DESIGN |
UNANCHORED |
Every |
KR-1 |
was |
A-KR-1.2 |
DESIGN |
UNANCHORED |
The AST module defines the only AST shapes the parser produces |
KR-1 |
was |
A-KR-2.1 |
DESIGN |
UNANCHORED |
Generator arity is fixed: |
KR-2 |
|
A-KR-2.2 |
MATH |
holds |
|
KR-2 |
Standard categorical tangle definition |
A-KR-3.1 |
MATH |
holds |
Reidemeister’s theorem: R1+R2+R3 generate isotopy equivalence on tangle diagrams |
KR-3 |
Reidemeister 1927; Kauffman Knots and Physics ch. 1 |
A-KR-3.2 |
DESIGN |
UNANCHORED |
|
KR-3 |
was |
A-KR-4.1 |
DESIGN |
UNANCHORED |
The pretty-printer’s bracketing is unambiguous: |
KR-4 |
No pretty-printer exists in any current implementation |
A-KR-6.1 |
DESIGN |
VOID |
Two independent parsers both target |
KR-6 |
Only one parser now exists ( |
A-KR-6.2 |
DESIGN |
VOID |
Both implementations share the same |
KR-6 |
Only one lexer now exists ( |
A-KR-8.1 |
MATH (partial) |
holds |
Fundamental-quandle functor is faithful on prime alternating knots; partial in general |
KR-8 |
Joyce 1982; for partial cases see Eisermann The number of knot group representations |
A-KR-8.2 |
MATH |
holds |
Two non-isomorphic quandles have distinct canonical presentations (true by definition of "canonical") |
KR-8 |
Standard algebraic-presentation result |
A DESIGN assumption is defined above as "true by construction in our code
(must remain true; flag if you change the named code)". Seven rows named code
in KRLAdapter.jl, which no longer exists, so there is no construction left to
be true by. They are recorded here rather than deleted, because the statements
are still the design intent — but none of them is currently checkable, and none
may be cited as discharged.
UNANCHORED means the statement stands as intent but names no live code. VOID means the statement presupposes two implementations, and only one exists.
Re-anchoring is blocked on the specification itself. spec/grammar.ebnf (here)
and quandledb/spec/grammar.ebnf are disjoint on core vocabulary: the braid
generators these assumptions describe appear only in the former, and only the
latter is implemented. Until the two are reconciled and a conformance suite
exists, these rows cannot be re-anchored to anything. See READINESS.adoc.
-
Reading code. When you see a function whose correctness depends on something not enforced by the local types — that’s an assumption. Find or add the entry here and reference it by ID.
-
Writing a proof. Every proof obligation in PROOF-NARRATIVE.adoc names its assumptions by ID. Before discharging the proof, audit the assumptions.
-
Modifying load-bearing code. Each DESIGN assumption names a file. If you edit that file, re-validate the assumption (or update the obligation if you changed the design intentionally).
| From | To | Trigger |
|---|---|---|
EMPIRICAL → MATH |
discharge with a citation |
|
EMPIRICAL → DESIGN |
refactor to make it a structural invariant |
|
MATH → (delete) |
obligation it supports has been re-cast not to need it |
|
DESIGN → MATH (rare) |
the design happens to encode a known theorem |
|
any → CRYPTO |
only for cryptographic primitives (BLAKE3, SHA-256, etc.) |
When you change a row, leave a one-line note at the bottom of this file with the date and reason.
| Date | Change | By |
|---|---|---|
2026-06-01 |
Initial registry, scoped to KRL surface obligations |
Audit |
2026-07-21 |
Added Status column. Marked A-KR-1.1, 1.2, 2.1, 3.2 and 4.1 UNANCHORED and A-KR-6.1, 6.2 VOID: all seven named code in |
Audit |