book/TPiL/InteractingWithLean.lean
Explanation legend Lean4 Domain Explanation Language (L4DEL)
L4DEL explanations are a separate layer. They do not change the Lean source. Intuition is explanatory prose; numbered items are a reading path; sources link the wording back to evidence.
- L4DEL
- Lean4 Domain Explanation Language
Credit: The upstream authors and contributors retain credit for the project and mathematics. lean4-explainer only renders their pinned source and adds the separately disclosed explanation layer.
Project sources: Pinned Theorem Proving in Lean documentation, Pinned Theorem Proving in Lean 4 book index
84 declarations, 3 contain sorry, 0 declared as axioms
Imports (2)
VersoManualTPiL.Examples
- def
xsorry line 59 source - def
doubleline 150 sourceDistinct definitions of this name: book/TPiL/DependentTypeTheory.lean:547 (different declaration text). Qualify references as double@path.
- theorem
t1line 158 sourceDistinct definitions of this name: book/TPiL/PropositionsAndProofs.lean:224 (different declaration text). Qualify references as t1@path.
- theorem
t2line 165 sourceDistinct definitions of this name: book/TPiL/PropositionsAndProofs.lean:319 (different declaration text). Qualify references as t2@path.
- def
Foo.barline 193 sourceDistinct definitions of this name: book/TPiL/PropositionsAndProofs.lean:611 (different declaration text). Qualify references as Foo.bar@path.
- def
Foo.barline 206 sourceDistinct definitions of this name: book/TPiL/PropositionsAndProofs.lean:611 (different declaration text). Qualify references as Foo.bar@path.
- def
Foo.barline 213 sourceDistinct definitions of this name: book/TPiL/PropositionsAndProofs.lean:611 (different declaration text). Qualify references as Foo.bar@path.
- def
String.addline 225 source - def
Bool.addline 228 source - def
addline 231 sourceDistinct definitions of this name: book/TPiL/DependentTypeTheory.lean:600 (different declaration text), book/TPiL/InductionAndRecursion.lean:505 (different declaration text). Qualify references as add@path.
- def
Foo.barline 255 sourceDistinct definitions of this name: book/TPiL/PropositionsAndProofs.lean:611 (different declaration text). Qualify references as Foo.bar@path.
- def
isPrefixline 339 source - theorem
List.isPrefix_selfline 342 source - example
(example at line 345)line 345 source - def
isPrefixline 354 source - theorem
List.isPrefix_selfline 357 sourceSource comment
----theorem List.isPrefix_self (as : List α) : isPrefix as as := …
- def
isPrefixline 368 source - theorem
List.isPrefix_selfline 373 source - example
(example at line 378)line 378 source - example
(example at line 385)line 385 source - def
isPrefixline 396 source - instance
(instance at line 399)line 399 source - theorem
List.isPrefix_selfline 402 source - def
isPrefixline 411 source - abbrev
instLeline 414 sourceSource comment
----abbrev instLe : LE (List α) := …
Mentions: α
- example
(example at line 420)line 420 source - example
(example at line 432)line 432 source - def
fline 468 sourceDistinct definitions of this name: book/TPiL/AxiomsComputation.lean:340 (different declaration text), book/TPiL/DependentTypeTheory.lean:416 (different declaration text), book/TPiL/InductionAndRecursion.lean:833 (different declaration text), book/TPiL/Tactics.lean:1457 (different declaration text). Qualify references as f@path.
- example
(example at line 470)line 470 sourceSource comment
Equivalent:example := f 7
- example
(example at line 471)line 471 source - def
fline 482 sourceDistinct definitions of this name: book/TPiL/AxiomsComputation.lean:340 (different declaration text), book/TPiL/DependentTypeTheory.lean:416 (different declaration text), book/TPiL/InductionAndRecursion.lean:833 (different declaration text), book/TPiL/Tactics.lean:1457 (different declaration text). Qualify references as f@path.
- example
(example at line 484)line 484 sourceSource comment
Just f 7example := f 7
- example
(example at line 486)line 486 sourceSource comment
These are equivalent:example := @f 7 _ 3
- example
(example at line 487)line 487 source - def
f'Alternative syntax: line 489 sourceSource comment
Alternative syntax:def f' (x : Nat) ⦃y : Nat⦄ (z : Nat) : Nat := x + y + z …
Mentions: x
- def
reflexiveline 507 source - def
symmetricline 510 source - def
transitiveline 513 source - def
Euclideanline 516 source - theorem
th1line 519 source - theorem
th2line 526 source - theorem
th3line 533 source - def
reflexiveline 553 source - def
symmetricline 556 source - def
transitiveline 559 source - def
Euclideanline 562 source - theorem
th1line 565 source - theorem
th2line 572 source - theorem
th3line 579 source - def
wobblesorry line 679 source - def
wobblesorry line 687 source - def
fooa user-defined function line 784 sourceSource comment
a user-defined functionDistinct definitions of this name: book/TPiL/DependentTypeTheory.lean:779 (different declaration text), book/TPiL/InductionAndRecursion.lean:115 (different declaration text). Qualify references as foo@path.
def foo {α : Type u} (x : α) : α := x … - example
{lit}`Nat`.(example at line 935)line 935 source - def
{lit}`Nat`.composeline 996 source - def
{lit}`Nat`.composeline 1006 source - def
{lit}`Nat`.composeline 1025 source - def
{lit}`Nat`.composeline 1067 source - instance
{lit}`Nat`.(instance at line 1091)line 1091 sourceSource comment
----instance : Monad (ReaderT ρ m) where …
Mentions: m
- def
{lit}`Nat`.Ex2.id1line 1105 sourceSource comment
----def id1 : {α : Type} → α → α := …Mentions: α
- def
{lit}`Nat`.Ex2.listIdline 1108 source - def
{lit}`Nat`.Ex2.id2In this example, implicit lambda introduction has been disabled because we use@before {kw}funline 1113 sourceSource comment
In this example, implicit lambda introduction has been disabled because we use `@` before {kw}`fun`def id2 : {α : Type} → α → α := …Mentions: α
- def
{lit}`Nat`.Ex2.id3line 1116 source - def
{lit}`Nat`.Ex2.id4line 1119 source - def
{lit}`Nat`.Ex2.id5In this example, implicit lambda introduction has been disabled because we used the binder annotation{...}line 1124 sourceSource comment
In this example, implicit lambda introduction has been disabled because we used the binder annotation `{...}`def id5 : {α : Type} → α → α := …Mentions: α
- def
{lit}`Nat`.Ex3.fline 1150 source - def
{lit}`Nat`.sumline 1180 source - example
{lit}`Nat`.(example at line 1186)line 1186 source - def
{lit}`Nat`.fline 1196 source - example
{lit}`Nat`.(example at line 1199)line 1199 source - example
{lit}`Nat`.(example at line 1201)line 1201 source - example
{lit}`Nat`.(example at line 1203)line 1203 source - example
{lit}`Nat`.(example at line 1205)line 1205 source - example
{lit}`Nat`.(example at line 1207)line 1207 source - example
{lit}`Nat`.(example at line 1209)line 1209 source - def
{lit}`Nat`.gline 1211 source - example
{lit}`Nat`.(example at line 1218)line 1218 source - example
{lit}`Nat`.(example at line 1220)line 1220 source - example
{lit}`Nat`.(example at line 1222)line 1222 source - example
{lit}`Nat`.(example at line 1224)line 1224 source - example
{lit}`Nat`.(example at line 1226)line 1226 source - inductive
{lit}`Nat`.Termline 1233 source - def
{lit}`Nat`.getBinderNameline 1239 source - def
{lit}`Nat`.getBinderTypeline 1243 source - example
{lit}`Nat`.(example at line 1252)line 1252 source