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 r a b c d. (exists ftcn_factor_root. (r * r + 1) = (p) * ftcn_factor_root) -> (exists ftcn_left_collision ftcn_right_collision. (r * a + b) + (p) * ftcn_left_collision = (r * c + d) + (p) * ftcn_right_collision) -> exists x y. ((((a) = (c) + (x) \/ (c) = (a) + (x))) /\ ((((b) = (d) + (y) \/ (d) = (b) + (y))) /\ (exists ftcn_factor_norm. (x * x + y * y) = (p) * ftcn_factor_norm)))Constructive proof overview
Generated structural guide
An actual balanced affine collision produces explicit natural absolute differences and an actual prime-divisible two-square norm.
The unchanged tactic script uses 4 declared prerequisites and contains 52 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
TS001A natural_absolute_difference_exists TS001C affine_collision_difference_linear_or_opposite TS0018 negative_one_linear_congruence_norm_multiple TS0019 negative_one_opposite_linear_congruence_norm_multipleDirect 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.
Named ingredients (4)
01Fix variables and assumptionsL1–8
02Establish hfirstL9–12
03Separate the logical casesL13–13
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L13
cases hfirst
04Establish hsecondL14–17
05Separate the logical casesL18–18
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L18
cases hsecond
06Construct an explicit witnessL19–20
07Separate the logical casesL21–21
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L21
split
08Use earlier factsL22–22
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L22
exact hfirst_witness
09Separate the logical casesL23–23
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L23
split
10Use earlier factsL24–24
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L24
exact hsecond_witness
11Establish hsignL25–34
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply affine collision difference linear or opposite.
- L25
have hsign : (exists ftcn_left_collision_direct ftcn_right_collision_direct. (r * x) + (p) * ftcn_left_collision_direct = (x1) + (p) * ftcn_right_collision_direct) \/ (exists ftcn_left_collision_opposite ftcn_right_collision_opposite. (r * x + x1) + (p) * ftcn_left_collision_opposite = (0) + (p) * ftcn_right_collision_opposite) - L26
specialize affine_collision_difference_linear_or_opposite p - L27
specialize affine_collision_difference_linear_or_opposite r - L28
specialize affine_collision_difference_linear_or_opposite a - L29
specialize affine_collision_difference_linear_or_opposite b - L30
specialize affine_collision_difference_linear_or_opposite c - L31
specialize affine_collision_difference_linear_or_opposite d - L32
specialize affine_collision_difference_linear_or_opposite x - L33
specialize affine_collision_difference_linear_or_opposite x1 - L34
apply affine_collision_difference_linear_or_opposite
12Use earlier factsL35–37
13Separate the logical casesL38–38
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L38
cases hsign
14Use earlier factsL39–48
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L39
specialize negative_one_linear_congruence_norm_multiple p - L40
specialize negative_one_linear_congruence_norm_multiple r - L41
specialize negative_one_linear_congruence_norm_multiple x - L42
specialize negative_one_linear_congruence_norm_multiple x1 - L43
apply negative_one_linear_congruence_norm_multiple - L44
exact hroot - L45
exact hsign_left - L46
specialize negative_one_opposite_linear_congruence_norm_multiple p - L47
specialize negative_one_opposite_linear_congruence_norm_multiple r - L48
specialize negative_one_opposite_linear_congruence_norm_multiple x
Original exact command ledger · 52 lines
- 0001
intro p - 0002
intro r - 0003
intro a - 0004
intro b - 0005
intro c - 0006
intro d - 0007
intro hroot - 0008
intro hcollision - 0009
have hfirst : exists x. (((a) = (c) + (x) \/ (c) = (a) + (x))) - 0010
specialize natural_absolute_difference_exists a - 0011
specialize natural_absolute_difference_exists c - 0012
exact natural_absolute_difference_exists - 0013
cases hfirst - 0014
have hsecond : exists y. (((b) = (d) + (y) \/ (d) = (b) + (y))) - 0015
specialize natural_absolute_difference_exists b - 0016
specialize natural_absolute_difference_exists d - 0017
exact natural_absolute_difference_exists - 0018
cases hsecond - 0019
exists x - 0020
exists x1 - 0021
split - 0022
exact hfirst_witness - 0023
split - 0024
exact hsecond_witness - 0025
have hsign : (exists ftcn_left_collision_direct ftcn_right_collision_direct. (r * x) + (p) * ftcn_left_collision_direct = (x1) + (p) * ftcn_right_collision_direct) \/ (exists ftcn_left_collision_opposite ftcn_right_collision_opposite. (r * x + x1) + (p) * ftcn_left_collision_opposite = (0) + (p) * ftcn_right_collision_opposite) - 0026
specialize affine_collision_difference_linear_or_opposite p - 0027
specialize affine_collision_difference_linear_or_opposite r - 0028
specialize affine_collision_difference_linear_or_opposite a - 0029
specialize affine_collision_difference_linear_or_opposite b - 0030
specialize affine_collision_difference_linear_or_opposite c - 0031
specialize affine_collision_difference_linear_or_opposite d - 0032
specialize affine_collision_difference_linear_or_opposite x - 0033
specialize affine_collision_difference_linear_or_opposite x1 - 0034
apply affine_collision_difference_linear_or_opposite - 0035
exact hcollision - 0036
exact hfirst_witness - 0037
exact hsecond_witness - 0038
cases hsign - 0039
specialize negative_one_linear_congruence_norm_multiple p - 0040
specialize negative_one_linear_congruence_norm_multiple r - 0041
specialize negative_one_linear_congruence_norm_multiple x - 0042
specialize negative_one_linear_congruence_norm_multiple x1 - 0043
apply negative_one_linear_congruence_norm_multiple - 0044
exact hroot - 0045
exact hsign_left - 0046
specialize negative_one_opposite_linear_congruence_norm_multiple p - 0047
specialize negative_one_opposite_linear_congruence_norm_multiple r - 0048
specialize negative_one_opposite_linear_congruence_norm_multiple x - 0049
specialize negative_one_opposite_linear_congruence_norm_multiple x1 - 0050
apply negative_one_opposite_linear_congruence_norm_multiple - 0051
exact hroot - 0052
exact hsign_right