You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
PROOF-NEEDS §P1.3 — reframed for current Schema = List Field design
(no RegionSchema record with schemaId : Nat). Adds structural
injectivity + SchemaEq equivalence laws + lookupField correctness:
fieldNameInj : MkField n1 t1 = MkField n2 t2 -> n1 = n2
fieldTypeInj : MkField n1 t1 = MkField n2 t2 -> t1 = t2
fieldInj : combined form
schemaEqSym : SchemaEq s1 s2 -> SchemaEq s2 s1
schemaEqTrans : SchemaEq s1 s2 -> SchemaEq s2 s3 -> SchemaEq s1 s3
lookupFieldName : (prf : FieldIn name schema)
-> fieldName (lookupField prf) = name
`schemaEqSym` + `schemaEqTrans` join the pre-existing `schemaEqRefl`
to make `SchemaEq` a full equivalence relation. `lookupFieldName`
closes the L2 soundness gap — the extracted field really answers to
the looked-up name.
PROOF-NEEDS §P3.2 — reframed for current ProofCertificate design
(no `LevelAchieved` predicate yet). Adds the concrete
`LevelAchievedIn` predicate + composition monotonicity theorems:
data LevelAchievedIn : Nat -> List LevelAttestation -> Type where
LAHere : LevelAchievedIn n (MkAttestation n Proven :: rest)
LAThere : LevelAchievedIn n rest -> LevelAchievedIn n (att :: rest)
achievedAppendL : LevelAchievedIn n xs -> LevelAchievedIn n (xs ++ ys)
achievedAppendR : LevelAchievedIn n ys -> LevelAchievedIn n (xs ++ ys)
LevelAchieved : Nat -> ProofCertificate -> Type -- lifted form
composeAchievedL : LevelAchieved n c1
-> LevelAchieved n (composeCertificates c1 c2)
composeAchievedR : LevelAchieved n c2
-> LevelAchieved n (composeCertificates c1 c2)
Composing certificates preserves any level achieved in either
component — the structural monotonicity that applies at the
current design.
Zero believe_me / assert_total / postulate / sorry; %default total
preserved; panic-attack clean on both Region.idr and Proofs.idr.
PROOF-NEEDS.md §P1.3 + §P3.2 marked DONE with the reframing
rationale; LEVEL-STATUS.md rows for Region.idr + Proofs.idr
updated with the new theorem inventory.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
| Proofs.idr | 0 | 0 | 0 | In package. Attestation API hardened A7 (2026-04-18): every L1-L10 attestation now requires a witness from its level module (Schema / FieldIn / WasmTypeCompat / Ptr-NonNull / InBounds / AccessResult / ExclusiveWitness / EffectSubsumes / Lifetime.Outlives / CompletedProtocol). `simpleReadCert` / `fullCert12` / `fullCert15` thread witnesses per level; the certificate cannot be constructed without real proof artefacts. |
99
+
| Proofs.idr | 0 | 0 | 0 | In package. Attestation API hardened A7 (2026-04-18): every L1-L10 attestation now requires a witness from its level module (Schema / FieldIn / WasmTypeCompat / Ptr-NonNull / InBounds / AccessResult / ExclusiveWitness / EffectSubsumes / Lifetime.Outlives / CompletedProtocol). `simpleReadCert` / `fullCert12` / `fullCert15` thread witnesses per level; the certificate cannot be constructed without real proof artefacts. Level-achievement layer added A8 (2026-04-18): `LevelAchievedIn` predicate, `achievedAppendL` / `achievedAppendR` list-append preservation, `LevelAchieved n cert` lifted to certificates, `composeAchievedL` / `composeAchievedR` proving any level achieved in either component of `composeCertificates` is still achieved in the composition. |
0 commit comments