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
∀ a. ∀ b. ∀ h. PrimitiveFermatFourCounterexample(a,b,h) → Odd(a · a) → Even(b · b) → ∃ x. ∃ y. ∃ z. SmallerFermatFourCounterexample(x,y,z,h)Every purple notation token opens its conservative definition. This reading surface never changes the unchanged intuitionistic kernel or confers checked-use authority.
Definitions used by this theorem
In the theorem statement
ND0071 PrimitiveFermatFourCounterexample ND0072 SmallerFermatFourCounterexample PD0009 Even PD0010 OddIn local proof propositions
Exact expanded first-order statement
forall a b h. ((((~((a) = 0) /\ (~((b) = 0) /\ (~((h) = 0) /\ ((a) * (a) * (a) * (a) + (b) * (b) * (b) * (b) = (h) * (h)))))) /\ (forall pff_divisor_oriented_source. (exists pff_left_oriented_source. (a) = pff_divisor_oriented_source * pff_left_oriented_source) -> (exists pff_right_oriented_source. (b) = pff_divisor_oriented_source * pff_right_oriented_source) -> pff_divisor_oriented_source = 1))) -> (exists k. a * a = 2 * k + 1) -> (exists k. b * b = 2 * k) -> exists A B H. ((((~((A) = 0) /\ (~((B) = 0) /\ (~((H) = 0) /\ ((A) * (A) * (A) * (A) + (B) * (B) * (B) * (B) = (H) * (H)))))) /\ (exists ffd_gap_oriented_result. ffd_gap_oriented_result + S H = h)))Proof neighborhood
Direct theorem prerequisites
PF002I fermat_four_primitive_square_triangle PF001X pythagorean_primitive_odd_even_inverse PF0025 fermat_four_square_nonzero PF002G fermat_four_nested_primitive_triangle PF0016 pythagorean_primitive_hypotenuse_odd PF002E fermat_four_odd_double_square_factors PF001U pythagorean_positive_even_leg_parameters_nonzero factor_nonzero_left · Stable closed PF0015 pythagorean_odd_square_has_odd_root PF002H fermat_four_second_parameter_descentDirect theorem dependents
Definition-aware tactic body
Only propositions whose conservative expansion has been checked for exact first-order equivalence are compacted. Every changed line retains its immutable exact replay command.
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 (9)
01Fix variables and assumptionsL1–6
02Separate the logical casesL7–10
03Establish htriangleL11–13
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply fermat four primitive square triangle.
- L11
have htriangle : PrimitivePythagorean(a · a,b · b,h)Definitions: PrimitivePythagorean(a · a,b · b,h)Original native command in the exact edition - L12
apply fermat_four_primitive_square_triangle - L13
exact hprimitive
04Establish hfirstL14–23
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pythagorean primitive odd even inverse.
- L14
have hfirst : ∃ m. ∃ n. EuclidParameters(a · a,b · b,h,m,n)Definitions: EuclidParameters(a · a,b · b,h,m,n)Original native command in the exact edition - L15
specialize pythagorean_primitive_odd_even_inverse (a * a) - L16
specialize pythagorean_primitive_odd_even_inverse (b * b) - L17
specialize pythagorean_primitive_odd_even_inverse (h) - L18
apply pythagorean_primitive_odd_even_inverse - L19
exact htriangle - L20
intro hzero - L21
specialize fermat_four_square_nonzero (a) - L22
apply fermat_four_square_nonzero - L23
exact hprimitive_left_left
05Use earlier factsL24–24
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L24
exact hzero
06Fix variables and assumptionsL25–25
Work with arbitrary variables or the premises of the current implication.
- L25
intro hzero
07Use earlier factsL26–31
08Separate the logical casesL32–39
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L32
cases hfirst - L33
cases hfirst_witness - L34
cases hfirst_witness_witness - L35
cases hfirst_witness_witness_right - L36
cases hfirst_witness_witness_right_right - L37
cases hfirst_witness_witness_right_right_right - L38
cases hfirst_witness_witness_right_right_right_right - L39
cases hfirst_witness_witness_right_right_right_right_right
09Establish hnestedL40–46
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply fermat four nested primitive triangle.
- L40
have hnested : PrimitivePythagorean(a,x1,x)Definitions: PrimitivePythagorean(a,x1,x)Original native command in the exact edition - L41
specialize fermat_four_nested_primitive_triangle (a) - L42
specialize fermat_four_nested_primitive_triangle (x) - L43
specialize fermat_four_nested_primitive_triangle (x1) - L44
apply fermat_four_nested_primitive_triangle - L45
exact hfirst_witness_witness_right_right_left - L46
exact hfirst_witness_witness_right_right_right_right_right_left
10Establish hmoddL47–52
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pythagorean primitive hypotenuse odd.
11Establish hdoubleL53–60
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply fermat four odd double square factors.
- L53
have hdouble : exists u v. (x = u * u /\ x1 = 2 * (v * v)) - L54
specialize fermat_four_odd_double_square_factors (x) - L55
specialize fermat_four_odd_double_square_factors (x1) - L56
specialize fermat_four_odd_double_square_factors (b) - L57
apply fermat_four_odd_double_square_factors - L58
exact hfirst_witness_witness_right_right_left - L59
exact hmodd - L60
exact hfirst_witness_witness_right_right_right_right_right_right
12Separate the logical casesL61–63
13Establish hparameterspositiveL64–73
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pythagorean positive even leg parameters nonzero.
- L64
have hparameterspositive : ~(x = 0) /\ ~(x1 = 0) - L65
specialize pythagorean_positive_even_leg_parameters_nonzero (b * b) - L66
specialize pythagorean_positive_even_leg_parameters_nonzero (x) - L67
specialize pythagorean_positive_even_leg_parameters_nonzero (x1) - L68
apply pythagorean_positive_even_leg_parameters_nonzero - L69
intro hzero - L70
specialize fermat_four_square_nonzero (b) - L71
apply fermat_four_square_nonzero - L72
exact hprimitive_left_right_left - L73
exact hzero
14Use earlier factsL74–74
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L74
exact hfirst_witness_witness_right_right_right_right_right_right
15Separate the logical casesL75–75
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L75
cases hparameterspositive
16Establish hupositiveL76–84
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply factor nonzero left.
17Establish hsecondL85–94
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pythagorean primitive odd even inverse.
- L85
have hsecond : ∃ r. ∃ s. EuclidParameters(a,x1,x,r,s)Definitions: EuclidParameters(a,x1,x,r,s)Original native command in the exact edition - L86
specialize pythagorean_primitive_odd_even_inverse (a) - L87
specialize pythagorean_primitive_odd_even_inverse (x1) - L88
specialize pythagorean_primitive_odd_even_inverse (x) - L89
apply pythagorean_primitive_odd_even_inverse - L90
exact hnested - L91
exact hprimitive_left_left - L92
exact hfirst_witness_witness_left - L93
apply pythagorean_odd_square_has_odd_root - L94
exact haodd
18Construct an explicit witnessL95–95
Supply the displayed value, then prove that it has the required property.
- L95
exists x3 * x3
19Use earlier factsL96–96
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L96
exact hdouble_witness_witness_right
20Separate the logical casesL97–104
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L97
cases hsecond - L98
cases hsecond_witness - L99
cases hsecond_witness_witness - L100
cases hsecond_witness_witness_right - L101
cases hsecond_witness_witness_right_right - L102
cases hsecond_witness_witness_right_right_right - L103
cases hsecond_witness_witness_right_right_right_right - L104
cases hsecond_witness_witness_right_right_right_right_right
21Establish hsmallerL105–114
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply fermat four second parameter descent.
- L105
have hsmaller : ∃ A. ∃ B. SmallerFermatFourCounterexample(A,B,x2,h)Definitions: SmallerFermatFourCounterexample(A,B,x2,h)Original native command in the exact edition - L106
specialize fermat_four_second_parameter_descent (x2) - L107
specialize fermat_four_second_parameter_descent (x) - L108
specialize fermat_four_second_parameter_descent (x1) - L109
specialize fermat_four_second_parameter_descent (x3) - L110
specialize fermat_four_second_parameter_descent (x4) - L111
specialize fermat_four_second_parameter_descent (x5) - L112
specialize fermat_four_second_parameter_descent (h) - L113
apply fermat_four_second_parameter_descent - L114
exact hupositive
22Use earlier factsL115–121
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L115
exact hfirst_witness_witness_left - L116
exact hsecond_witness_witness_right_right_left - L117
exact hdouble_witness_witness_left - L118
exact hdouble_witness_witness_right - L119
exact hsecond_witness_witness_right_right_right_right_left - L120
exact hsecond_witness_witness_right_right_right_right_right_right - L121
exact hfirst_witness_witness_right_right_right_right_left
23Separate the logical casesL122–123
24Construct an explicit witnessL124–126
25Use earlier factsL127–127
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L127
exact hsmaller_witness_witness
Original defined command ledger · 127 lines
- 0001
intro a - 0002
intro b - 0003
intro h - 0004
intro hprimitive - 0005
intro haodd - 0006
intro hbeven - 0007
cases hprimitive - 0008
cases hprimitive_left - 0009
cases hprimitive_left_right - 0010
cases hprimitive_left_right_right - 0011
have htriangle : PrimitivePythagorean(a · a,b · b,h)Exact native replay line
have htriangle : (((a * a) * (a * a) + (b * b) * (b * b) = (h) * (h)) /\ (forall pff_divisor_ffd_oriented_triangle. (exists pff_left_ffd_oriented_triangle. (a * a) = pff_divisor_ffd_oriented_triangle * pff_left_ffd_oriented_triangle) -> (exists pff_right_ffd_oriented_triangle. (b * b) = pff_divisor_ffd_oriented_triangle * pff_right_ffd_oriented_triangle) -> pff_divisor_ffd_oriented_triangle = 1)) - 0012
apply fermat_four_primitive_square_triangle - 0013
exact hprimitive - 0014
have hfirst : ∃ m. ∃ n. EuclidParameters(a · a,b · b,h,m,n)Exact native replay line
have hfirst : exists m n. ((~((n) = 0) /\ ((exists pi_gap_ffd_first_inverse. pi_gap_ffd_first_inverse + S (n) = (m)) /\ ((forall pff_divisor_pi_ffd_first_inverse_coprime. (exists pff_left_pi_ffd_first_inverse_coprime. (m) = pff_divisor_pi_ffd_first_inverse_coprime * pff_left_pi_ffd_first_inverse_coprime) -> (exists pff_right_pi_ffd_first_inverse_coprime. (n) = pff_divisor_pi_ffd_first_inverse_coprime * pff_right_pi_ffd_first_inverse_coprime) -> pff_divisor_pi_ffd_first_inverse_coprime = 1) /\ (((((exists pp_even_pi_ffd_first_inverse_parity_first_even. (m) = 2 * pp_even_pi_ffd_first_inverse_parity_first_even) /\ (exists pp_odd_pi_ffd_first_inverse_parity_second_odd. (n) = 2 * pp_odd_pi_ffd_first_inverse_parity_second_odd + 1)) \/ ((exists pp_odd_pi_ffd_first_inverse_parity_first_odd. (m) = 2 * pp_odd_pi_ffd_first_inverse_parity_first_odd + 1) /\ (exists pp_even_pi_ffd_first_inverse_parity_second_even. (n) = 2 * pp_even_pi_ffd_first_inverse_parity_second_even)))) /\ ((h) = (m) * (m) + (n) * (n) /\ ((m) * (m) = (n) * (n) + (a * a) /\ (b * b) = 2 * ((m) * (n))))))))) - 0015
specialize pythagorean_primitive_odd_even_inverse (a * a) - 0016
specialize pythagorean_primitive_odd_even_inverse (b * b) - 0017
specialize pythagorean_primitive_odd_even_inverse (h) - 0018
apply pythagorean_primitive_odd_even_inverse - 0019
exact htriangle - 0020
intro hzero - 0021
specialize fermat_four_square_nonzero (a) - 0022
apply fermat_four_square_nonzero - 0023
exact hprimitive_left_left - 0024
exact hzero - 0025
intro hzero - 0026
specialize fermat_four_square_nonzero (b) - 0027
apply fermat_four_square_nonzero - 0028
exact hprimitive_left_right_left - 0029
exact hzero - 0030
exact haodd - 0031
exact hbeven - 0032
cases hfirst - 0033
cases hfirst_witness - 0034
cases hfirst_witness_witness - 0035
cases hfirst_witness_witness_right - 0036
cases hfirst_witness_witness_right_right - 0037
cases hfirst_witness_witness_right_right_right - 0038
cases hfirst_witness_witness_right_right_right_right - 0039
cases hfirst_witness_witness_right_right_right_right_right - 0040
have hnested : PrimitivePythagorean(a,x1,x)Exact native replay line
have hnested : (((a) * (a) + (x1) * (x1) = (x) * (x)) /\ (forall pff_divisor_ffd_oriented_nested. (exists pff_left_ffd_oriented_nested. (a) = pff_divisor_ffd_oriented_nested * pff_left_ffd_oriented_nested) -> (exists pff_right_ffd_oriented_nested. (x1) = pff_divisor_ffd_oriented_nested * pff_right_ffd_oriented_nested) -> pff_divisor_ffd_oriented_nested = 1)) - 0041
specialize fermat_four_nested_primitive_triangle (a) - 0042
specialize fermat_four_nested_primitive_triangle (x) - 0043
specialize fermat_four_nested_primitive_triangle (x1) - 0044
apply fermat_four_nested_primitive_triangle - 0045
exact hfirst_witness_witness_right_right_left - 0046
exact hfirst_witness_witness_right_right_right_right_right_left - 0047
have hmodd : Odd(x)Exact native replay line
have hmodd : exists k. x = 2 * k + 1 - 0048
specialize pythagorean_primitive_hypotenuse_odd (a) - 0049
specialize pythagorean_primitive_hypotenuse_odd (x1) - 0050
specialize pythagorean_primitive_hypotenuse_odd (x) - 0051
apply pythagorean_primitive_hypotenuse_odd - 0052
exact hnested - 0053
have hdouble : exists u v. (x = u * u /\ x1 = 2 * (v * v)) - 0054
specialize fermat_four_odd_double_square_factors (x) - 0055
specialize fermat_four_odd_double_square_factors (x1) - 0056
specialize fermat_four_odd_double_square_factors (b) - 0057
apply fermat_four_odd_double_square_factors - 0058
exact hfirst_witness_witness_right_right_left - 0059
exact hmodd - 0060
exact hfirst_witness_witness_right_right_right_right_right_right - 0061
cases hdouble - 0062
cases hdouble_witness - 0063
cases hdouble_witness_witness - 0064
have hparameterspositive : ~(x = 0) /\ ~(x1 = 0) - 0065
specialize pythagorean_positive_even_leg_parameters_nonzero (b * b) - 0066
specialize pythagorean_positive_even_leg_parameters_nonzero (x) - 0067
specialize pythagorean_positive_even_leg_parameters_nonzero (x1) - 0068
apply pythagorean_positive_even_leg_parameters_nonzero - 0069
intro hzero - 0070
specialize fermat_four_square_nonzero (b) - 0071
apply fermat_four_square_nonzero - 0072
exact hprimitive_left_right_left - 0073
exact hzero - 0074
exact hfirst_witness_witness_right_right_right_right_right_right - 0075
cases hparameterspositive - 0076
have hupositive : ~(x2 = 0) - 0077
intro hzero - 0078
specialize factor_nonzero_left (x) - 0079
specialize factor_nonzero_left (x2) - 0080
specialize factor_nonzero_left (x2) - 0081
apply factor_nonzero_left - 0082
exact hparameterspositive_left - 0083
exact hdouble_witness_witness_left - 0084
exact hzero - 0085
have hsecond : ∃ r. ∃ s. EuclidParameters(a,x1,x,r,s)Exact native replay line
have hsecond : exists r s. ((~((s) = 0) /\ ((exists pi_gap_ffd_second_inverse. pi_gap_ffd_second_inverse + S (s) = (r)) /\ ((forall pff_divisor_pi_ffd_second_inverse_coprime. (exists pff_left_pi_ffd_second_inverse_coprime. (r) = pff_divisor_pi_ffd_second_inverse_coprime * pff_left_pi_ffd_second_inverse_coprime) -> (exists pff_right_pi_ffd_second_inverse_coprime. (s) = pff_divisor_pi_ffd_second_inverse_coprime * pff_right_pi_ffd_second_inverse_coprime) -> pff_divisor_pi_ffd_second_inverse_coprime = 1) /\ (((((exists pp_even_pi_ffd_second_inverse_parity_first_even. (r) = 2 * pp_even_pi_ffd_second_inverse_parity_first_even) /\ (exists pp_odd_pi_ffd_second_inverse_parity_second_odd. (s) = 2 * pp_odd_pi_ffd_second_inverse_parity_second_odd + 1)) \/ ((exists pp_odd_pi_ffd_second_inverse_parity_first_odd. (r) = 2 * pp_odd_pi_ffd_second_inverse_parity_first_odd + 1) /\ (exists pp_even_pi_ffd_second_inverse_parity_second_even. (s) = 2 * pp_even_pi_ffd_second_inverse_parity_second_even)))) /\ ((x) = (r) * (r) + (s) * (s) /\ ((r) * (r) = (s) * (s) + (a) /\ (x1) = 2 * ((r) * (s))))))))) - 0086
specialize pythagorean_primitive_odd_even_inverse (a) - 0087
specialize pythagorean_primitive_odd_even_inverse (x1) - 0088
specialize pythagorean_primitive_odd_even_inverse (x) - 0089
apply pythagorean_primitive_odd_even_inverse - 0090
exact hnested - 0091
exact hprimitive_left_left - 0092
exact hfirst_witness_witness_left - 0093
apply pythagorean_odd_square_has_odd_root - 0094
exact haodd - 0095
exists x3 * x3 - 0096
exact hdouble_witness_witness_right - 0097
cases hsecond - 0098
cases hsecond_witness - 0099
cases hsecond_witness_witness - 0100
cases hsecond_witness_witness_right - 0101
cases hsecond_witness_witness_right_right - 0102
cases hsecond_witness_witness_right_right_right - 0103
cases hsecond_witness_witness_right_right_right_right - 0104
cases hsecond_witness_witness_right_right_right_right_right - 0105
have hsmaller : ∃ A. ∃ B. SmallerFermatFourCounterexample(A,B,x2,h)Exact native replay line
have hsmaller : exists A B. ((((~((A) = 0) /\ (~((B) = 0) /\ (~((x2) = 0) /\ ((A) * (A) * (A) * (A) + (B) * (B) * (B) * (B) = (x2) * (x2)))))) /\ (exists ffd_gap_oriented_smaller. ffd_gap_oriented_smaller + S x2 = h))) - 0106
specialize fermat_four_second_parameter_descent (x2) - 0107
specialize fermat_four_second_parameter_descent (x) - 0108
specialize fermat_four_second_parameter_descent (x1) - 0109
specialize fermat_four_second_parameter_descent (x3) - 0110
specialize fermat_four_second_parameter_descent (x4) - 0111
specialize fermat_four_second_parameter_descent (x5) - 0112
specialize fermat_four_second_parameter_descent (h) - 0113
apply fermat_four_second_parameter_descent - 0114
exact hupositive - 0115
exact hfirst_witness_witness_left - 0116
exact hsecond_witness_witness_right_right_left - 0117
exact hdouble_witness_witness_left - 0118
exact hdouble_witness_witness_right - 0119
exact hsecond_witness_witness_right_right_right_right_left - 0120
exact hsecond_witness_witness_right_right_right_right_right_right - 0121
exact hfirst_witness_witness_right_right_right_right_left - 0122
cases hsmaller - 0123
cases hsmaller_witness - 0124
exists x6 - 0125
exists x7 - 0126
exists x2 - 0127
exact hsmaller_witness_witness