Experimental effect contracts for emitter machines #
TM.Experimental.EmitSpec packages the common endpoint effect of a machine
that preserves a parked input tape, tracks exact before/after work-tape
families, and updates an output accumulator. Its sequencing rule owns the
parked phase-boundary proof required by TM.seqTM_hoareTime.
This is deliberately an endpoint-and-time-bound contract. It does not claim an exact running time, all-reachable auxiliary-space safety, or structural transducer safety. In particular, it does not assert that the final output extends the initial output; callers needing append-only behavior must prove that separately.
This contract complements TM.bigSeqTM_hoareTime: that theorem handles an
indexed list fold with one uniform per-stage bound, while EmitSpec handles
short heterogeneous machine trees and retains each stage's structural bound.
A concrete machine contract with exact before/after tape families and an upper time bound. The parked endpoint facts are precisely what sequential composition needs at the next phase boundary.
- inputParked : Parked input
The fixed input is stable across combinator phase transitions.
Every work tape at the endpoint is stable across the next phase transition.
- hoareTime : machine.HoareTime (EmitPred input beforeWork beforeOutput) (EmitPred input afterWork afterOutput) time
The machine realizes the stated endpoint effect within the supplied time bound.
Instances For
Package one concrete machine's endpoint-and-time contract.
Compose two emitter effects. The intermediate parked frame discharges the
concrete seqTM transition seam, and the resulting bound includes that real
one-step phase change.