The applyWith tactic #
The applyWith tactic is like apply, but allows passing a custom configuration to the underlying
apply operation.
At least one configuration option for tactics.
If a configuration elaborator is defined as declare_config_elab elabMyConfig MyConfigStruct,
a manyConfig syntax item cfg : TSyntax ``manyConfig can be passed to it using
elabMyConfig (optConfigOf cfg).
optConfig allows zero or more options, manyConfig requires at least one option.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Extracts the items from a tactic configuration,
either a Mathlib.Tactic.manyConfig, Lean.Parser.Tactic.optConfig, Lean.Parser.Tactic.config,
or these wrapped in null nodes.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Convert manyConfig, optConfig or config syntax into optConfig,
for use in a declare_config_elab elaborator.
Equations
Instances For
Elaborator for the configuration in apply (config := cfg) syntax.
Equations
- One or more equations did not get rendered due to their size.
Instances For
apply e tries to match the current goal against the conclusion of e's type.
If it succeeds, then the tactic returns as many subgoals as the number of premises that
have not been fixed by type inference or type class resolution.
Non-dependent premises are added before dependent ones.
The apply tactic uses higher-order pattern matching, type class resolution,
and first-order unification with dependent types.
Extensions:
apply (config := cfg) eallows for additional configuration (seeLean.Meta.ApplyConfig):newGoalscontrols which new goals are added byapply, in which order.-synthAssignedInstanceswill not synthesize instance implicit arguments if they have been assigned byisDefEq.+allowSynthFailureswill create new goals when instance synthesis fails, rather than erroring.+approxenablesisDefEqapproximations (seeLean.Meta.approxDefEq).
Equations
- One or more equations did not get rendered due to their size.