Explode command: datatypes #
This file contains datatypes used by the #explode command and their associated methods.
How to display pipes (│) for this entry in the Fitch table .
- sintro: Mathlib.Explode.Status
├Start intro (top-level) - intro: Mathlib.Explode.Status
Entry.depth*│+┌Normal intro - cintro: Mathlib.Explode.Status
Entry.depth*│+├Continuation intro - lam: Mathlib.Explode.Status
Entry.depth*│ - reg: Mathlib.Explode.Status
Entry.depth*│
Instances For
Equations
- Mathlib.Explode.instInhabitedStatus = { default := Mathlib.Explode.Status.sintro }
The row in the Fitch table.
- type : Lean.MessageData
A type of this expression as a
MessageData. Make sure to useaddMessageContext. The row number, starting from
0. This is set byEntries.add.- depth : Nat
How many
ifs (aka lambda-abstractions) this row is nested under. - status : Mathlib.Explode.Status
What
Statusthis entry has - this only affects how│s are displayed. - thm : Lean.MessageData
What to display in the "theorem applied" column. Make sure to use
addMessageContextif needed. Which other lines (aka rows) this row depends on.
nonemeans that the dependency has been filtered out of the table.- useAsDep : Bool
Whether or not to use this in future deps lists. Generally controlled by the
selectfunction passed toexplodeCore. Exception:∀Imay ignore this for introduced hypotheses.
Instances For
Get the line for an Entry that has been added to the Entries structure.
Equations
- Mathlib.Explode.Entry.line! entry = Option.get! entry.line
Instances For
Equations
- Mathlib.Explode.instInhabitedEntries = { default := { s := default, l := default } }
Find a row where Entry.expr == e.
Equations
- Mathlib.Explode.Entries.find? es e = Lean.HashMap.find? es.s e
Instances For
Length of our entries.
Equations
Instances For
Add the entry unless it already exists. Sets the line field to the next
available value.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Add a pre-existing entry to the ExprMap for an additional expression.
This is used by let bindings where expr is an fvar.
Equations
- Mathlib.Explode.Entries.addSynonym entries expr entry = { s := Lean.HashMap.insert entries.s expr entry, l := entries.l }