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
- declName : Lean.Name
Declaration name of the extensionality theorem.
- priority : Nat
Priority of the extensionality theorem.
- keys : Array (Lean.Meta.DiscrTree.Key true)
Key in the discrimination tree.
Information about an extensionality theorem, stored in the environment extension.
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 tree of
ext
extensions.- erased : Lean.PHashSet Lean.Name
Erased
ext
s.
The state of the ext
extension environment
Instances For
Equations
- Std.Tactic.Ext.instInhabitedExtTheorems = { default := { tree := default, erased := default } }
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 Entry
s.
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.ext
and.ext_iff
theorems and registers them for theext
tactic. -
When
@[ext]
is applied to a theorem, the theorem is registered for theext
tactic. -
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.