Tactic fun_prop for proving function properties like Continuous f, Differentiable ℝ f, ... #
Synthesize instance of type type and
- assign it to
xifxis meta variable - check it is equal to
x
Equations
- One or more equations did not get rendered due to their size.
Instances For
Synthesize arguments xs either with typeclass synthesis, with fun_prop or with
discharger.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Try to apply a theorem provided some of the theorem arguments.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Try to apply a theorem thmOrigin to the goal e.
Equations
- Mathlib.Meta.FunProp.tryTheorem? e thmOrigin funProp newMCtxDepth = Mathlib.Meta.FunProp.tryTheoremWithHint? e thmOrigin #[] funProp newMCtxDepth
Instances For
Try to prove e using the identity lambda theorem.
For example, e = q(Continuous fun x => x) and funPropDecl is FunPropDecl for Continuous.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Try to prove e using the constant lambda theorem.
For example, e = q(Continuous fun x => y) and funPropDecl is FunPropDecl for Continuous.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Try to prove e using the apply lambda theorem.
For example, e = q(Continuous fun f => f x) and funPropDecl is FunPropDecl for Continuous.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Try to prove e using composition lambda theorem.
For example, e = q(Continuous fun x => f (g x)) and funPropDecl is FunPropDecl for
Continuous
You also have to provide the functions f and g.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Try to prove e using pi lambda theorem.
For example, e = q(Continuous fun x y => f x y) and funPropDecl is FunPropDecl for
Continuous
Equations
- One or more equations did not get rendered due to their size.
Instances For
Try to prove e = q(P (fun x => let y := φ x; ψ x y).
For example,
funPropDeclisFunPropDeclforContinuouse = q(Continuous fun x => let y := φ x; ψ x y)f = q(fun x => let y := φ x; ψ x y)
Equations
- One or more equations did not get rendered due to their size.
- Mathlib.Meta.FunProp.letCase funPropDecl e f funProp = Lean.throwError (Lean.toMessageData "expected expression of the form `fun x => lam y := ..; ..`")
Instances For
Prove function property of using morphism theorems.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Try to remove applied argument i.e. prove P (fun x => f x y) from P (fun x => f x).
For example
funPropDeclisFunPropDeclforContinuouse = q(Continuous fun x => foo (bar x) y)fDatacontains info onfun x => foo (bar x) yThis tries to proveContinuous fun x => foo (bar x) yfromContinuous fun x => foo (bar x)
Equations
- One or more equations did not get rendered due to their size.
Instances For
Prove function property of fun f => f x₁ ... xₙ.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Get candidate theorems from the environment for function property funPropDecl and
function funName.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Get candidate theorems from the local context for function property funPropDecl and
function funName.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Try to apply function theorems thms to e.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Prove function property of fun x => f x₁ ... xₙ where f is free variable.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Prove function property of fun x => f x₁ ... xₙ where f is declared function.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Cache for failed goals such that fun_prop can fail fast next time.
Equations
- One or more equations did not get rendered due to their size.