Explode command: datatypes #
This file contains datatypes used by the #explode
command and their associated methods.
- 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
*│
How to display pipes (│
) for this entry in the Fitch table .
Instances For
Equations
- Mathlib.Explode.instInhabitedStatus = { default := Mathlib.Explode.Status.sintro }
- 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
if
s (aka lambda-abstractions) this row is nested under. - status : Mathlib.Explode.Status
What
Status
this entry has - this only affects how│
s are displayed. - thm : Lean.MessageData
What to display in the "theorem applied" column. Make sure to use
addMessageContext
if needed. Which other lines (aka rows) this row depends on.
none
means 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
select
function passed toexplodeCore
. Exception:∀I
may ignore this for introduced hypotheses.
The row in the Fitch table.
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 }