Constructs the hypotheses for the extensionality lemma.
Calls the continuation k with the list of parameters to the structure,
two structure variables x and y, and a list of pairs (field, ty)
where ty is x.field = y.field or HEq x.field y.field.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Creates the type of the extensionality lemma for the given structure,
elaborating to x.1 = y.1 → x.2 = y.2 → x = y, for example.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Make an Iff application.
Equations
- Std.Tactic.Ext.mkIff p q = Lean.mkApp2 (Lean.mkConst `Iff) p q
Instances For
Make an n-ary And application. mkAndN [] returns True.
Equations
- Std.Tactic.Ext.mkAndN [] = Lean.mkConst `True
- Std.Tactic.Ext.mkAndN [p] = p
- Std.Tactic.Ext.mkAndN (p :: ps) = Lean.mkAnd p (Std.Tactic.Ext.mkAndN ps)
Instances For
Creates the type of the iff-variant of the extensionality lemma for the given structure,
elaborating to x = y ↔ x.1 = y.1 ∧ x.2 = y.2, for example.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Apply a single extensionality lemma to goal.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Apply a single extensionality lemma to the current goal.
Equations
- Std.Tactic.Ext.tacticApply_ext_lemma = Lean.ParserDescr.node `Std.Tactic.Ext.tacticApply_ext_lemma 1024 (Lean.ParserDescr.nonReservedSymbol "apply_ext_lemma" false)
Instances For
Postprocessor for withExt which runs rintro with the given patterns when the target is a
pi type.
Equations
- One or more equations did not get rendered due to their size.
- Std.Tactic.Ext.tryIntros g [] k = do let __do_lift ← liftM (liftM (Lean.MVarId.intros g)) k __do_lift.snd []
Instances For
Applies a single extensionality lemma, using pats to introduce variables in the result.
Runs continuation k on each subgoal.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Applies a extensionality lemmas recursively, using pats to introduce variables in the result.
Runs continuation k on each subgoal.
Equations
- One or more equations did not get rendered due to their size.
- Std.Tactic.Ext.withExtN g pats k 0 failIfUnchanged = k g pats
Instances For
Apply extensionality lemmas as much as possible, using pats to introduce the variables
in extensionality lemmas like funext. Returns a list of subgoals.
Equations
- One or more equations did not get rendered due to their size.
Instances For
ext pat*applies extensionality lemmas as much as possible, usingpat*to introduce the variables in extensionality lemmas usingrintro. For example, this names the variables introduced by lemmas such asfunext.extapplies extensionality lemmas as much as possible but introduces anonymous variables whenever needed.ext pat* : napplies ext lemmas only up to depthn.
The ext1 pat* tactic is like ext pat* except that it only applies a single extensionality lemma.
The ext? tactic (note: unimplemented) has the same syntax as the ext tactic,
and it gives a suggestion of an equivalent tactic to use in place of ext.
Equations
- One or more equations did not get rendered due to their size.
Instances For
ext1 pat* is like ext pat* except that it only applies a single extensionality lemma rather
than recursively applying as many extensionality lemmas as possible.
The pat* patterns are processed using the rintro tactic.
If no patterns are supplied, then variables are introduced anonymously using the intros tactic.
The ext1? tactic (note: unimplemented) has the same syntax as the ext1? tactic,
and it gives a suggestion of an equivalent tactic to use in place of ext1.
Equations
- One or more equations did not get rendered due to their size.
Instances For
ext1? pat* is like ext1 pat* but gives a suggestion on what pattern to use
Equations
- One or more equations did not get rendered due to their size.
Instances For
ext? pat* is like ext pat* but gives a suggestion on what pattern to use
Equations
- One or more equations did not get rendered due to their size.