declare_ext_theorems_for A declares the extensionality theorems for the structure A.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Information about an extensionality theorem, stored in the environment extension.
- declName : Lean.Name
Declaration name of the extensionality theorem.
- priority : Nat
Priority of the extensionality theorem.
- keys : Array Lean.Meta.DiscrTree.Key
Key in the discrimination tree.
Instances For
Equations
- Std.Tactic.Ext.instInhabitedExtTheorem = { default := { declName := default, priority := default, keys := default } }
Equations
- Std.Tactic.Ext.instReprExtTheorem = { reprPrec := Std.Tactic.Ext.reprExtTheorem✝ }
Equations
The state of the ext extension environment
The tree of
extextensions.- erased : Lean.PHashSet Lean.Name
Erased
exts.
Instances For
Equations
- Std.Tactic.Ext.instInhabitedExtTheorems = { default := { tree := default, erased := default } }
Discrimation tree settings for the ext extension.
Equations
- Std.Tactic.Ext.extExt.config = { iota := true, beta := true, proj := Lean.Meta.ProjReductionKind.yesWithDelta, zeta := true }
Instances For
The environment extension to track @[ext] lemmas.
Get the list of @[ext] lemmas corresponding to the key ty,
ordered from high priority to low.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Erases a name marked ext by adding it to the state's erased field and
removing it from the state's list of Entrys.
Equations
- Std.Tactic.Ext.ExtTheorems.eraseCore d declName = { tree := d.tree, erased := Lean.PersistentHashSet.insert d.erased declName }
Instances For
Erase a name marked as a ext attribute.
Check that it does in fact have the ext attribute by making sure it names a ExtTheorem
found somewhere in the state's tree, and is not erased.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Registers an extensionality lemma.
-
When
@[ext]is applied to a structure, it generates.extand.ext_ifftheorems and registers them for theexttactic. -
When
@[ext]is applied to a theorem, the theorem is registered for theexttactic. -
You can use
@[ext 9000]to specify a priority for the attribute. -
You can use the flag
@[ext (flat := false)]to prevent flattening all fields of parent structures in the generated extensionality lemmas.
Equations
- One or more equations did not get rendered due to their size.