- nonDependentFirst: Lean.Meta.ApplyNewGoals
- nonDependentOnly: Lean.Meta.ApplyNewGoals
- all: Lean.Meta.ApplyNewGoals
Controls which new mvars are turned in to goals by the apply tactic.
nonDependentFirstmvars that don't depend on other goals appear first in the goal list.nonDependentOnlyonly mvars that don't depend on other goals are added to goal list.allall unassigned mvars are added to the goal list.
Instances For
- newGoals : Lean.Meta.ApplyNewGoals
If
synthAssignedInstancesistrue, thenapplywill synthesize instance implicit arguments even if they have assigned byisDefEq, and then check whether the synthesized value matches the one inferred. Thecongrtactic sets this flag to false.synthAssignedInstances : BoolIf
approx := true, then we turn onisDefEqapproximations. That is, we use theapproxDefEqcombinator.approx : Bool
Configures the behaviour of the apply tactic.
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
- Lean.Meta.getExpectedNumArgsAux e = Lean.Meta.withDefault (Lean.Meta.forallTelescopeReducing e fun xs body => pure (Array.size xs, Lean.Expr.isMVar (Lean.Expr.getAppFn body)))
Equations
- Lean.Meta.getExpectedNumArgs e = do let __discr ← Lean.Meta.getExpectedNumArgsAux e match __discr with | (numArgs, snd) => pure numArgs
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
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.
Close the given goal using apply e.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- Lean.Meta.apply mvarId e cfg = Lean.MVarId.apply mvarId e cfg
Equations
- One or more equations did not get rendered due to their size.
Apply And.intro as much as possible to goal mvarId.
Equations
- Lean.MVarId.splitAnd mvarId = Lean.Meta.splitAndCore mvarId
Equations
- Lean.Meta.splitAnd mvarId = Lean.MVarId.splitAnd mvarId
Equations
- One or more equations did not get rendered due to their size.