Controls which new mvars are turned in to goals by the apply
tactic.
nonDependentFirst
mvars that don't depend on other goals appear first in the goal list.nonDependentOnly
only mvars that don't depend on other goals are added to goal list.all
all unassigned mvars are added to the goal list.
- nonDependentFirst: Lean.Meta.ApplyNewGoals
- nonDependentOnly: Lean.Meta.ApplyNewGoals
- all: Lean.Meta.ApplyNewGoals
Instances For
Configures the behaviour of the apply
tactic.
- newGoals : Lean.Meta.ApplyNewGoals
- synthAssignedInstances : Bool
If
synthAssignedInstances
istrue
, thenapply
will synthesize instance implicit arguments even if they have assigned byisDefEq
, and then check whether the synthesized value matches the one inferred. Thecongr
tactic sets this flag to false. - allowSynthFailures : Bool
If
allowSynthFailures
istrue
, thenapply
will return instance implicit arguments for which typeclass search failed as new goals. - approx : Bool
If
approx := true
, then we turn onisDefEq
approximations. That is, we use theapproxDefEq
combinator.
Instances For
Compute the number of expected arguments and whether the result type is of the form (?m ...) where ?m is an unassigned metavariable.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Lean.Meta.getExpectedNumArgs e = do let __discr ← Lean.Meta.getExpectedNumArgsAux e match __discr with | (numArgs, snd) => pure numArgs
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
If synthAssignedInstances
is true
, then apply
will synthesize instance implicit arguments
even if they have assigned by isDefEq
, and then check whether the synthesized value matches the
one inferred. The congr
tactic sets this flag to false.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Close the given goal using apply e
.
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
- Lean.Meta.apply mvarId e cfg = Lean.MVarId.apply mvarId e cfg
Instances For
Short-hand for applying a constant to the goal.
Equations
- Lean.MVarId.applyConst mvar c cfg = do let __do_lift ← Lean.Meta.mkConstWithFreshMVarLevels c Lean.MVarId.apply mvar __do_lift cfg
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Apply And.intro
as much as possible to goal mvarId
.
Equations
- Lean.MVarId.splitAnd mvarId = Lean.Meta.splitAndCore mvarId
Instances For
Equations
- Lean.Meta.splitAnd mvarId = Lean.MVarId.splitAnd mvarId
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Apply the n
-th constructor of the target type,
checking that it is an inductive type,
and that there are the expected number of constructors.
Equations
- One or more equations did not get rendered due to their size.