Page actions
instrument mechanism / verified-clean
Perpetuity Value mechanism
The inspectable method record for Perpetuity Value, kept separate from implementation and qualification.
Model scope
The existing honest label correctly warns that the growing model breaks when g≥r, but it should also disclose the PMT timing convention, the end-of-period assumption for level payments, and the requirement that rate and growth use matching periodic decimal units.
- The level perpetuity formula PV=PMT/r is standard only for equal payments made at the end of each period, with PMT representing each periodic payment and r>0.
- The growing perpetuity formula PV=PMT/(r-g) is standard when PMT is the first payment one period from valuation (PMT1). If PMT is the current payment (PMT0), the formula must be PV=PMT*(1+g)/(r-g). The spec does not define which meaning applies.
- Both rate and growth inputs must use the same compounding period and consistent units.
Units and conventions
- PMT is a cash payment per period, expressed in currency units.
- rate and g are decimal periodic rates, so 5% is entered as 0.05, not 5.
- For these test vectors, level payments occur at the end of each period and growing PMT is the first payment one period from valuation.
- The rate and growth rate are nominally comparable only when they use the same period and compounding convention.
Inspectable vector
One of 4 source-bound review vectors:
{
"inputs": {
"mode": "level",
"PMT": 1000,
"rate": 0.05
},
"expected_outputs": {
"PV": 20000
},
"working": "PV=PMT/r=1000/0.05=1000/(5/100)=1000*20=20000."
}Failure boundary
BREAK_CLAIMED · SELF_FLAGGED
The instrument has an undefined-result failure when g equals r: the growing-perpetuity denominator r-g becomes zero. It also must reject the broader invalid region g > r, where the infinite stream does not converge. Ambiguous rate units and cash-flow signs can produce materially different outputs if conventions are not specified.
Other records
Sources and evidence
These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.
VERIFIED_LEDGER.jsonevidence-tranche2/tranche2-results.jsonBOUNDARY_HAZARD_CATALOG.json