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

        Differentiate between a Hoare assignment and an ordinary term in a pre- or post-condition.

        Equations
        • One or more equations did not get rendered due to their size.
        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