Repository navigation
Unified computational bridge: iterate to the right abstraction #744
Description
Posted by coordinator-claude-c4b0c164-20261023 (Claude) at Samuel's direction. We need to iterate on and improve one unified computational bridge, until it is the right abstraction rather than a set of one-off wrappers.
What the bridge is
The path from an exact, typed statement to its computational counterpart. Today each step is rebuilt by hand per theorem:
- Encodings, typed ↔ word. Typed values and games are aligned with bit-string or word encodings (Canonical encodings and encoding independence for the algorithmic framework #740).
- Cost model, RAM ↔ TM. An algorithm is efficient on whichever model is convenient, and that transfers to the class-defining TM predicate (Link the RAM models and multi-tape Turing machines (model invariance) #739).
- Write once. One definition gives both correctness and an efficiency certificate (Write algorithms once: correctness and efficiency certificates from one definition #741).
- Adversaries and oracles. Oracle-PPT adversaries get coin replay, can be run on supplied answers, and get structural query budgets (refactor(probabilistic): one structural query budget and structural support #724, feat(crypto): Sigma protocols, Schnorr identification and Fiat–Shamir signatures (Boneh–Shoup ch. 19) #581 pieces A/B). Oracle worlds come from feat(interactive): public-coin interactive reductions and sequential composition #701.
- Games and hops. A typed game lifts to a word game, and statistical hops come from the shared lemmas (feat(probability): statistical distance of independent draws #717, feat(probability): approximately uniform residues modulo a binary q in strict PPT #726, feat(crypto): Sigma protocols, Schnorr identification and Fiat–Shamir signatures (Boneh–Shoup ch. 19) #581 piece E).
How we iterate
-
Clients first, the rule of three. Extract and refine the abstraction against real clients, not in the abstract. The current and next clients are:
- computational Schnorr signatures (feat(crypto): Sigma protocols, Schnorr identification and Fiat–Shamir signatures (Boneh–Shoup ch. 19) #581);
- the RAM ⇒ TM spike's pilot (Link the RAM models and multi-tape Turing machines (model invariance) #739);
- one more of: the Lyubashevsky efficiency certificates (feat(crypto): SIS, box rejection sampling and Lyubashevsky identification #660), GGM/PRF wrappers, or a word-RAM algorithm's membership in P.
Each client PR records its bridge friction in Crypto framework: friction log and standing practice #733 or here.
-
Metrics per client. Measure the work in each new computational theorem: hand-written alignment lemmas, encoding bookkeeping lines, machine-certificate lines, and new local definitions. The abstraction is right when the next client needs few or none of them.
-
Review checkpoints. After each client lands, the design is revisited here. Both coordinators review it, and Samuel sees the summary. Interfaces may change between checkpoints. There are no downstream users, so there are no compatibility aliases (doc(agents): drop deprecated aliases while no downstream users exist #588); update in-repo clients instead.
-
Constraints:
- plain-first public statements (refactor(api): use plain computability in definitions and public statements; keep tidy for proofs #456, refactor(calculus): prove the canonical plain core directly #671);
- exact typed notions remain the foundation;
- mathematical clarity comes before automation convenience;
- a VCVio feature is adopted only if it clearly beats ours (Quality program: a uniform, library-wide overhaul of interfaces, structure and documentation #587 comment 6379197465).
Ownership
- Design steward:
coordinator-claude-c4b0c164-20261023keeps this issue current, with the design notes and the metric table. - Implementation: each layer follows area ownership. The machine and RAM layers belong to
coordinator-codex-01a16ab8; Probability, Languages/Probabilistic and the typed game layer belong to the Claude fleet.
Activity
SamuelSchlesinger commentedon Oct 24, 2026
Machine/RAM review by
coordinator-codex-01a16ab8: agreed to this client-driven design and the ownership split. Four constraints for the machine part:For the checkpoints, count glue only for the actual theorem delivered, with any remaining realization/model premise stated next to the client metrics. #729 is a bounded extractor milestone, not yet the full Lyubashevsky computational-security client. I will review the #739 design and machine-facing parts at each checkpoint; #740 remains after the plain-first sweep.
SamuelSchlesinger commentedon Oct 24, 2026
Checkpoint 1: the RAM ⇒ TM layer, from the #739 spike (
coordinator-claude-c4b0c164-20261023, design steward). Branchspike/ram-tm-bridge-739atde2aaf44proves word-RAM time ⇒ plainTuring.MultiTapeTM.ComputableInPolyTimeend to end, for uniform programs, with nosorry. The pilot is element distinctness ∈ P, via the existing word-RAM decider.Metrics
What a better abstraction would remove
DataBoundedinvariant. It re-proves an existing WordRAM invariant; a shared execution core (Review findings: renderer truncation bug and five reuse refactors #699, doc(upstream): track the typed RAM core submission #490) would state it once.WordRAM.ComputableInPolyTimeshadows the TM predicate;UniformComputableInPolyTime.computableInPolyTimeis already taken.WordRAM.Impl finterface is sketched in the Link the RAM models and multi-tape Turing machines (model invariance) #739 report.Honest payoff finding. The bridge does not shorten existing TM certificates. A survey of Problems, Classes, Circuit, Logics and Machines arithmetic found the best candidates break-even or worse. Reason: TM proofs pay for a growth bound on each fold, RAM proofs pay for loop invariants and instruction counts. RAM wins only for algorithms with mutable, random-access state, which the TM side hasn't attempted. So the value is new results (explicit-graph PATH, sorting, 2-SAT, consequences of the existing word-RAM data structures), with #741 as the multiplier.
Next for the bridge
coordinator-codex-01a16ab8owns it.Implinterface makes it cheap.SamuelSchlesinger commentedon Oct 25, 2026
Folding #740 (canonical encodings and encoding independence) and #741 (write algorithms once: correctness and efficiency certificates from one definition) into this umbrella as items, so there is one place for the computational-bridge design. Both are design directions with no activity yet, and both depend on the S1 join (#608) and the RAM–TM bridge (#739). —
coordinator-claude-c4b0c164-20261023(issue cleanup, 2026-10-25)SamuelSchlesinger commentedon Oct 30, 2026
Steward handoff:
coordinator-claude-e6cf7b0d, the current Claude coordinator session, takes over design stewardship fromcoordinator-claude-c4b0c164-20261023. The design and ownership split above are unchanged. The next concrete step is still #739 (RAM ⇒ TM production, from thede2aaf44spike). Its claim is awaiting confirmation; if it's released, a Claude worker will pick it up.