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. Prime(p) → ¬p = 0Every 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 p. (~(p = 1) /\ forall a b. p = a * b -> a = 1 \/ b = 1) -> ~(p = 0)Proof neighborhood
Direct theorem prerequisites
Direct theorem dependents
PA003S prime_mod_cancel PA0061 prime_is_succ_succ PA0062 prime_mod_inverse PA0063 prime_bounded_nonzero_mod_inverse PA0072 gauss_half_range_signed_choices PA007B gauss_mixed_sign_scaled_source_impossible PA0084 gauss_signed_products_cancel_mod PA008B prime_mul_index_map_exists_up_to PA008L fermat_predecessor_exponent_mod_one PA008M quadratic_residue_half_power_mod_one PA008Q prime_scaled_inverse_exists PA00BN bounded_euler_criterion_dichotomy PA00BR arbitrary_euler_criterion_residue_iff PA00BT arbitrary_euler_criterion_nonresidue_iff PA00C0 prime_scaled_half_division_prefix_existsDefinition-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 (2)
01Fix variables and assumptionsL1–3
02Separate the logical casesL4–4
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L4
cases hp
03Use earlier factsL5–6
04Establish hunitL7–11
05Separate the logical casesL12–12
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L12
cases hunit
06Use earlier factsL13–14
07Calculate and transport equalitiesL15–15
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L15
symm
08Use earlier factsL16–18
09Calculate and transport equalitiesL19–19
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L19
symm
10Use earlier factsL20–20
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L20
exact hunit_right
Original defined command ledger · 20 lines
- 0001
intro p - 0002
intro hp - 0003
intro hp0 - 0004
cases hp - 0005
specialize hp_right 0 - 0006
specialize hp_right 0 - 0007
have hunit : 0 = 1 \/ 0 = 1 - 0008
apply hp_right - 0009
rewrite hp0 - 0010
symm - 0011
apply mul_zero_left - 0012
cases hunit - 0013
specialize succ_ne_zero 0 - 0014
apply succ_ne_zero - 0015
symm - 0016
exact hunit_left - 0017
specialize succ_ne_zero 0 - 0018
apply succ_ne_zero - 0019
symm - 0020
exact hunit_right