Documentation

Lean.Compiler.ConstFolding

Constant folding for primitives that have special runtime support.

@[reducible, inline]
Equations
Instances For
    @[reducible, inline]
    Equations
    Instances For
      Equations
      Instances For
        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
              def Lean.Compiler.foldBinUInt (fn : NumScalarTypeInfoBoolNatNatNat) (beforeErasure : Bool) (a₁ a₂ : Expr) :
              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                def Lean.Compiler.foldUIntSub (beforeErasure : Bool) (a₁ a₂ : Expr) :
                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
                      def Lean.Compiler.foldNatBinOp (fn : NatNatNat) (a₁ a₂ : Expr) :
                      Equations
                      Instances For
                        def Lean.Compiler.foldNatPow :
                        Bool(a₁ a₂ : Expr) → Option Expr
                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          def Lean.Compiler.foldNatBinPred (mkPred : ExprExprExpr) (fn : NatNatBool) (beforeErasure : Bool) (a₁ a₂ : Expr) :
                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            def Lean.Compiler.foldNatBinBoolPred (fn : NatNatBool) (a₁ a₂ : Expr) :
                            Equations
                            • One or more equations did not get rendered due to their size.
                            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
                                    • One or more equations did not get rendered due to their size.
                                    Instances For
                                      def Lean.Compiler.foldStrictAnd :
                                      Bool(a₁ a₂ : Expr) → Option Expr
                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      Instances For
                                        def Lean.Compiler.foldStrictOr :
                                        Bool(a₁ a₂ : Expr) → Option Expr
                                        Equations
                                        • One or more equations did not get rendered due to their size.
                                        Instances For
                                          Equations
                                          Instances For
                                            def Lean.Compiler.foldCharOfNat (beforeErasure : Bool) (a : Expr) :
                                            Equations
                                            • One or more equations did not get rendered due to their size.
                                            Instances For
                                              def Lean.Compiler.foldToNat (size : Nat) :
                                              Bool(a : Expr) → Option Expr
                                              Equations
                                              Instances For
                                                Equations
                                                • One or more equations did not get rendered due to their size.
                                                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