The fourth of the paused branches: Ledger::write_off and the bad_debts control role, invoice.written_off with its evidence filed in the same store call, books.write_off_invoice, the write-off on the timeline and in Needs attention, Lean writeOff_within_bounds, rules.md B-41 and the bookspec examples. Twenty-eight files conflicted with the S4.4, S5 and S6 merges; resolved as plan 8.0.2 says, keeping both sides' appends with their seams restored, and: the scope table at 125; S7's law numbered 37; B-41 placed before B-42; the handbook's step 4 and recovery procedures folded into the one invoices-and-bills section; S7's wire tests in their own module with the confirm S4.4's contract needs; S7's copy of the payment steps dropped (S6 replaced them with Ledger::settle) and its write-off journaled through S6's journal_auto_lines; in the old-books fixture S7's hand-written write-off moved to a second invoice, since S6's hand-written payment settles invoice 1 in full. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HS8WZziDnyxunC23MUxrLp
104 lines
3.7 KiB
Lean4
104 lines
3.7 KiB
Lean4
import Wanderbooks
|
|
|
|
/-! `just prove` runs this file: each headline theorem's axioms are printed,
|
|
and must be only Lean's standard three (`propext`, `Quot.sound`,
|
|
`Classical.choice`) or fewer. No `sorryAx`, nothing assumed. -/
|
|
|
|
open Wanderbooks
|
|
|
|
#print axioms Accepted.net_zero
|
|
#print axioms sum_movements
|
|
#print axioms movement_with_reversal
|
|
#print axioms accepted_reversal_iff
|
|
#print axioms accounting_equation
|
|
#print axioms balance_after_line
|
|
#print axioms trial_balance_iff
|
|
#print axioms closingEntry_net
|
|
#print axioms closingEntry_zeroes
|
|
#print axioms closingEntry_accepted
|
|
#print axioms net_closings_is_net_income
|
|
#print axioms plugLast_total
|
|
#print axioms plugLast_keeps
|
|
#print axioms runPart_telescopes
|
|
#print axioms closePart_total
|
|
#print axioms trueUp_total
|
|
#print axioms trueUp_running
|
|
#print axioms closePart_eq_trueUp
|
|
#print axioms cumulative_drift
|
|
#print axioms statement_after_close
|
|
#print axioms statement_unmoved_by_close
|
|
#print axioms Reachable.inv
|
|
#print axioms Reachable.books_net_zero
|
|
#print axioms Reachable.trial_balance
|
|
#print axioms Reachable.trial_balance_through
|
|
#print axioms Reachable.accounting_equation
|
|
#print axioms Reachable.accounting_equation_through
|
|
#print axioms Steps.extends
|
|
#print axioms Steps.frozen
|
|
#print axioms close_zeroes
|
|
#print axioms close_credits_net_income
|
|
#print axioms statements_add_up
|
|
#print axioms Apportion.ranks_perm
|
|
#print axioms Apportion.apportion_sum
|
|
#print axioms Apportion.apportion_sum_of_shortfall
|
|
#print axioms Apportion.rem_pos_of_rank_lt
|
|
#print axioms Apportion.apportion_drift
|
|
#print axioms Apportion.allocW_sum
|
|
#print axioms Apportion.allocW_drift
|
|
#print axioms Apportion.allocW_cumulative_drift
|
|
#print axioms Apportion.allocW_cumulative_total
|
|
#print axioms Step.record_changes_no_figure
|
|
#print axioms Reachable.records
|
|
#print axioms net_splits_by_flow
|
|
#print axioms applyCash_conserves
|
|
#print axioms applyCash_exhausts
|
|
#print axioms applyCash_neg
|
|
#print axioms entry_flows_sum
|
|
#print axioms flows_reversal
|
|
#print axioms constructive_nets
|
|
#print axioms constructive_neg
|
|
#print axioms constructive_sections_net
|
|
#print axioms stmt_flows_sum
|
|
#print axioms stmt_flows_reversal
|
|
#print axioms cashflow_sections_sum_to_cash_change
|
|
#print axioms secNet_cash_is_movement
|
|
#print axioms operating_reconciliation_ties
|
|
#print axioms operating_reconciliation_ties_all
|
|
#print axioms cashflow_reversal_nets
|
|
#print axioms Reachable.cashflow_foots
|
|
#print axioms Reachable.cashflow_is_change_in_cash
|
|
#print axioms reverseTarget_involutive
|
|
#print axioms capitalTarget_odd
|
|
#print axioms partyTarget_odd
|
|
#print axioms sumOver_movement_reversal
|
|
#print axioms Prorate.cum_mono
|
|
#print axioms Prorate.cum_le
|
|
#print axioms Prorate.cum_full
|
|
#print axioms Prorate.parts_telescope
|
|
#print axioms Prorate.prorate_total
|
|
#print axioms Prorate.prorate_nonneg
|
|
#print axioms Prorate.part_within_a_unit
|
|
#print axioms Prorate.roundUnit_near
|
|
#print axioms Prorate.roundUnit_scale
|
|
#print axioms Prorate.cum_near
|
|
#print axioms Prorate.cum_dvd
|
|
#print axioms Prorate.part_near
|
|
#print axioms Prorate.chargeMid_eq_cum
|
|
#print axioms Prorate.chargeLast_eq_cum
|
|
#print axioms Prorate.chargeLast_start
|
|
#print axioms Prorate.chargeLast_mono
|
|
#print axioms Prorate.kernel_parts_total
|
|
#print axioms Prorate.kernel_parts_nonneg
|
|
#print axioms Documents.control_agrees
|
|
#print axioms Documents.control_agrees_through
|
|
#print axioms Documents.Step.document_unattached
|
|
#print axioms Documents.settle_posts_a_document_step
|
|
#print axioms Documents.settle_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
|
|
#print axioms Documents.Step.writeOff_unattached
|
|
#print axioms Documents.writeOff_within_bounds
|