Documentation

LeanPool.MRiscX.Parser.HoareSyntax

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

                      Notation ⸨terminated⸩ for the termination flag of the current state.

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

                                                  A single assignment, viewed as a one-element assignment chain.

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