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 m n d. m * m = n * n + d -> (forall pff_divisor_primitive_parameters. (exists pff_left_primitive_parameters. (m) = pff_divisor_primitive_parameters * pff_left_primitive_parameters) -> (exists pff_right_primitive_parameters. (n) = pff_divisor_primitive_parameters * pff_right_primitive_parameters) -> pff_divisor_primitive_parameters = 1) -> (forall pff_divisor_gap_first_result. (exists pff_left_gap_first_result. (d) = pff_divisor_gap_first_result * pff_left_gap_first_result) -> (exists pff_right_gap_first_result. (m) = pff_divisor_gap_first_result * pff_right_gap_first_result) -> pff_divisor_gap_first_result = 1)Constructive proof overview
Generated structural guide
A square-difference leg is coprime to the first Euclidean parameter whenever the parameters themselves are coprime.
The unchanged tactic script uses 5 declared prerequisites and contains 38 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
PF000O pythagorean_parameter_divisor_divides_square divides_remainder Stable theorem; checked-use authorized mul_one Stable theorem; checked-use authorized add_comm Stable theorem; checked-use authorized coprime_mul_right 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.
Named ingredients (1)
01Fix variables and assumptionsL1–8
02Establish hmsquareL9–13
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pythagorean parameter divisor divides square.
03Establish hnsquareL14–23
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divides remainder.
- L14
have hnsquare : exists q. n * n = divisor * q - L15
specialize divides_remainder divisor - L16
specialize divides_remainder (m * m) - L17
specialize divides_remainder d - L18
specialize divides_remainder 1 - L19
specialize divides_remainder (n * n) - L20
apply divides_remainder - L21
exact hmsquare - L22
exact hd - L23
specialize mul_one d
04Calculate and transport equalitiesL24–25
05Use earlier factsL26–27
06Establish hsquarecopL28–37
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply coprime mul right.
- L28
have hsquarecop : forall pff_divisor_first_square_local. (exists pff_left_first_square_local. (m) = pff_divisor_first_square_local * pff_left_first_square_local) -> (exists pff_right_first_square_local. (n * n) = pff_divisor_first_square_local * pff_right_first_square_local) -> pff_divisor_first_square_local = 1 - L29
specialize coprime_mul_right m - L30
specialize coprime_mul_right n - L31
specialize coprime_mul_right n - L32
apply coprime_mul_right - L33
exact hcoprime - L34
exact hcoprime - L35
specialize hsquarecop divisor - L36
apply hsquarecop - L37
exact hm
07Use earlier factsL38–38
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L38
exact hnsquare
Original exact command ledger · 38 lines
- 0001
intro m - 0002
intro n - 0003
intro d - 0004
intro hgap - 0005
intro hcoprime - 0006
intro divisor - 0007
intro hd - 0008
intro hm - 0009
have hmsquare : exists q. m * m = divisor * q - 0010
specialize pythagorean_parameter_divisor_divides_square divisor - 0011
specialize pythagorean_parameter_divisor_divides_square m - 0012
apply pythagorean_parameter_divisor_divides_square - 0013
exact hm - 0014
have hnsquare : exists q. n * n = divisor * q - 0015
specialize divides_remainder divisor - 0016
specialize divides_remainder (m * m) - 0017
specialize divides_remainder d - 0018
specialize divides_remainder 1 - 0019
specialize divides_remainder (n * n) - 0020
apply divides_remainder - 0021
exact hmsquare - 0022
exact hd - 0023
specialize mul_one d - 0024
rewrite mul_one - 0025
trans n * n + d - 0026
exact hgap - 0027
apply add_comm - 0028
have hsquarecop : forall pff_divisor_first_square_local. (exists pff_left_first_square_local. (m) = pff_divisor_first_square_local * pff_left_first_square_local) -> (exists pff_right_first_square_local. (n * n) = pff_divisor_first_square_local * pff_right_first_square_local) -> pff_divisor_first_square_local = 1 - 0029
specialize coprime_mul_right m - 0030
specialize coprime_mul_right n - 0031
specialize coprime_mul_right n - 0032
apply coprime_mul_right - 0033
exact hcoprime - 0034
exact hcoprime - 0035
specialize hsquarecop divisor - 0036
apply hsquarecop - 0037
exact hm - 0038
exact hnsquare