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*: Apply extensionality lemmas as much as possible, usingpat*to introduce the variables in extensionality lemmas likefunext.ext: introduce anonymous variables whenever needed.ext pat* : n: apply ext lemmas only up to depthn.
Equations
- One or more equations did not get rendered due to their size.
Instances For
ext1 pat* is like ext pat* except it only applies one extensionality lemma instead
of recursing as much as possible.
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.