This AFFIRMATION records the standing of my-lang against the hyperpolymath
standards and this project’s own honesty discipline, at the timestamp below.
It follows the AFFIRMATION convention of the hyperpolymath standards
repository (governance + Hypatia); that guidance could not be read in the
session that authored this file, so it is followed in spirit, per the RSR
(Rhodium Standard Repository) discipline this repo consumes. Refine against
the canonical template when standards is in scope.
This is a point-in-time affirmation, not a perpetual claim: it is true of the
verified state at :revdate: and is superseded by the next dated affirmation.
my-lang is the QTT (quantitative type theory) multi-dialect language with a mechanised solo-core proved on dual tracks (Coq + Idris2) and an AI-first Rust compiler. The normative obligation — the must — is that the language be sound, and that its soundness live in the compiler and not merely on paper.
To the verified state of this repository, I affirm:
-
Soundness is mechanised, not asserted — now on BOTH tracks. The Coq solo-core proves
progress,preservation, andaffine_pres; the algorithmic checker (check, R5) and the affine decision (aff_type_dec, R5b); theme → soloelaboration adequacy (M1); the session-pi metatheory through S3c.3; and the echo residue-measure seam (E4). All are realQed, axiom-free (Print Assumptionsclosed), and CI-gated. The Idris2 twin now also proves bothprogressandpreservation(#108, discharged 2026-06-21): total, hole-free functions under%default totalwith no postulates —:total preservationconfirms — via the QTT substitution lemmashtSubst/substLemma0/subst2Lemma(withuaddAssoc). The solo core is hole-free on both tracks. -
No overclaim. Every proof hole is recorded as an obligation, never as a result (
proofs/STATUS.mdis authoritative and wins over any prose). Honest-scope and matched-negative discipline is kept throughout the formalisation. -
The coupling is real. The machine-checked usage-walk is now executed by the compiler, not re-implemented ad hoc:
crates/my-qttis a faithful Rust port of the Coq R5/R5b algorithm (checked against that algorithm’s ownreflexivityexamples), andcrates/my-lang/src/qtt_bridge.rslowers the running compiler’s realast::Expronto it. The proofs and the implementation are no longer disconnected universes. -
Provenance is honoured. MPL-2.0 throughout; SPDX headers on files; sole -maintainer governance (
GOVERNANCE.adoc); RSR-consumer status; no postulates, no--safeweakening, no escape pragmas in the trusted base.
-
Coq:
.github/workflows/proofs.ymlcompiles the solo-core and asserts the headline theorems are axiom-free on every PR touchingproofs/verification/**. -
Idris2:
idris2 --build solo-core.ipkgexits 0 under%default total, no postulates /believe_me/assert_total; the solo core is HOLE-FREE (preservation,affinePreservation,htSubst,substLemma0,subst2Lemma,uaddAssocall:total). -
Rust:
cargo test -p my-qttandcargo test -p my-lang qtt_bridgegreen;my-qttcarries the R5/R5b oracle tests.
The normative must (a mechanised-sound core, coupled into the compiler) is
met on both proof tracks. What remains is intends and wishes
(docs/STATUS.adoc), affirmed as NOT done: making the QTT axis the default
in checker.rs; surface quantity syntax for real per-binder linearity; the
wasm32 and RISC-V backend legs; the typed-wasm WasmGC verified leg
(blocked on typed-wasm / AffineScript / Ephapax being added to the session);
and Android / iOS via Tauri / Dioxus. The non-Solo dialect compilers (Duet /
Ensemble) are scaffold only.
I affirm the above as a true account of this repository’s verified standing at the timestamp recorded, and I stand behind its honesty discipline: nothing herein is described as proved that a proof assistant does not accept today.
Affirmed by |
Jonathan D.A. Jewell (@hyperpolymath) <j.d.a.jewell@open.ac.uk> |
Repository |
hyperpolymath/my-lang |
Timestamp (UTC) |
2026-06-21T02:22:08Z |
Verified basis |
|
Authority |
|