Documentation

Strata.Languages.Core.Env

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          @[implicit_reducible]
          Equations
          • One or more equations did not get rendered due to their size.
          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            Equations
            Instances For
              @[reducible, inline]

              A substitution map from variable identifiers to expressions.

              Equations
              Instances For
                structure Core.Env :
                Instances For
                  def Core.Env.init (empty_factory : Bool := false) :
                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    @[implicit_reducible]
                    Equations
                    @[implicit_reducible]
                    Equations
                    @[implicit_reducible]
                    Equations
                    • One or more equations did not get rendered due to their size.

                    Create a substitution map from all variables to their values.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      def Core.oldVarSubst (subst : SubstMap) (E : Env) :

                      Append subst map to a substitution map.

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

                                Validate that all @[cases] parameters in a recursive function block reference known datatypes. This is checked at evaluation time because it is an SMT backend limitation, not a type system constraint.

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

                                  Add a function to the environment. For recursive functions, checks that the @[cases] attribute was provided (which sets inlineIfConstr), and rejects cases not yet supported for SMT verification (polymorphic recursive functions, missing @[cases] attribute).

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

                                      Insert each (x, v) in xs into the context.

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

                                                Generate a fresh variable using the base name and pre-existing type, if any, from xt.

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

                                                  Generate fresh variables using the base names and any pre-existing types from xs.

                                                  Equations
                                                  Instances For

                                                    Insert (xi, .fvar xi), for each xi in xs, in the oldest scope in ss, only if xi is the identifier of a free variable, i.e., it is not in ss.

                                                    Equations
                                                    • One or more equations did not get rendered due to their size.
                                                    Instances For
                                                      Equations
                                                      • One or more equations did not get rendered due to their size.
                                                      Instances For
                                                        def Core.Env.performMerge (cond : Expression.Expr) (E1 E2 : Env) (_h1 : E1.error.isNone = true) (_h2 : E2.error.isNone = true) :
                                                        Equations
                                                        • One or more equations did not get rendered due to their size.
                                                        Instances For
                                                          def Core.Env.merge (cond : Expression.Expr) (E1 E2 : Env) :
                                                          Equations
                                                          Instances For
                                                            Equations
                                                            • One or more equations did not get rendered due to their size.
                                                            Instances For