DelabHoare #
This module provides delaborators for MRiscX Hoare triples.
Annotate applications of the MState accessor functions in e so that the
delaborator can pretty-print them with the dedicated Hoare-state notation.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Extract the string literal carried by t as an identifier, if t is one.
Equations
- MRiscX.extractStringFromTerm t = match t.raw.isStrLit? with | some s => some (Lean.mkIdent (Lean.Name.mkSimple s)) | x => none
Instances For
Coerce a parsed Hoare term back into a plain term during delaboration.
Instances For
Delaborator for the annotated MState accessor functions, rendering them
with the dedicated Hoare-state notation (x[_], mem[_], ⸨pc⸩, ...).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Delaborate the assertion stored at argument position n of a Hoare triple,
threading the bound state name stName and an annotated-body transformer.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Delaborator for hoareTripleUp, rendering it with the surface Hoare-triple
notation ⦃P⦄ l ↦ ⟨L_w | L_b⟩ ⦃Q⦄.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Whether the term s is exactly the bound state identifier st.
Equations
Instances For
Unexpander rendering MState.incPc applications with the pc++ assignment notation.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Unexpander rendering MState.addRegister applications with the x[_] ← _ notation.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Unexpander rendering MState.addMemory applications with the mem[_] ← _ notation.
Equations
- One or more equations did not get rendered due to their size.