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 first-order arithmetic statement
forall p n r. p = S n -> (exists u v. r * r + p * u = n + p * v) -> (exists fts_factor_root_norm. r * r + 1 = p * fts_factor_root_norm)Constructive proof overview
Generated structural guide
A square congruent to the predecessor of a successor yields an explicit divisor of its norm r²+1.
The unchanged tactic script uses 5 declared prerequisites and contains 64 exact native proof lines.
dependency-curried kernel-checked theorem body; Alpha enrollment and checked-use authority follow separately sealed release evidence; Stable membership remains unchanged
Proof neighborhood
Direct dependencies
mod_eq_to_remainder_decomposition Stable theorem; checked-use authorized add_assoc Stable theorem; checked-use authorized add_comm Stable theorem; checked-use authorized zero_add Stable theorem; checked-use authorized mul_comm Stable theorem; checked-use authorizedDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.
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.
01Fix variables and assumptionsL1–5
02Separate the logical casesL6–7
03Establish hzeroL8–8
Establish this local claim before using it. It is not an additional assumption.
- L8
have hzero : exists u v. (r * r + 1) + p * u = 0 + p * v
04Construct an explicit witnessL9–10
05Calculate and transport equalitiesL11–11
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L11
trans r * r + (1 + p * x)
06Use earlier factsL12–12
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L12
apply add_assoc
07Calculate and transport equalitiesL13–15
08Use earlier factsL16–16
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L16
apply add_comm
09Calculate and transport equalitiesL17–18
10Use earlier factsL19–19
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L19
apply add_assoc
11Calculate and transport equalitiesL20–21
12Use earlier factsL22–22
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L22
exact hroot_witness_witness
13Calculate and transport equalitiesL23–24
14Use earlier factsL25–25
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L25
apply add_assoc
15Calculate and transport equalitiesL26–28
16Use earlier factsL29–29
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L29
apply add_comm
17Calculate and transport equalitiesL30–31
18Use earlier factsL32–32
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L32
apply add_assoc
19Calculate and transport equalitiesL33–37
20Use earlier factsL38–38
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L38
exact hpredecessor
21Calculate and transport equalitiesL39–40
22Use earlier factsL41–41
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L41
apply add_comm
23Calculate and transport equalitiesL42–43
24Use earlier factsL44–44
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L44
apply PA6
25Calculate and transport equalitiesL45–45
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L45
symm
26Use earlier factsL46–46
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L46
apply zero_add
27Establish hdivisionL47–55
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mod eq to remainder decomposition.
- L47
have hdivision : exists q. r * r + 1 = q * p + 0 - L48
specialize mod_eq_to_remainder_decomposition p - L49
specialize mod_eq_to_remainder_decomposition (r * r + 1) - L50
specialize mod_eq_to_remainder_decomposition 0 - L51
apply mod_eq_to_remainder_decomposition - L52
intro hzero_modulus - L53
rewrite hpredecessor at hzero_modulus - L54
apply PA1 - L55
exact hzero_modulus
28Construct an explicit witnessL56–56
Supply the displayed value, then prove that it has the required property.
- L56
exists n
29Calculate and transport equalitiesL57–58
30Use earlier factsL59–59
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L59
exact hzero
31Separate the logical casesL60–60
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L60
cases hdivision
32Construct an explicit witnessL61–61
Supply the displayed value, then prove that it has the required property.
- L61
exists x2
33Calculate and transport equalitiesL62–62
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L62
trans x2 * p + 0
34Use earlier factsL63–63
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L63
exact hdivision_witness
35Calculate and transport equalitiesL64–64
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L64
simp [mul_comm]
Original exact command ledger · 64 lines
- 0001
intro p - 0002
intro n - 0003
intro r - 0004
intro hpredecessor - 0005
intro hroot - 0006
cases hroot - 0007
cases hroot_witness - 0008
have hzero : exists u v. (r * r + 1) + p * u = 0 + p * v - 0009
exists x - 0010
exists S x1 - 0011
trans r * r + (1 + p * x) - 0012
apply add_assoc - 0013
trans r * r + (p * x + 1) - 0014
congr - 0015
refl - 0016
apply add_comm - 0017
trans (r * r + p * x) + 1 - 0018
symm - 0019
apply add_assoc - 0020
trans (n + p * x1) + 1 - 0021
congr - 0022
exact hroot_witness_witness - 0023
refl - 0024
trans n + (p * x1 + 1) - 0025
apply add_assoc - 0026
trans n + (1 + p * x1) - 0027
congr - 0028
refl - 0029
apply add_comm - 0030
trans (n + 1) + p * x1 - 0031
symm - 0032
apply add_assoc - 0033
trans p + p * x1 - 0034
congr - 0035
trans S n - 0036
simp - 0037
symm - 0038
exact hpredecessor - 0039
refl - 0040
trans p * x1 + p - 0041
apply add_comm - 0042
trans p * S x1 - 0043
symm - 0044
apply PA6 - 0045
symm - 0046
apply zero_add - 0047
have hdivision : exists q. r * r + 1 = q * p + 0 - 0048
specialize mod_eq_to_remainder_decomposition p - 0049
specialize mod_eq_to_remainder_decomposition (r * r + 1) - 0050
specialize mod_eq_to_remainder_decomposition 0 - 0051
apply mod_eq_to_remainder_decomposition - 0052
intro hzero_modulus - 0053
rewrite hpredecessor at hzero_modulus - 0054
apply PA1 - 0055
exact hzero_modulus - 0056
exists n - 0057
rewrite hpredecessor - 0058
simp - 0059
exact hzero - 0060
cases hdivision - 0061
exists x2 - 0062
trans x2 * p + 0 - 0063
exact hdivision_witness - 0064
simp [mul_comm]