Linear Leios Trace Verifier

An Action provides input to the relational semantics
A TestTrace is a list of actions togther with channels related to the other functionalities
NOTE: this goes backwards, from the current state to the initial state

Error handling

Errors that occur when verifying a step

Err-InputMismatch carries the real refutation ¬ ValidStep (σ , i) s. Deriving it requires inverting the transition’s input index toRcvType i, whose channel selections are opaque in categorical-crypto; the lemmas below therefore sit in an opaque unfolding _⊗₀_ block, where the selections reduce to constructor form and Agda can dismiss the impossible transition rules. The refutation is mediated by the input-channel selector: input-sound proves that every derivable step consumes the input constructor its action’s rule expects, so a selector mismatch refutes the step.

The premise-less Ftch rule reads its input through an output-typed channel selection, which nevertheless coincides with toRcvType (inj₂ (inj₂ FetchLdgI)) once the selections reduce; Ftch-step witnesses this inside the unfolding block, letting verifyStep' accept the pairing.
 
 
 
 
 
 
 
Errors when verifying a trace
Reusable witnesses for the mismatching input families:
 
 
 

Error handling