Skip to content

Idris htSubst structure (b-erasure solved, 10/15) + AFFIRMATION & status docs#118

Merged
hyperpolymath merged 2 commits into
mainfrom
claude/dreamy-hypatia-O8XHo
Jun 19, 2026
Merged

Idris htSubst structure (b-erasure solved, 10/15) + AFFIRMATION & status docs#118
hyperpolymath merged 2 commits into
mainfrom
claude/dreamy-hypatia-O8XHo

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Summary

Advances the Idris preservation track (#108) and adds programme-status docs.

Proof: htSubst structure + the b-erasure breakthrough

The b-erasure blocker that stalled htSubst across prior attempts is solved. The result type b is a genuine type index, so hvSubst and htSubst now both carry it as an erased implicit ({0 b} / auto-bound) — which makes the Var-case cross-call erasure-consistent (an unrestricted b gives "not accessible"). Plus the Let-clause quantity clash fixed (_ for THLet's q).

htSubst (the QTT substitution lemma, mirrors Coq ht_subst) lands structurally, %default total, build green 8/8:

  • 10/15 cases proved: Var, Unit, Lam, With, Fst, Snd, Inl, Inr, MkEcho, Weaken
  • 5 usage-splitting holes: ?htSubst_app, ?htSubst_tensor, ?htSubst_letpair, ?htSubst_case, ?htSubst_let — each consumes the already-landed usplit3/uaddSplitBoundary2/substReassocAdd/substReassocMult. Then substLemma0/subst2Lemmapreservation closes ?todo_preservation.

Docs

  • AFFIRMATION.adoc (root, timestamped 2026-06-19T21:35:54Z) — dated affirmation of my-lang's verified standing, following the hyperpolymath standards/RSR convention in spirit (the standards repo was not in session scope; flagged in-file to refine against the canonical template).
  • docs/STATUS.adoc — the Must / Intend / Wish programme tables (normative must = my-lang itself), aligned to the contractile vocabulary.
  • docs/handoff/NEXT-SESSION.md — ready-to-paste prompt to close Idris preservation.

Test plan

  • idris2 --build solo-core.ipkg exits 0 (8/8), only ?todo_preservation + the 5 htSubst split holes open
  • no postulates / no %default total violation
  • Coq + Rust tracks unchanged

Refs #108, proofs/STATUS.md

🤖 Generated with Claude Code


Generated by Claude Code

claude added 2 commits June 19, 2026 22:29
…#108 preservation)

The b-erasure blocker (ADR-003) is solved: the result type b is a genuine type
index, so hvSubst and htSubst now both carry it as an ERASED implicit ({0 b} /
auto-bound). This keeps the Var case's hvSubst call erasure-consistent (the
earlier 'not accessible' came from passing an erased b to an unrestricted one).

htSubst (the QTT substitution lemma, mirrors Coq ht_subst) lands structurally,
all under %default total, build green 8/8:
  - 10/15 cases PROVED: Var (via hvSubst), Unit, Lam, With, Fst, Snd, Inl, Inr,
    MkEcho, Weaken
  - 5 usage-splitting cases as typed holes: App, Tensor, LetPair, Case, Let
    (each consumes usplit3/uaddSplitBoundary2 + substReassocAdd/Mult; next)

Notes for the split cases: Let's clause matches THLet's quantity with _ (the
term's q' forces it; two named patterns clash otherwise). Then substLemma0 /
subst2Lemma / preservation close the #108 tail.

Only ?todo_preservation + the 5 htSubst split holes remain.
…f prompt

- AFFIRMATION.adoc (root, timestamped 2026-06-19): dated affirmation of my-lang's
  verified standing, following the hyperpolymath standards/RSR convention in
  spirit (the standards repo was not in session scope). Affirms the mechanised
  axiom-free core + the proofs->compiler coupling, and the honest open boundary
  (Idris preservation #108 not done).
- docs/STATUS.adoc: the Must/Intend/Wish programme tables (normative must =
  my-lang itself), aligned to the contractile vocabulary.
- docs/handoff/NEXT-SESSION.md: ready-to-paste prompt for the next Claude to
  close Idris preservation (the 5 htSubst split holes -> substLemma0/subst2Lemma
  -> preservation), with the b-erasure solution and Coq blueprint line refs.
@hyperpolymath
hyperpolymath marked this pull request as ready for review June 19, 2026 22:39
@hyperpolymath
hyperpolymath merged commit 8d32863 into main Jun 19, 2026
13 checks passed
@hyperpolymath
hyperpolymath deleted the claude/dreamy-hypatia-O8XHo branch June 19, 2026 22:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants