Documentation

LeanPool.MRiscX.Elab.HoareElaborator

HoareElaborator #

This module provides the elaborator for MRiscX Hoare-triple syntax.

Notation a₁ ∧∧ a₂ for the conjunction Assertion.And a₁ a₂ of two assertions.

Equations
Instances For

    Notation ∼a for the negation Assertion.Not a of an assertion.

    Equations
    Instances For

      Preprocess a parsed Hoare condition, expanding assignment chains and binding the implicit state identifier st.

      Equations
      Instances For

        Elaborate a Hoare condition into the MState → _ predicate it denotes.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For

          Notation ⦃t⦄ elaborating a Hoare condition into its state predicate.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For

            Some utility function which casts an Array TSyntax mriscxLabel to TSyntax term

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For

              Some utility function which casts TSyntax mriscxLabel to TSyntax term

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For

                Hoare-triples for specifications with only one instruction

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For

                  Regular Hoare-triple with concrete MRiscX syntax before the actual triple

                  Equations
                  Instances For

                    Define the code beforehand, does not support the usage of variables

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For

                      To define the code beforehand with some some variables.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For

                        Fallback elab if no Labelnames in l, L_w or L_b required

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For

                          Elab of hoare assignment

                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For

                            Notation ⟦⟧ for the identity assignment, denoting the unchanged state st.

                            Equations
                            Instances For