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.
Exact expanded 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 * kStructural proof guide
Generated structural guide
For a nonzero modulus, congruence to zero gives an explicit divisor witness.
Use the direct prerequisites nonzero_is_succ, mod_eq_to_remainder_decomposition, mul_comm as previously established PA formulas.
The proof proceeds by case analysis (2), intermediate claims (3), certified simplification (2).
Referenced ingredients
Proof neighborhood
Direct dependencies
Direct dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Linked names are exact direct references. This Alpha-v25 checked-use theorem is independently kernel-checked when replayed; it is not a Stable theorem.
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.
- L10
have hbound : exists d. d + S 0 = p
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 exact 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 : 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