verify(lean): Step.markSent, a send moves no figure (P4b S5)

AGENTS.md's formal-methods bar makes every new Ledger command a Lean
Step with a preservation proof, so `Ledger::mark_sent` gets one even
though the unit expected no Lean change (the As-built block records
that). `Documents.lean`'s `Books` gains the sends recorded, and
`Step.markSent` adds one on a document the lines carry. A send touches
no line, so every control balance, every document's sum and what is
unattached are unchanged through any day
(`Step.markSent_changes_no_figure`, no axioms), and `Reachable.tagged`
covers the new step.

`Audit.lean` lists the theorem; rules.md B-38's model now covers the
record side of a document's life as well as its figures.
This commit is contained in:
swaits committed 2026-10-27 13:24:10 -06:00
1 parent 75d8c23d9b
commit 47c0e4396e
3 files changed
+60 -3

No files matched your search

+1
View File
@@ -94,5 +94,6 @@ open Wanderbooks
#print axioms Documents.Step.document_unattached
#print axioms Documents.Step.reverse_moves
#print axioms Documents.reverse_twice
#print axioms Documents.Step.markSent_changes_no_figure
#print axioms Documents.Reachable.unattached_zero
#print axioms Documents.Reachable.control_is_documents