Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved. Exact original first-admission records.
Statement with defined notation
∀ c. ∀ u. ∀ v. ∀ r. c · u = c · v + r → Dvd(c,r)Every purple notation token opens its conservative definition. This is a reading surface; the compiler expands the statement before the unchanged kernel checks it.
Definitions used by this theorem
In the theorem statement
1 occurrences
In local proof propositions
0 occurrences
Exact expanded native-PA statement
forall c u v r. c * u = c * v + r -> exists w. r = c * wProof neighborhood
Direct theorem prerequisites
Direct theorem dependents
Definition-aware tactic body
Only local propositions introduced by have or suffices are compacted. The untrusted compiler re-expands each one before the original tactic script is replayed; defined notation is never accepted by the kernel. Open the exact replay line beneath every changed command.
Read the argument
Proof checkpoints
This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.
Named ingredients (5)
01Fix variables and assumptionsL1–1
Work with arbitrary variables or the premises of the current implication.
- L1
intro c
02Induction on uL2–6
03Establish hrL7–10
04Construct an explicit witnessL11–11
Supply the displayed value, then prove that it has the required property.
- L11
exists 0
05Calculate and transport equalitiesL12–14
06Fix variables and assumptionsL15–15
Work with arbitrary variables or the premises of the current implication.
- L15
intro v
07Induction on vL16–18
08Construct an explicit witnessL19–19
Supply the displayed value, then prove that it has the required property.
- L19
exists S u
09Calculate and transport equalitiesL20–20
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L20
rewrite PA5 at h
10Use earlier factsL21–21
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L21
specialize zero_add r
11Calculate and transport equalitiesL22–23
12Use earlier factsL24–24
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L24
exact h
13Fix variables and assumptionsL25–26
14Establish hredL27–36
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply add right cancel.
15Use earlier factsL37–37
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L37
apply add_assoc
16Calculate and transport equalitiesL38–40
17Use earlier factsL41–41
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L41
apply add_comm
18Calculate and transport equalitiesL42–42
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L42
symm
Original defined command ledger · 47 lines
- 0001
intro c - 0002
induction u - 0003
intro v - 0004
intro r - 0005
intro h - 0006
rewrite PA5 at h - 0007
have hr : r = 0 - 0008
apply add_eq_zero_right - 0009
symm - 0010
exact h - 0011
exists 0 - 0012
rewrite hr - 0013
rewrite PA5 - 0014
refl - 0015
intro v - 0016
induction v - 0017
intro r - 0018
intro h - 0019
exists S u - 0020
rewrite PA5 at h - 0021
specialize zero_add r - 0022
rewrite zero_add at h - 0023
symm - 0024
exact h - 0025
intro r - 0026
intro h - 0027
have hred : c * u = c * v + r - 0028
specialize add_right_cancel (c * u) - 0029
specialize add_right_cancel (c * v + r) - 0030
specialize add_right_cancel c - 0031
apply add_right_cancel - 0032
rewrite PA6 at h - 0033
rewrite PA6 at h - 0034
trans (c * v + c) + r - 0035
exact h - 0036
trans c * v + (c + r) - 0037
apply add_assoc - 0038
trans c * v + (r + c) - 0039
congr - 0040
refl - 0041
apply add_comm - 0042
symm - 0043
apply add_assoc - 0044
specialize IH v - 0045
specialize IH r - 0046
apply IH - 0047
exact hred