Syntax for hoare terms
Equations
- One or more equations did not get rendered due to their size.
Instances For
Syntax category for a full MRiscX Hoare triple together with its program.
Equations
Instances For
A Hoare triple written with concrete mriscx ... end assembly before the triple.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A Hoare triple written with a named Code identifier before the triple.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Notation ⦃P⦄ for a Hoare assertion on the machine state.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Notation x[r] for the value of register r in the current state.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Notation mem[a] for the value at memory address a in the current state.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Notation labels[l] for the target index of label l in the current state.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Notation labels[.l] for the target index of a dotted label l.
Equations
- One or more equations did not get rendered due to their size.
Instances For
To avoid parsing errors we decided to put these double parenthesis around these tokens
Equations
- «term⸨pc⸩» = Lean.ParserDescr.node `«term⸨pc⸩» 1024 (Lean.ParserDescr.symbol "⸨pc⸩")
Instances For
Notation ⸨terminated⸩ for the termination flag of the current state.
Equations
- «term⸨terminated⸩» = Lean.ParserDescr.node `«term⸨terminated⸩» 1024 (Lean.ParserDescr.symbol "⸨terminated⸩")
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Syntax category for a single state assignment in a Hoare postcondition.
Equations
Instances For
Syntax category for a chain of state assignments separated by ;.
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Syntax category for a bracketed Hoare assignment block ⟦ ... ⟧.
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Assignment x[r] ← v setting register r to v.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Assignment x[r] <- v, an ASCII variant of x[r] ← v.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Assignment mem[a] ← v setting memory address a to v.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Assignment mem[a] <- v, an ASCII variant of mem[a] ← v.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Assignment pc++ incrementing the program counter.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Assignment pc ← l setting the program counter to l.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The empty assignment block ⟦⟧, denoting the unchanged state.
Equations
- «hoareAssignmentTerm⟦⟧» = Lean.ParserDescr.node `«hoareAssignmentTerm⟦⟧» 1024 (Lean.ParserDescr.symbol "⟦⟧")
Instances For
A single assignment, viewed as a one-element assignment chain.
Equations
- hoareAssignmentChain_ = Lean.ParserDescr.node `hoareAssignmentChain_ 1022 (Lean.ParserDescr.cat `hoareAssignment 0)
Instances For
Two assignments composed with ;.
Equations
- One or more equations did not get rendered due to their size.
Instances For
An assignment followed by a further assignment chain, composed with ;.
Equations
- One or more equations did not get rendered due to their size.
Instances For
An assignment followed by a base-case term, composed with ;.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A bracketed assignment block ⟦ ... ⟧ denoting the resulting state update.
Equations
- One or more equations did not get rendered due to their size.