Documentation

Lean.Expr

inductive Lean.Literal :
Type
Equations
Equations
inductive Lean.BinderInfo :
Type
Equations
Equations
Equations
Equations
Equations
@[inline]
abbrev Lean.MData :
Type
Equations
@[inline]
Equations
noncomputable def Lean.Expr.Data :
Type
Equations
Equations
@[extern c inline "(uint8_t)((#1 << 24) >> 61)"]
Equations
def Lean.Expr.mkData (h : UInt64) (looseBVarRange : optParam Nat 0) (approxDepth : optParam UInt32 0) (hasFVar : optParam Bool false) (hasExprMVar : optParam Bool false) (hasLevelMVar : optParam Bool false) (hasLevelParam : optParam Bool false) (bi : optParam Lean.BinderInfo Lean.BinderInfo.default) (nonDepLet : optParam Bool false) :
Equations
@[inline]
def Lean.Expr.mkDataForBinder (h : UInt64) (looseBVarRange : Nat) (approxDepth : UInt32) (hasFVar : Bool) (hasExprMVar : Bool) (hasLevelMVar : Bool) (hasLevelParam : Bool) (bi : Lean.BinderInfo) :
Equations
@[inline]
def Lean.Expr.mkDataForLet (h : UInt64) (looseBVarRange : Nat) (approxDepth : UInt32) (hasFVar : Bool) (hasExprMVar : Bool) (hasLevelMVar : Bool) (hasLevelParam : Bool) (nonDepLet : Bool) :
Equations
Equations
structure Lean.FVarId :
Type
Equations
Equations
noncomputable def Lean.FVarIdSet :
Type
Equations
instance Lean.instForInFVarIdSetFVarId {m : Type u_1Type u_2} :
Equations
noncomputable def Lean.FVarIdMap (α : Type) :
Type
Equations
Equations
Equations
  • Lean.instInhabitedFVarIdMap = { default := }
Equations
Equations
@[inline]
Equations
Equations
Equations
Equations
Equations
Equations
def Lean.mkApp5 (f : Lean.Expr) (a : Lean.Expr) (b : Lean.Expr) (c : Lean.Expr) (d : Lean.Expr) (e : Lean.Expr) :
Equations
def Lean.mkApp6 (f : Lean.Expr) (a : Lean.Expr) (b : Lean.Expr) (c : Lean.Expr) (d : Lean.Expr) (e₁ : Lean.Expr) (e₂ : Lean.Expr) :
Equations
def Lean.mkApp7 (f : Lean.Expr) (a : Lean.Expr) (b : Lean.Expr) (c : Lean.Expr) (d : Lean.Expr) (e₁ : Lean.Expr) (e₂ : Lean.Expr) (e₃ : Lean.Expr) :
Equations
def Lean.mkApp8 (f : Lean.Expr) (a : Lean.Expr) (b : Lean.Expr) (c : Lean.Expr) (d : Lean.Expr) (e₁ : Lean.Expr) (e₂ : Lean.Expr) (e₃ : Lean.Expr) (e₄ : Lean.Expr) :
Equations
def Lean.mkApp9 (f : Lean.Expr) (a : Lean.Expr) (b : Lean.Expr) (c : Lean.Expr) (d : Lean.Expr) (e₁ : Lean.Expr) (e₂ : Lean.Expr) (e₃ : Lean.Expr) (e₄ : Lean.Expr) (e₅ : Lean.Expr) :
Equations
def Lean.mkApp10 (f : Lean.Expr) (a : Lean.Expr) (b : Lean.Expr) (c : Lean.Expr) (d : Lean.Expr) (e₁ : Lean.Expr) (e₂ : Lean.Expr) (e₃ : Lean.Expr) (e₄ : Lean.Expr) (e₅ : Lean.Expr) (e₆ : Lean.Expr) :
Equations
Equations
Equations
Equations
Equations
Equations
Equations
def Lean.mkAppRange (f : Lean.Expr) (i : Nat) (j : Nat) (args : Array Lean.Expr) :
Equations
def Lean.mkAppRev (fn : Lean.Expr) (revArgs : Array Lean.Expr) :
Equations
@[extern lean_expr_dbg_to_string]
@[extern lean_expr_quick_lt]
constant Lean.Expr.quickLt (a : Lean.Expr) (b : Lean.Expr) :
@[extern lean_expr_lt]
constant Lean.Expr.lt (a : Lean.Expr) (b : Lean.Expr) :
@[extern lean_expr_eqv]
constant Lean.Expr.eqv (a : Lean.Expr) (b : Lean.Expr) :
@[extern lean_expr_equal]
constant Lean.Expr.equal (a : Lean.Expr) (b : Lean.Expr) :
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
@[inline]
Equations
@[specialize]
def Lean.Expr.withAppAux {α : Sort u_1} (k : Lean.ExprArray Lean.Exprα) :
Lean.ExprArray Lean.ExprNatα
Equations
@[inline]
def Lean.Expr.withApp {α : Sort u_1} (e : Lean.Expr) (k : Lean.ExprArray Lean.Exprα) :
α
Equations
@[inline]
def Lean.Expr.withAppRev {α : Sort u_1} (e : Lean.Expr) (k : Lean.ExprArray Lean.Exprα) :
α
Equations
@[inline]
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
@[extern lean_expr_has_loose_bvar]
constant Lean.Expr.hasLooseBVar (e : Lean.Expr) (bvarIdx : Nat) :
@[extern lean_expr_lower_loose_bvars]
constant Lean.Expr.lowerLooseBVars (e : Lean.Expr) (s : Nat) (d : Nat) :
@[extern lean_expr_lift_loose_bvars]
constant Lean.Expr.liftLooseBVars (e : Lean.Expr) (s : Nat) (d : Nat) :
@[extern lean_expr_instantiate]
@[extern lean_expr_instantiate1]
@[extern lean_expr_instantiate_rev]
@[extern lean_expr_instantiate_range]
constant Lean.Expr.instantiateRange (e : Lean.Expr) (beginIdx : Nat) (endIdx : Nat) (xs : Array Lean.Expr) :
@[extern lean_expr_instantiate_rev_range]
constant Lean.Expr.instantiateRevRange (e : Lean.Expr) (beginIdx : Nat) (endIdx : Nat) (xs : Array Lean.Expr) :
@[extern lean_expr_abstract]
@[extern lean_expr_abstract_range]
Equations
def Lean.mkDecIsTrue (pred : Lean.Expr) (proof : Lean.Expr) :
Equations
Equations
@[inline]
abbrev Lean.ExprMap (α : Type) :
Type
Equations
@[inline]
abbrev Lean.PersistentExprMap (α : Type) :
Type
Equations
@[inline]
abbrev Lean.ExprSet :
Type
Equations
@[inline]
abbrev Lean.PExprSet :
Type
Equations
structure Lean.ExprStructEq :
Type
Equations
Equations
Equations
@[inline]
abbrev Lean.ExprStructMap (α : Type) :
Type
Equations
def Lean.Expr.mkAppRevRange (f : Lean.Expr) (beginIdx : Nat) (endIdx : Nat) (revArgs : Array Lean.Expr) :
Equations
Equations
@[inline]
Equations
@[specialize]
Equations
@[extern lean_expr_update_app]
Equations
@[inline]
def Lean.Expr.updateApp! (e : Lean.Expr) (newFn : Lean.Expr) (newArg : Lean.Expr) :
Equations
@[extern lean_expr_update_const]
Equations
@[inline]
Equations
@[extern lean_expr_update_sort]
Equations
@[inline]
Equations
@[extern lean_expr_update_proj]
Equations
@[extern lean_expr_update_mdata]
Equations
@[inline]
Equations
@[inline]
Equations
@[extern lean_expr_update_forall]
def Lean.Expr.updateForall (e : Lean.Expr) (newBinfo : Lean.BinderInfo) (newDomain : Lean.Expr) (newBody : Lean.Expr) (h : Lean.Expr.isForall e = true) :
Equations
@[inline]
def Lean.Expr.updateForall! (e : Lean.Expr) (newBinfo : Lean.BinderInfo) (newDomain : Lean.Expr) (newBody : Lean.Expr) :
Equations
@[inline]
def Lean.Expr.updateForallE! (e : Lean.Expr) (newDomain : Lean.Expr) (newBody : Lean.Expr) :
Equations
@[extern lean_expr_update_lambda]
def Lean.Expr.updateLambda (e : Lean.Expr) (newBinfo : Lean.BinderInfo) (newDomain : Lean.Expr) (newBody : Lean.Expr) (h : Lean.Expr.isLambda e = true) :
Equations
@[inline]
def Lean.Expr.updateLambda! (e : Lean.Expr) (newBinfo : Lean.BinderInfo) (newDomain : Lean.Expr) (newBody : Lean.Expr) :
Equations
@[inline]
def Lean.Expr.updateLambdaE! (e : Lean.Expr) (newDomain : Lean.Expr) (newBody : Lean.Expr) :
Equations
@[extern lean_expr_update_let]
def Lean.Expr.updateLet (e : Lean.Expr) (newType : Lean.Expr) (newVal : Lean.Expr) (newBody : Lean.Expr) (h : Lean.Expr.isLet e = true) :
Equations
@[inline]
def Lean.Expr.updateLet! (e : Lean.Expr) (newType : Lean.Expr) (newVal : Lean.Expr) (newBody : Lean.Expr) :
Equations
partial def Lean.Expr.eta (e : Lean.Expr) :
def Lean.Expr.setOption {α : Type} (e : Lean.Expr) (optionName : Lean.Name) [inst : Lean.KVMap.Value α] (val : α) :
Equations
Equations
Equations
Equations
Equations
def Lean.mkFreshFVarId {m : TypeType} [inst : Monad m] [inst : Lean.MonadNameGenerator m] :
Equations
  • Lean.mkFreshFVarId = do let a ← Lean.mkFreshId pure { name := a }
def Lean.mkFreshMVarId {m : TypeType} [inst : Monad m] [inst : Lean.MonadNameGenerator m] :
Equations
  • Lean.mkFreshMVarId = do let a ← Lean.mkFreshId pure { name := a }
Equations
Equations
Equations