Source: https://guthlabs.ai/docs/instruments/perpetuity-value/mechanism/

instrument mechanism / verified-clean

# Perpetuity Value mechanism

The inspectable method record for Perpetuity Value, kept separate from implementation and qualification.

Status: **VERIFIED_CLEAN**Lifecycle: **verified-clean**

## 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

[01**Overview**](<https://guthlabs.ai/docs/instruments/perpetuity-value/>)[03**Implementation**](<https://guthlabs.ai/docs/instruments/perpetuity-value/implementation/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/perpetuity-value/qualification/>)

## Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

- `VERIFIED_LEDGER.json`

- `evidence-tranche2/tranche2-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
