Documentation

Lean.Compiler.ConstFolding

Constant folding for primitives that have special runtime support.

Equations
    Instances For
      @[reducible, inline]
      Equations
        Instances For
          @[reducible, inline]
          Equations
            Instances For
              Equations
                Instances For
                  Instances For
                    Equations
                      Instances For
                        Equations
                          Instances For
                            @[export lean_get_num_lit]
                            Equations
                              Instances For
                                Equations
                                  Instances For
                                    Equations
                                      Instances For
                                        def Lean.Compiler.foldBinUInt (fn : NumScalarTypeInfoBoolNatNatNat) (beforeErasure : Bool) (a₁ a₂ : Expr) :
                                        Equations
                                          Instances For
                                            def Lean.Compiler.foldUIntAdd (beforeErasure : Bool) (a₁ a₂ : Expr) :
                                            Equations
                                              Instances For
                                                def Lean.Compiler.foldUIntMul (beforeErasure : Bool) (a₁ a₂ : Expr) :
                                                Equations
                                                  Instances For
                                                    def Lean.Compiler.foldUIntDiv (beforeErasure : Bool) (a₁ a₂ : Expr) :
                                                    Equations
                                                      Instances For
                                                        def Lean.Compiler.foldUIntMod (beforeErasure : Bool) (a₁ a₂ : Expr) :
                                                        Equations
                                                          Instances For
                                                            def Lean.Compiler.foldUIntSub (beforeErasure : Bool) (a₁ a₂ : Expr) :
                                                            Equations
                                                              Instances For
                                                                def Lean.Compiler.foldNatBinOp (fn : NatNatNat) (a₁ a₂ : Expr) :
                                                                Equations
                                                                  Instances For
                                                                    def Lean.Compiler.foldNatAdd :
                                                                    Bool(a₁ a₂ : Expr) → Option Expr
                                                                    Equations
                                                                      Instances For
                                                                        def Lean.Compiler.foldNatMul :
                                                                        Bool(a₁ a₂ : Expr) → Option Expr
                                                                        Equations
                                                                          Instances For
                                                                            def Lean.Compiler.foldNatDiv :
                                                                            Bool(a₁ a₂ : Expr) → Option Expr
                                                                            Equations
                                                                              Instances For
                                                                                def Lean.Compiler.foldNatMod :
                                                                                Bool(a₁ a₂ : Expr) → Option Expr
                                                                                Equations
                                                                                  Instances For
                                                                                    Equations
                                                                                      Instances For
                                                                                        def Lean.Compiler.foldNatPow :
                                                                                        Bool(a₁ a₂ : Expr) → Option Expr
                                                                                        Equations
                                                                                          Instances For
                                                                                            Equations
                                                                                              Instances For
                                                                                                Equations
                                                                                                  Instances For
                                                                                                    Equations
                                                                                                      Instances For
                                                                                                        def Lean.Compiler.toDecidableExpr (beforeErasure : Bool) (pred : Expr) (r : Bool) :
                                                                                                        Equations
                                                                                                          Instances For
                                                                                                            def Lean.Compiler.foldNatBinPred (mkPred : ExprExprExpr) (fn : NatNatBool) (beforeErasure : Bool) (a₁ a₂ : Expr) :
                                                                                                            Equations
                                                                                                              Instances For
                                                                                                                def Lean.Compiler.foldNatDecEq (beforeErasure : Bool) (a₁ a₂ : Expr) :
                                                                                                                Equations
                                                                                                                  Instances For
                                                                                                                    def Lean.Compiler.foldNatDecLt (beforeErasure : Bool) (a₁ a₂ : Expr) :
                                                                                                                    Equations
                                                                                                                      Instances For
                                                                                                                        def Lean.Compiler.foldNatDecLe (beforeErasure : Bool) (a₁ a₂ : Expr) :
                                                                                                                        Equations
                                                                                                                          Instances For
                                                                                                                            def Lean.Compiler.foldNatBinBoolPred (fn : NatNatBool) (a₁ a₂ : Expr) :
                                                                                                                            Equations
                                                                                                                              Instances For
                                                                                                                                def Lean.Compiler.foldNatBeq :
                                                                                                                                Bool(a₁ a₂ : Expr) → Option Expr
                                                                                                                                Equations
                                                                                                                                  Instances For
                                                                                                                                    def Lean.Compiler.foldNatBlt :
                                                                                                                                    Bool(a₁ a₂ : Expr) → Option Expr
                                                                                                                                    Equations
                                                                                                                                      Instances For
                                                                                                                                        def Lean.Compiler.foldNatBle :
                                                                                                                                        Bool(a₁ a₂ : Expr) → Option Expr
                                                                                                                                        Equations
                                                                                                                                          Instances For
                                                                                                                                            Equations
                                                                                                                                              Instances For
                                                                                                                                                Equations
                                                                                                                                                  Instances For
                                                                                                                                                    def Lean.Compiler.foldStrictAnd :
                                                                                                                                                    Bool(a₁ a₂ : Expr) → Option Expr
                                                                                                                                                    Equations
                                                                                                                                                      Instances For
                                                                                                                                                        def Lean.Compiler.foldStrictOr :
                                                                                                                                                        Bool(a₁ a₂ : Expr) → Option Expr
                                                                                                                                                        Equations
                                                                                                                                                          Instances For
                                                                                                                                                            Equations
                                                                                                                                                              Instances For
                                                                                                                                                                Equations
                                                                                                                                                                  Instances For
                                                                                                                                                                    def Lean.Compiler.foldCharOfNat (beforeErasure : Bool) (a : Expr) :
                                                                                                                                                                    Equations
                                                                                                                                                                      Instances For
                                                                                                                                                                        def Lean.Compiler.foldToNat (size : Nat) :
                                                                                                                                                                        Bool(a : Expr) → Option Expr
                                                                                                                                                                        Equations
                                                                                                                                                                          Instances For
                                                                                                                                                                            Equations
                                                                                                                                                                              Instances For
                                                                                                                                                                                Equations
                                                                                                                                                                                  Instances For
                                                                                                                                                                                    Equations
                                                                                                                                                                                      Instances For
                                                                                                                                                                                        @[export lean_fold_bin_op]
                                                                                                                                                                                        def Lean.Compiler.foldBinOp (beforeErasure : Bool) (f a b : Expr) :
                                                                                                                                                                                        Equations
                                                                                                                                                                                          Instances For
                                                                                                                                                                                            @[export lean_fold_un_op]
                                                                                                                                                                                            def Lean.Compiler.foldUnOp (beforeErasure : Bool) (f a : Expr) :
                                                                                                                                                                                            Equations
                                                                                                                                                                                              Instances For