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 x y z. ((((x) * (x) + (y) * (y) = (z) * (z)) /\ (forall pff_divisor_pairwise_source. (exists pff_left_pairwise_source. (x) = pff_divisor_pairwise_source * pff_left_pairwise_source) -> (exists pff_right_pairwise_source. (y) = pff_divisor_pairwise_source * pff_right_pairwise_source) -> pff_divisor_pairwise_source = 1))) -> (forall pff_divisor_first_hypotenuse_result. (exists pff_left_first_hypotenuse_result. (x) = pff_divisor_first_hypotenuse_result * pff_left_first_hypotenuse_result) -> (exists pff_right_first_hypotenuse_result. (z) = pff_divisor_first_hypotenuse_result * pff_right_first_hypotenuse_result) -> pff_divisor_first_hypotenuse_result = 1)Constructive proof overview
Generated structural guide
In every primitive Pythagorean triple, the first leg and hypotenuse have no nonunit common divisor.
The unchanged tactic script uses 4 declared prerequisites and contains 42 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 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–4
02Separate the logical casesL5–5
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L5
cases hprimitive
03Fix variables and assumptionsL6–8
04Establish hxsquareL9–13
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pythagorean parameter divisor divides square.
05Establish hzsquareL14–18
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pythagorean parameter divisor divides square.
06Establish hysquareL19–28
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divides remainder.
- L19
have hysquare : exists q. y * y = divisor * q - L20
specialize divides_remainder divisor - L21
specialize divides_remainder (z * z) - L22
specialize divides_remainder (x * x) - L23
specialize divides_remainder 1 - L24
specialize divides_remainder (y * y) - L25
apply divides_remainder - L26
exact hzsquare - L27
exact hxsquare - L28
specialize mul_one (x * x)
07Calculate and transport equalitiesL29–30
08Use earlier factsL31–31
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L31
exact hprimitive_left
09Establish hsquarecopL32–41
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply coprime mul right.
- L32
have hsquarecop : forall pff_divisor_hypotenuse_first_square. (exists pff_left_hypotenuse_first_square. (x) = pff_divisor_hypotenuse_first_square * pff_left_hypotenuse_first_square) -> (exists pff_right_hypotenuse_first_square. (y * y) = pff_divisor_hypotenuse_first_square * pff_right_hypotenuse_first_square) -> pff_divisor_hypotenuse_first_square = 1 - L33
specialize coprime_mul_right x - L34
specialize coprime_mul_right y - L35
specialize coprime_mul_right y - L36
apply coprime_mul_right - L37
exact hprimitive_right - L38
exact hprimitive_right - L39
specialize hsquarecop divisor - L40
apply hsquarecop - L41
exact hx
10Use earlier factsL42–42
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L42
exact hysquare
Original exact command ledger · 42 lines
- 0001
intro x - 0002
intro y - 0003
intro z - 0004
intro hprimitive - 0005
cases hprimitive - 0006
intro divisor - 0007
intro hx - 0008
intro hz - 0009
have hxsquare : exists q. x * x = divisor * q - 0010
specialize pythagorean_parameter_divisor_divides_square divisor - 0011
specialize pythagorean_parameter_divisor_divides_square x - 0012
apply pythagorean_parameter_divisor_divides_square - 0013
exact hx - 0014
have hzsquare : exists q. z * z = divisor * q - 0015
specialize pythagorean_parameter_divisor_divides_square divisor - 0016
specialize pythagorean_parameter_divisor_divides_square z - 0017
apply pythagorean_parameter_divisor_divides_square - 0018
exact hz - 0019
have hysquare : exists q. y * y = divisor * q - 0020
specialize divides_remainder divisor - 0021
specialize divides_remainder (z * z) - 0022
specialize divides_remainder (x * x) - 0023
specialize divides_remainder 1 - 0024
specialize divides_remainder (y * y) - 0025
apply divides_remainder - 0026
exact hzsquare - 0027
exact hxsquare - 0028
specialize mul_one (x * x) - 0029
rewrite mul_one - 0030
symm - 0031
exact hprimitive_left - 0032
have hsquarecop : forall pff_divisor_hypotenuse_first_square. (exists pff_left_hypotenuse_first_square. (x) = pff_divisor_hypotenuse_first_square * pff_left_hypotenuse_first_square) -> (exists pff_right_hypotenuse_first_square. (y * y) = pff_divisor_hypotenuse_first_square * pff_right_hypotenuse_first_square) -> pff_divisor_hypotenuse_first_square = 1 - 0033
specialize coprime_mul_right x - 0034
specialize coprime_mul_right y - 0035
specialize coprime_mul_right y - 0036
apply coprime_mul_right - 0037
exact hprimitive_right - 0038
exact hprimitive_right - 0039
specialize hsquarecop divisor - 0040
apply hsquarecop - 0041
exact hx - 0042
exact hysquare