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
∀ p. ∀ a. ¬p = 0 → ModEq(p,a,0) → Dvd(p,a)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
2 occurrences
In local proof propositions
1 occurrences
Exact expanded native-PA statement
forall p a. ~(p = 0) -> (exists wpp_mod_left_euler_zero_mod wpp_mod_right_euler_zero_mod. (a) + p * wpp_mod_left_euler_zero_mod = (0) + p * wpp_mod_right_euler_zero_mod) -> exists k. a = p * kProof 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 (3)
01Fix variables and assumptionsL1–4
02Establish hpsL5–8
03Separate the logical casesL9–9
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L9
cases hps
04Establish hboundL10–10
Establish this local claim before using it. It is not an additional assumption.
05Construct an explicit witnessL11–11
Supply the displayed value, then prove that it has the required property.
- L11
exists x
06Calculate and transport equalitiesL12–14
07Use earlier factsL15–15
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L15
exact hps_witness
08Establish hdecompL16–23
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mod eq to remainder decomposition.
09Separate the logical casesL24–24
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L24
cases hdecomp
10Construct an explicit witnessL25–25
Supply the displayed value, then prove that it has the required property.
- L25
exists x1
11Calculate and transport equalitiesL26–26
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L26
trans x1 * p + 0
12Use earlier factsL27–27
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L27
exact hdecomp_witness
13Calculate and transport equalitiesL28–29
14Use earlier factsL30–30
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L30
apply mul_comm
Original defined command ledger · 30 lines
- 0001
intro p - 0002
intro a - 0003
intro hp - 0004
intro hmod - 0005
have hps : exists n. p = S n - 0006
specialize nonzero_is_succ p - 0007
apply nonzero_is_succ - 0008
exact hp - 0009
cases hps - 0010
have hbound : Lt(0,p)Exact native replay line
have hbound : exists d. d + S 0 = p - 0011
exists x - 0012
trans S x - 0013
simp - 0014
symm - 0015
exact hps_witness - 0016
have hdecomp : exists q. a = q * p + 0 - 0017
specialize mod_eq_to_remainder_decomposition p - 0018
specialize mod_eq_to_remainder_decomposition a - 0019
specialize mod_eq_to_remainder_decomposition 0 - 0020
apply mod_eq_to_remainder_decomposition - 0021
exact hp - 0022
exact hbound - 0023
exact hmod - 0024
cases hdecomp - 0025
exists x1 - 0026
trans x1 * p + 0 - 0027
exact hdecomp_witness - 0028
trans x1 * p - 0029
simp - 0030
apply mul_comm