Documentation

Cedar.SymCC.ExtFun

This file contains the symbolic encoding (factory functions) for extension operators.

The extension functions are total. If given well-formed and type-correct arguments, an extension function will return a well-formed and type-correct output. Otherwise, the output is an arbitrary term.

This design lets us minimize the number of error paths in the overall specification of symbolic compilation, which makes for nicer code and proofs, and it more closely tracks the specification of the concrete evaluator.

See Compiler.lean to see how the symbolic compiler uses this API. See also Factory.lean.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    def Cedar.SymCC.IPAddr.range (w : Nat) (ipAddr ipPre : Term) :
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      def Cedar.SymCC.IPAddr.inRange (range : TermTerm × Term) (t₁ t₂ : Term) :
      Equations
      Instances For
        def Cedar.SymCC.IPAddr.inRangeV (isIp : TermTerm) (range : TermTerm × Term) (t₁ t₂ : Term) :
        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
                  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