lean

Changelog

Release history for the Lean Proofs stack. Zenodo versions, where present, live under concept DOI 10.5281/zenodo.20369489. Git tags, GitHub releases, and Zenodo deposits are separate operator-controlled receipts and must be verified independently; a GitHub release does not by itself prove that the corresponding Zenodo version exists. As checked 2026-07-20, the v11–v14 portion of the public series contains v11, v13, and v14 but no v12 version record.

16.0.0 — Governed Transition Boundaries (2026-07-28)

Adds one public-evidence surface answering, for selected targets and selected source views, whether a single total decoder recovers the target from the view, correctly for every source.

V16 establishes no new generic factorization theorem, general authorization theory, temporal validity, general amalgamation, causal attribution, attestation correctness, universal transition-relative semantics, canonical global carrier, target-independent least representation, cross-surface composition, or runtime conformance. The v16.0.0 tag, GitHub release, and Zenodo deposit are built on this tree; the version DOI is recorded from Zenodo after the release creation mints it.

15.0.0 — Cross-Calculus Atlas (2026-07-24)

This formal-methods release studies governed computation across three independent semantic domains. It records receipt-indexed correspondence without a shared bridge algebra: the exact public Continuity Admission rename, StaticRole through R3, and checked mappings for selected Governed Transport, Execution Custody, and Continuity Admission edges in the final PJ Atlas surface.

V15 establishes no shared bridge algebra, generic frontier composition, generic ownership, generic context transport, universal calculus, runtime conformance, JCP implementation, or operational AG/NQ realization. The v15.0.0 tag, GitHub release, and Zenodo deposit are built on this tree; the version DOI is recorded from Zenodo after the release creation mints it.

14.0.0 — Governed Admissibility Calculus (2026-07-18)

Assembles the capital-C Admissibility Calculus in seven separately reviewed rungs, each extracted from the sibling research tree with source-equality receipts.

Frozen inventory: docs/V14-RELEASE-LEDGER.md; per-rung receipts: docs/V14-READINESS-LEDGER.md; claims: CLAIM-REGISTER.md #19–#25.

13.0.0 — Repository Custody Migration (2026-07-17)

No new mathematical campaign. This custody-only compatibility release corrects module paths, terminal roles, exact roots/targets, and whole-tree enforcement after a 271-file audit showed that ANNEX, Scratch, and candidate labels no longer described the repository honestly.

Release inventory, compatibility decisions, and verification receipts: docs/V13-RELEASE-LEDGER.md.

12.0.0 — Judgment Orientation (2026-07-16)

Raw custody is a sequence; effective exact-origin contribution is its finite-support join-semilattice projection.

Release inventory and verification boundary: docs/V12-RELEASE-LEDGER.md.

11.0.0 — Occurrence-Exact Paid Recomposition (2026-07-15)

Exact occurrence payment and exact-attempt catalog custody, without replacing the evidence that was actually checked.

Ordered payments admit proof-relevant, occurrence-indexed checking with exact computed residue. Under exact attempt-level catalog completeness, paid global plans and paid catalog plans are equivalent without replacing native receipts, expected-payment evidence, payment traces, or residue. Endpoint-only completeness is insufficient.

Claim scopes. One native checker equation accepts one submitted attempt. ¬ Nonempty (PaidCatalogPlan ...) rejects realization only in the named catalog. Global nonexistence follows only when an ExactPaidCatalogComplete premise is supplied.

Non-claims. No new cut connective or proof calculus; no Hall, matching, 3DM, CSP, or complexity novelty; no general plan synthesis; occurrence indices are context-relative positions, not persistent serials; ResourceCheckerExec.checkTrace = none means only rejection of that submitted trace; no refusal transition, refusal debt-preservation, dynamic authority, resource creation, or temporal debt. The singleton corpus application supplies no nontrivial injectivity or matching evidence: injectiveOn is inherited plan plumbing. PC-1 and PC-2 remain closed. Stateful bounded realization/refusal is the next frontier and is not part of v11.

Release inventory and verification boundary: docs/V11-READINESS-LEDGER.md.

10.0.0 — View Semantics and Bounded Projection (2026-07-14)

Distinguishability as a first-class axis: view refinement changes what is distinguishable without minting transition authority.

10.0.0 lands the view-semantics campaign: a canonical distinguishability core over finite view systems, an exact characterization of deterministic bounded projection, a sound-and-complete finite checker with typed certificates, and a custody adapter proving that greater visibility constructs no authority. The bounded release claim, gate receipts, and verification envelope are in docs/V10-READINESS-LEDGER.md.

Non-claims. No information-flow, noninterference, probabilistic-leakage, side-channel, runtime-compliance, or transition-authority claim is made. All ViewSemantics material is UNRATIFIED-CANDIDATE and unwired: the release archives the tree; it is not a custody promotion, and no runtime’s compliance is testified to until a runtime artifact cites named theorems. Inventory: docs/V10-READINESS-LEDGER.md.

9.0.0 — Dynamic Traces and Profile Semantics (2026-07-09)

Dynamic execution over static witnesses, and checker-facing profile semantics.

9.0.0 opens the dynamic-claims campaign: state-threaded traces in which every hop carries the exact static AuthorizedStep witness it consumes — no global Admissible judgment, no free composition — plus a minimal profile-checker semantics specimen for the RRP admissibility-gate prototype (its first named runtime correspondence target).

Non-claims: not a unified dynamic calculus and not process semantics or runtime authority (per-hop static witnesses are the whole point); ANNEX modules remain outside the 1.0 compatibility claim; the ten specimen-law candidates (RRP profile, Standing, WLP, bridge, actor trace, boundary pressure, scoped certification, spendability, custody freshness, temporal basis) are candidate formal laws for their runtime seams — they do not testify for RRP or any runtime’s compliance by themselves. Citation/adoption identifies the intended contract. A conformance claim requires an explicit scope and exact correspondence map, executable preservation and transport evidence, and revision-bound qualification receipts. A formal refinement proof may strengthen covered obligations but does not waive those artifacts. Lean custody is independently reviewed; none of these reviews is permission to begin formalization. No JSON/digest/transport/PKI is modeled anywhere in them. Inventory: docs/V9-RELEASE-LEDGER.md.

8.0.0 — Sequent Admissibility Island (2026-07-06)

A Mathlib-free proof-theory specimen/library release.

8.0.0 lands a kernel-checked single-succedent intuitionistic sequent calculus over {atom, ⊥, ∧, ∨, →} in which no structural rule is primitive and all four — weakening, contraction, exchange, cut — are admissible, together with a multiplicity-faithful textbook presentation proved derivability-equivalent to it. The modules live under LeanProofs/ProofTheory/ (custody class UNRATIFIED-CANDIDATE; own Mathlib-free ProofTheory lean_lib, build-graph enforced).

Non-claims: not a governance kernel or doctrine unifier (“admissible” is literal Gentzen admissibility, the referent the vocabulary borrows; no Tier/Verdict/cap coupling, no typeclass, no unifier; build coverage is not promotion); not Mathlib Multiset-typed; not height-preserving cut; no proof search; no semantics/completeness; no runtime enforcement. Inventory: docs/V8-RELEASE-LEDGER.md.

7.0.0 — Artifact Authority Profiles (2026-07-02)

A Lean proof release for custody-aware authority semantics.

7.0.0 proves the profile discipline: profiles are local, crossings are paid, receipts are not fungible across obligations, and coverage cannot be minted. Local profiles do not compose for free — holding two profiles’ local material is not holding their cross-profile authority (profile_does_not_compose_for_free); conversion requires a declared paid bridge receipt, with which the crossing composes (cross_profile_conversion_requires_bridge). Stage ascent pays each rung: a stage-n profile does not authorize stage n+1 (profile_stage_noncollapse), and any ascent holds every intermediate rung receipt in custody at any derivation depth (ascent_pays_every_rung). The generic evidence-jurisdiction screen (JurisdictionRespecting, minted on a two-instance family repeat, per-vocabulary and local) makes receipt species non-fungible: the prior local walls are recovered as exact instances (two iffs), receipt cross-use is caught, and the once-escaped relation-promotion attack is caught (relation_promotion_fails_jurisdiction_screen). Coverage cannot be minted: derived evidence funds no obligation its origin could not fund (derived_evidence_covers_no_more), and in single-scoped frames covering k distinct obligations costs k distinct held receipts (coverage_costs_receipts, with an exact-price witness). Coverage through custody is legitimate when paid — the theorem is no bulk discount, not suspicion of broad custody. Non-claims: no shared custody language (no “Constellation Custody Protocol”); no master profile or universal schema (the master screen’s own false positive is demonstrated in-release); no WLP semantics (envelope-only, untouched); no runtime/JSON/AG integration; no profile registry; no issuer-level provenance-correlated portfolio accounting (the named v7.x remainder); no graded “too much coverage” policy screen. Screening, not enforcement. All modules Custody-Class: SCRATCH, CI-covered; footprints ≤ [propext, Quot.sound], no Classical.choice. Release inventory: docs/V7-RELEASE-LEDGER.md.

6.0.0 — Finite Custody Checking (2026-07-02)

A Lean proof release for custody-aware authority semantics.

6.0.0 makes the v5 payment discipline finitely checkable. A Lean-native checker takes a liberal derivation tree and a finite context and returns a typed result — ok with a positional occurrence trace, or a typed refusal naming an offender (CheckResult; no bare Bool on the final surface). The checker is sound (check_ok_sound/checkCtx_ok_sound: ok implies a valid linear derivation over the given context, with read-spine, position-distinct, context-provenant trace) and complete (check_complete) — a decision procedure, not a semi-decision — and its verdict is decided by finitely many count comparisons over the read spine (firstDeficient_decides_check), closing the executable finite-support boundary v5 explicitly left unclaimed. Refusals are never mislabels: the offender’s total demand genuinely exceeds supply (check_refusal_excess), and the offender is genuinely demanded. Beneath the checker, traced and untraced normalization provably agree — same verdicts, the same offender on refusal, residuals equal up to label projection (tracing_preserves_verdicts, linearizeT_ok_projects, linearizeT_forgery_projects): tracing is testimony about payment, never a change to who gets paid. The canonical tagging bridge (untraced_runs_trace_canonically) lifts any plain-context run to a traced run at zero semantic cost. The resident C2 screen layer (DecidableScreens) is claimed into this release surface: executable Bool screens with soundness iffs against the v4 Prop screens — screening as computation, soundness as theorem. Non-claims: not a CLI, not a runtime checker, not Bridge Foundry, not an artifact profiler; not a derivability decision procedure (checks a given tree; no proof search); not a checker for arbitrary future structural systems; not a master admissibility layer; offender identity across the two refusal reporters not claimed. All modules Custody-Class: SCRATCH, CI-covered; footprints ≤ [propext, Quot.sound], no Classical.choice. Release inventory: docs/V6-RELEASE-LEDGER.md.

5.0.0 — Custody-Preserving Normalization (2026-07-01)

A Lean proof release for custody-aware authority semantics.

5.0.0 delivers the normalization layer for the v4 sequent skeleton, with the custody inversion as its thesis: classical normalization removes detours and preserves derivability; custody-preserving normalization removes only policy-licensed detours and refuses when removal would erase payment. A liberal structural derivation normalizes into the custody discipline iff its reads can be paid by occurrences — per-label occurrence counting decides normalization exactly (linearize_ok_iff_counts_suffice); refusal is a typed forgery whose named offender is itself a genuine excess-demand witness (forgery_offender_is_excess). Successful normalization conserves occurrences for every measure (linearize_ok_conserves), preserves the custody chain (chainOf_linearize), and carries a positional occurrence trace proving who paid: each read funded by a distinct original-context occurrence, no occurrence paying twice, nothing paying that was not there (OccurrenceTrace). The same liberal syntax, priced by two disciplines, gets two verdicts: Cartesian derives, linear refuses (cartesian_statable_but_linearly_refused). The starting point is made honest by the already-normal theorem (all_derivs_read_rooted): under the v4 discipline there are no cut redexes — the detours v5 prices are structural (weakening/contraction/exchange), entering as explicit nodes (StructuralNormalization). Non-claims: not full Gentzen cut elimination; not a full structural-rule algebra (node-form linear rules are named follow-up); not runtime; traced-twin coherence and the executable finite-support checker are v6 lane. All modules Custody-Class: SCRATCH, CI-covered, ≤ [propext, Quot.sound], per-slice adversarial audits; see docs/V5-RELEASE-LEDGER.md.

4.0.0 — Custody-Indexed Sequents (2026-07-01)

A Lean proof release for custody-aware authority semantics.

4.0.0 introduces a parameterized indexed-sequent skeleton: the proof discipline for crossing the v3 lifecycle calculi without silently erasing custody. Generalizes the post-v3 sequent ladder (S0–S4) into a proof theory where: structural read discipline is explicit (contraction priced across Cartesian and linear context instances — one rule, one assumption, derivable under one policy and refused under the other); bridge composition preserves provenance (composition_cannot_erase_bridge_evidence); index connectivity does not imply derivability (bridges connect judgments, not indices); route provenance matters (diamond instance; unfunded routes stay closed); master shapes are screened on both faces (MasterFree for universal indices, EvidenceCurrencyFree for universal evidence stamps, each with a detection pair and named screening limits); and derived evidence cannot become universal bridge currency (funding never widens along derivation; universality is inherited, never minted). The capstone, eentail_iff_read_rooted (zero-axiom): derivability with derived evidence is EQUIVALENT to read-rooted normal form — every cross-index derivation roots in read evidence whose original scope funded it.

Custody: the campaign modules (BridgeSequent, ExecutionSequent, ExecutionObligationSequent, BridgeCompositionSequent, CustodyIndexedSequent, StructuralPolicySequent, EvidenceCalculusSequent) remain Custody-Class: SCRATCH — fenced sequent discipline, not promoted kernel authority — and are CI-covered as their own build target (CustodyIndexedSequents; build coverage ≠ promotion). LeanProofs.lean unchanged. No master Admissible; no default bridge transitivity; no runtime claim; structural coverage is read discipline, NOT the full structural-rule algebra; full Gentzen cut elimination is not claimed — the explicit follow-up is v5: Custody-Preserving Normalization.

Inventory with audited theorem receipts: docs/V4-RELEASE-LEDGER.md. Campaign trail: docs/CHANGELOG-scratch-campaign.md.

v3 proved the family. v4 proves the family can be crossed without silently erasing custody.

3.0.0 — Bounded Lifecycle Calculi (2026-07-01)

A Lean proof release for custody-aware authority semantics.

3.0.0 completes the bounded lifecycle-calculi family: the six existing ANNEX bounded calculi (TemporalCustody, SurfaceProjection, RefusalDenial, BoundaryArtifact, ObligationResidue, SafetyPreservation) are joined by three promoted family members — ExecutionCustody (stage separation: ticket accepted / commit attempted / executed / safe / discharged do not collapse), BootKernel (genesis: witnessed settlement, anti-skip wall, no signed-root shortcut, accumulation-is-not-escalation), and CheckpointSettlement (occurrence-linear compaction: mints nothing, conserves live multiplicity, discharges no unknown commit, upgrades no observation to safety) — plus MeasureAccounting (generic conservation engine, support module).

Promotion custody: Scratch → BoundedCalculi/ ANNEX release surface by operator decision 2026-07-01. No promoted kernel/import boundary changed: LeanProofs.lean imports neither BoundedCalculi nor Scratch; the aggregate BoundedCalculi.lean remains a compile marker (checkability/coexistence only — not coherence, not composition, not global admissibility). There is no master Admissible judgment and no default bridge transitivity.

Deferred, named-not-claimed: custody-indexed sequents (v3.x campaign; Sequents 0–3 exist as fenced scratch under LeanProofs/Scratch/ — indexed bridge cut, zero-axiom syntactic no-free-cross-cut, execution-ticket linear sequent, obligation/receipt books; Sequent 4, bridge composition, unbuilt by design) and the longer-horizon custody-indexed Gentzen system (v4, if earned).

Gate record: full build green; audit-axioms / audit-native-decide / check-mathlib-pin / check-witnessed-footprint all exit 0; no sorry/admit; footprints ≤ [propext, Quot.sound], re-attested post-move. Inventory: docs/V3-RELEASE-LEDGER.md. Campaign trail: docs/CHANGELOG-scratch-campaign.md.

v3 proves the family. v3.x starts proving the crossings.

2.0.0 — WDC: model-independent normalization and audit fence (2026-06-29)

2.0.0 promotes Witnessed Derivation Calculus normalization from a freshness-model theorem to a model-independent admitting-class theorem, and hardens the repo’s custody fence.

On the version. This major bump marks the reserved WDC structural milestone — 1.4.0 deliberately spent a minor “to leave the integer 2.0 owed” for exactly this proof-theoretic strengthening (criterion #1 in docs/WITNESSED-FRONTIER-REGISTER.md), which has now landed. The public surface is additive / non-breaking: existing 1.x imports are intended to remain unaffected — bridge_path_normal_form keeps its name, signature, and [propext] footprint. The integer marks the milestone, not an API break.

WDC 2.0 — the structural theorem

Audit fence (see docs/AUDIT-POLICY.md)

The repository is not axiom-free; it is axiom-classified. WDC promoted receipts remain footprint-attested.

TaxonomyGraph

Boundary / Admissibility

Boundary-related reachability work in this release is supporting infrastructure, not the reason for the 2.0 integer. It claims no Boundary composition calculus, no trichotomy, and no exhaustiveness theorem; RefusedByClosedLane ⇒ ¬Composable is proved in one direction only. A Boundary milestone, if earned later, gets its own name.

Experimental / scratch (not part of the promoted surface)

Compatibility

Major version marks the reserved WDC structural milestone. Existing 1.x public imports are intended to remain unaffected; the theorem surface is additive/non-breaking.

1.4.0 — Witnessed Derivation Calculus (2026-06-27)

1.4.0 promotes the ratified Witnessed Derivation Calculus into the canonical public surface as the Mathlib-free LeanProofs.Witnessed.* library — no longer only under experiments/. Supersedes v1.3.0-rc1. The stable 1.x Admissibility Kernels surface is untouched.

On the version. The project’s planning docs frame this as “the 2.0 boundary” (V2.0-EXIT-CRITERIA.md), and it ships as 1.4.0 on purpose. Semver is a consumer contract: this release is purely additive — nothing in the 1.x surface breaks — so it is a minor bump, not a major one. The milestone (a second ratified formal object lands in the public surface) gets its volume here and in the release title, not in the integer. A future 2.0 is reserved for a structural strengthening of the calculus — see the “What Would Make This 2.0” gate in docs/WITNESSED-FRONTIER-REGISTER.md.

v1.3.0-rc1 — Witnessed Derivation Calculus (candidate, 2026-06-17)

A candidate experiment surface (experiments/no_free_lift_wiring/Successor/, EXPERIMENTAL-WIRING, NOT in defaultTargets). Public 1.0/1.2 surface untouched. The canonical-surface promotion later shipped in 1.4.0 (above). After the original composition_classification gate was retired (see the entry below), a successor was developed and earned a narrow technical name. Claims + exact theorem receipts: experiments/no_free_lift_wiring/RATIFICATION-v1.3.md.

Earned (compiled, axiom footprints ≤ [propext, Quot.sound], no sorry)

Does not change / does not claim

v1.3.0-rc1 — composition gate prosecuted and retired (2026-06-17)

A status correction, not new public mathematics. The composition_classification promotion gate named in v1.2.0 was attempted and adversarially reviewed (non-Claude, source-grounded, over the quarry copy); the result is a retirement of that target, not progress toward it.

Findings (no public-surface change)

Does not change

v1.2.0 — No Free Lift candidate annexes (2026-06-16)

A semantic / governance release, not new public mathematics. It adds fenced candidate and experimental material — shipped with its naming boundaries already corrected — and records a version boundary: the No-Free-Lift work establishes a formal theory of attestation boundaries, not yet a calculus.

Adds

Changes (experimental wiring de-placarded before release; no proof changed)

Does not change

Status