Documentation

Strata.Languages.Core.Env

@[reducible, inline]
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
        • 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
            @[instance_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
                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
                    @[instance_reducible]
                    Equations
                    @[instance_reducible]
                    Equations
                    @[instance_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
                        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

                                      A fresh name for an unknown value of variable x: never x itself, nor any name already used.

                                      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

                                                Bind each free variable xi in xs that the store does not bind, in the oldest scope, to a fresh unknown (see genFVar).

                                                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

                                                      E with names as its name supply.

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

                                                        E's name supply, and E with an empty one.

                                                        Equations
                                                        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