Documentation

LeanPool.MRiscX.Delab.DelabHoare

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

    Reinterpret a term as an identifier syntax, if it is one.

    Equations
    Instances For

      Extract the string literal carried by t as an identifier, if t is one.

      Equations
      Instances For

        Reinterpret a term as a parsed MRiscX assembly block, if it has that kind.

        Equations
        Instances For

          Coerce a parsed Hoare term back into a plain term during delaboration.

          Equations
          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

              Whether e is a lambda whose body is itself headed by a lambda.

              Equations
              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.
                          Instances For