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
Prime(3)Every purple notation token opens its conservative definition. Expanding the displayed statement recovers the exact first-order Peano-arithmetic formula checked by the unchanged kernel.
Definitions used by this theorem
In the theorem statement
1 occurrences
In local proof propositions
0 occurrences
Exact expanded native-PA statement
~(3 = 1) /\ forall a b. 3 = a * b -> a = 1 \/ b = 1Proof neighborhood
Direct theorem prerequisites
BT0005 mul_succ_left BT0020 mul_eq_one_components BT001X add_eq_zero_left BT000M mul_eq_zero BT0004 mul_zero_left BT000Q zero_or_succDirect theorem dependents
Definition-aware tactic body
Only local propositions introduced by have or suffices are compacted. Every changed line has an exact-AST conservative-expansion receipt; the kernel still receives the immutable original tactic script.
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 (6)
01Establish hlargeL1–9
Establish this local claim before using it. It is not an additional assumption.
02Establish honeL10–13
03Establish hysplitL14–16
04Separate the logical casesL17–17
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L17
cases hysplit
05Calculate and transport equalitiesL18–20
06Establish hprod_oneL21–23
07Establish hcomponentsL24–28
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mul eq one components.
08Separate the logical casesL29–29
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L29
cases hcomponents
09Establish h10L30–34
10Separate the logical casesL35–35
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L35
cases hysplit_right
11Calculate and transport equalitiesL36–38
12Establish hzeroL39–41
13Establish hsumzeroL42–44
14Establish hprodzeroL45–49
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply add eq zero left.
15Establish hfactorsL50–54
16Separate the logical casesL55–55
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L55
cases hfactors
17Use earlier factsL56–59
18Separate the logical casesL60–60
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L60
split
19Fix variables and assumptionsL61–61
Work with arbitrary variables or the premises of the current implication.
- L61
intro h31
20Establish h20L62–67
21Induction on bL68–70
22Separate the logical casesL71–71
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L71
exfalso
23Use earlier factsL72–73
24Induction on bL74–75
25Separate the logical casesL76–76
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L76
right
26Calculate and transport equalitiesL77–77
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L77
refl
27Induction on aL78–81
28Separate the logical casesL82–82
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L82
exfalso
29Use earlier factsL83–84
30Induction on aL85–86
31Separate the logical casesL87–87
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L87
left
32Calculate and transport equalitiesL88–88
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L88
refl
33Fix variables and assumptionsL89–89
Work with arbitrary variables or the premises of the current implication.
- L89
intro hab
34Separate the logical casesL90–90
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L90
exfalso
Original defined command ledger · 94 lines
- 0001
have hlarge : forall x y. ~(3 = S (S x) * S (S y)) - 0002
intro x - 0003
intro y - 0004
intro hlarge_eq - 0005
specialize mul_succ_left (S x) - 0006
specialize mul_succ_left (S (S y)) - 0007
rewrite mul_succ_left at hlarge_eq - 0008
rewrite PA4 at hlarge_eq - 0009
rewrite PA4 at hlarge_eq - 0010
have hone : 1 = S x * S (S y) + y - 0011
apply PA2 - 0012
apply PA2 - 0013
exact hlarge_eq - 0014
have hysplit : y = 0 \/ exists z. y = S z - 0015
specialize zero_or_succ y - 0016
exact zero_or_succ - 0017
cases hysplit - 0018
rewrite hysplit_left at hone - 0019
rewrite hysplit_left at hone - 0020
rewrite PA3 at hone - 0021
have hprod_one : S x * S (S 0) = 1 - 0022
symm - 0023
exact hone - 0024
have hcomponents : S x = 1 /\ S (S 0) = 1 - 0025
specialize mul_eq_one_components (S x) - 0026
specialize mul_eq_one_components (S (S 0)) - 0027
apply mul_eq_one_components - 0028
exact hprod_one - 0029
cases hcomponents - 0030
have h10 : 1 = 0 - 0031
apply PA2 - 0032
exact hcomponents_right - 0033
apply PA1 - 0034
exact h10 - 0035
cases hysplit_right - 0036
rewrite hysplit_right_witness at hone - 0037
rewrite hysplit_right_witness at hone - 0038
rewrite PA4 at hone - 0039
have hzero : 0 = S x * S (S (S x1)) + x1 - 0040
apply PA2 - 0041
exact hone - 0042
have hsumzero : S x * S (S (S x1)) + x1 = 0 - 0043
symm - 0044
exact hzero - 0045
have hprodzero : S x * S (S (S x1)) = 0 - 0046
specialize add_eq_zero_left (S x * S (S (S x1))) - 0047
specialize add_eq_zero_left x1 - 0048
apply add_eq_zero_left - 0049
exact hsumzero - 0050
have hfactors : S x = 0 \/ S (S (S x1)) = 0 - 0051
specialize mul_eq_zero (S x) - 0052
specialize mul_eq_zero (S (S (S x1))) - 0053
apply mul_eq_zero - 0054
exact hprodzero - 0055
cases hfactors - 0056
apply PA1 - 0057
exact hfactors_left - 0058
apply PA1 - 0059
exact hfactors_right - 0060
split - 0061
intro h31 - 0062
have h20 : 2 = 0 - 0063
apply PA2 - 0064
exact h31 - 0065
apply PA1 - 0066
exact h20 - 0067
intro a - 0068
induction b - 0069
intro hab - 0070
rewrite PA5 at hab - 0071
exfalso - 0072
apply PA1 - 0073
exact hab - 0074
induction b - 0075
intro hab - 0076
right - 0077
refl - 0078
induction a - 0079
intro hab - 0080
specialize mul_zero_left (S (S b)) - 0081
rewrite mul_zero_left at hab - 0082
exfalso - 0083
apply PA1 - 0084
exact hab - 0085
induction a - 0086
intro hab - 0087
left - 0088
refl - 0089
intro hab - 0090
exfalso - 0091
specialize hlarge a - 0092
specialize hlarge b - 0093
apply hlarge - 0094
exact hab