book/TPiL/AxiomsComputation.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
108 declarations, 0 contain sorry, 8 declared as axioms
Imports (2)
VersoManualTPiL.Examples
- inductive
types,line 14 source - example
(example at line 36)line 36 source - axiom
Hidden.propextline 177 sourceSource comment
----axiom propext {a b : Prop} : (a ↔ b) → a = b ------ end Hidden ``` :::setup ``` variable (a : Prop) ``` It asserts that when two propositions imply one another, they are actually equal. This is consistent with set-theoretic interpretations in which any element {lean}`a : Prop` is either empty or the singleton set … - theorem
thm₁line 197 source - theorem
thm₂line 200 source - def
Setline 278 sourceAlso declared: examples/Examples/InteractExample7dtboffggkdqb.lean:2 (same declaration text).
- def
Set.memline 282 source - theorem
Set.setextline 286 source - example
(example at line 294)line 294 source - def
Setline 297 sourceAlso declared: examples/Examples/InteractExample7dtboffggkdqb.lean:2 (same declaration text).
- def
Set.memline 299 source - theorem
Set.setextline 301 source - def
Set.emptyline 304 sourceSource comment
----def empty : Set α := fun _ => False …
- def
Set.interline 308 source - theorem
Set.inter_selfline 313 source - theorem
Set.inter_emptyline 318 source - theorem
Set.empty_interline 323 source - theorem
Set.inter.commline 328 source - def
fline 340 sourceDistinct definitions of this name: book/TPiL/DependentTypeTheory.lean:416 (different declaration text), book/TPiL/InductionAndRecursion.lean:833 (different declaration text), book/TPiL/InteractingWithLean.lean:468 (different declaration text), book/TPiL/Tactics.lean:1457 (different declaration text). Qualify references as f@path.
- def
gline 341 sourceDistinct definitions of this name: book/TPiL/DependentTypeTheory.lean:417 (different declaration text), book/TPiL/Tactics.lean:1781 (different declaration text). Qualify references as g@path.
- theorem
f_eq_gline 343 source - def
valline 346 source - theorem
tteqline 370 source - def
valline 373 source - axiom
Hidden.Quotline 433 source - axiom
Hidden.Quot.mkline 435 source - axiom
Hidden.Quot.indline 437 source - axiom
Hidden.Quot.liftline 441 source - def
mod7Relline 467 source - def
fline 476 sourceDistinct definitions of this name: book/TPiL/DependentTypeTheory.lean:416 (different declaration text), book/TPiL/InductionAndRecursion.lean:833 (different declaration text), book/TPiL/InteractingWithLean.lean:468 (different declaration text), book/TPiL/Tactics.lean:1457 (different declaration text). Qualify references as f@path.
- theorem
f_respectsline 479 source - example
(example at line 486)line 486 sourceSource comment
the computation principleexample (a : Nat) : Quot.lift f f_respects (Quot.mk mod7Rel a) = f a := …
Mentions: f_respects, mod7Rel
- axiom
Hidden.Quot.soundline 525 sourceSource comment
----axiom Quot.sound : ∀ {α : Type u} {r : α → α → Prop} {a b : α}, r a b → Quot.mk r a = Quot.mk r b ``` This is the axiom that asserts that any two elements of {leanRef}`α` that are related by {leanRef}`r` become identified in the quotient. If a theorem or definition makes use of {leanRef}`Quot.sound`, it will show up in the {kw}`#print axioms` command. :::setup ``` …Mentions: α, b, Hidden.Quot.mk, Hidden.is, Hidden.of, in, Hidden.or
- class
Hidden.Hidden.Setoidline 561 sourceSource comment
----class Setoid (α : Sort u) where …
Mentions: α
- instance
Hidden.Hidden.(instance at line 565)line 565 source - theorem
Hidden.Hidden.Setoid.reflline 572 source - theorem
Hidden.Hidden.Setoid.symmline 575 source - theorem
Hidden.Hidden.Setoid.transline 578 source - instance
Hidden.ofline 589 source - def
Hidden.Hidden.Quotientline 594 sourceSource comment
----def Quotient {α : Sort u} (s : Setoid α) := …Mentions: α, Hidden.Hidden.Setoid
- theorem
Hidden.(theorem at line 615)line 615 source - def
Hidden.eqvline 641 source - def
Hidden.eqvline 655 source - theorem
Hidden.eqv.reflline 659 sourceSource comment
----private theorem eqv.refl (p : α × α) : p ~ p := …
Mentions: α
- theorem
Hidden.eqv.symmline 662 source - theorem
Hidden.eqv.transline 668 source - theorem
Hidden.is_equivalenceline 678 source - def
Hidden.eqvline 688 source - theorem
Hidden.eqv.reflline 691 source - theorem
Hidden.eqv.symmline 693 source - theorem
Hidden.eqv.transline 698 source - theorem
Hidden.is_equivalenceline 707 source - instance
Hidden.uprodSetoidline 710 sourceSource comment
----instance uprodSetoid (α : Type u) : Setoid (α × α) where …
Mentions: α
- def
Hidden.UProdline 714 source - def
Hidden.UProd.mkline 719 source - def
Hidden.eqvline 730 source - theorem
Hidden.eqv.reflline 733 source - theorem
Hidden.eqv.symmline 735 source - theorem
Hidden.eqv.transline 740 source - theorem
Hidden.is_equivalenceline 749 source - instance
Hidden.uprodSetoidline 752 source - def
Hidden.UProdline 756 source - def
Hidden.UProd.mkline 761 source - def
Hidden.eqvline 783 source - theorem
Hidden.eqv.reflline 786 source - theorem
Hidden.eqv.symmline 788 source - theorem
Hidden.eqv.transline 793 source - theorem
Hidden.is_equivalenceline 802 source - instance
Hidden.uprodSetoidline 804 source - def
Hidden.UProdline 807 source - def
Hidden.UProd.mkline 810 source - theorem
Hidden.UProd.mk_eq_mkline 814 sourceSource comment
----theorem mk_eq_mk (a₁ a₂ : α) : {a₁, a₂} = {a₂, a₁} := …Mentions: α
- def
Hidden.eqvline 831 source - theorem
Hidden.eqv.reflline 834 source - theorem
Hidden.eqv.symmline 836 source - theorem
Hidden.eqv.transline 841 source - theorem
Hidden.is_equivalenceline 850 source - instance
Hidden.uprodSetoidline 852 source - def
Hidden.UProdline 855 source - def
Hidden.UProd.mkline 858 source - theorem
Hidden.UProd.mk_eq_mkline 861 source - def
Hidden.UProd.mem_fnline 864 sourceSource comment
----private def mem_fn (a : α) : α × α → Prop | (a₁, a₂) => a = a₁ ∨ a = a₂ -- auxiliary lemma for proving mem_respects
Mentions: α, Hidden.UProd.mem_respects
- theorem
Hidden.UProd.mem_swapauxiliary lemma for proving mem_respects line 868 sourceSource comment
auxiliary lemma for proving mem_respectsprivate theorem mem_swap {a : α} : ∀ {p : α × α}, mem_fn a p = mem_fn a (⟨p.2, p.1⟩) | (a₁, a₂) => by apply propext apply Iff.intro . intro | Or.inl h => exact Or.inr h | Or.inr h => exact Or.inl h . intro | Or.inl h => exact Or.inr h | Or.inr h => exact Or.inl hMentions: α, Hidden.UProd.mem_fn, Hidden.propext
- theorem
Hidden.UProd.mem_respectsline 880 source - def
Hidden.UProd.memline 887 source - theorem
Hidden.UProd.mem_mk_leftline 892 source - theorem
Hidden.UProd.mem_mk_rightline 895 source - theorem
Hidden.UProd.mem_or_mem_of_mem_mkline 898 source - def
Hidden.extfunline 913 source - def
Hidden.extfun_appline 915 source - def
Hidden.extfunline 935 source - def
Hidden.extfun_appline 937 source - example
Hidden.(example at line 940)line 940 sourceSource comment
--------example (f₁ f₂ : (x : α) → β x) (h : ∀ x, f₁ x = f₂ x) := …
- class inductive
Hidden.Hidden.Nonemptyline 964 sourceSource comment
----class inductive Nonempty (α : Sort u) : Prop where …
Mentions: α
- example
Hidden.(example at line 981)line 981 source - axiom
Hidden.Hidden.choiceline 991 sourceSource comment
----axiom choice {α : Sort u} : Nonempty α → α ------ end Hidden ``` :::setup ``` variable {α : Sort u} {h : Nonempty α} open Classical ``` Given only the assertion {lean}`h` that {lean}`α` is nonempty, {lean}`choice h` …Mentions: α, Hidden.Hidden.Nonempty, Hidden.is
- theorem
Hidden.isline 1010 source - axiom
Hidden.Hidden.choiceline 1017 source - def
Hidden.Hidden.indefiniteDescriptionline 1019 sourceSource comment
----noncomputable def indefiniteDescription {α : Sort u} (p : α → Prop) (h : ∃ x, p x) : {x // p x} := … - def
Hidden.Hidden.chooseline 1045 source - theorem
Hidden.Hidden.choose_specline 1048 source - def
Hidden.inhabited_of_nonemptyline 1061 sourceSource comment
----noncomputable def inhabited_of_nonempty (h : Nonempty α) : Inhabited α := …
Mentions: α
- theorem
Hidden.emline 1122 source - theorem
Hidden.emline 1174 source - theorem
Hidden.propCompleteline 1252 source - class inductive
Hidden.Hidden.Decidableline 1267 sourceSource comment
----class inductive Decidable (p : Prop) where …
- def
Hidden.linvline 1301 source - theorem
Hidden.linv_comp_selfline 1304 source