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
Ideally an Err-InputMismatch/Err-Unsupported would carry ¬ ValidStep (σ , i) s. That is however not provable here: the transition’s input index is toRcvType i, and toRcvType routes through the channel-selection app, an opaque record projection Agda cannot invert. So we instead witness the mismatch at the level of the input-channel selector: every transition rule reads one specific input constructor, and an action/input pairing is rejected exactly when the constructor supplied differs from the one the action’s rule consumes.
 
 
 
Errors when verifying a trace
Reusable witnesses for the mismatching input families (payloads are irrelevant):
 
 
 
 
 
 
 
 

Error handling