Exact expanded PA statement
(~(2 * (11 * 22) + 37 = 1) /\ forall bpr_left_bb8cert_prime_five_hundred_twenty_one bpr_right_bb8cert_prime_five_hundred_twenty_one. 2 * (11 * 22) + 37 = bpr_left_bb8cert_prime_five_hundred_twenty_one * bpr_right_bb8cert_prime_five_hundred_twenty_one -> bpr_left_bb8cert_prime_five_hundred_twenty_one = 1 \/ bpr_right_bb8cert_prime_five_hundred_twenty_one = 1)Structural proof guide
A native checked trial-division certificate for 521.
Direct prerequisites: add_eq_zero_right, le_not_lt, add_assoc, add_comm, double_scaled_remainder_lift, add_mul, mul_assoc, one_mul, nonzero_remainder_not_multiple, prime_of_no_small_prime_divisor_below_square, le_trans, prime_le_twenty_two_cases. The authored body proceeds by case analysis (7), intermediate claims (11), equality transport (11), closed numeral normalization (37).
Proof neighborhood
Direct dependencies
BT000L add_eq_zero_right BT001J le_not_lt BT0003 add_assoc BT0002 add_comm BT011E double_scaled_remainder_lift BT000B add_mul BT0008 mul_assoc BT0009 one_mul BT011B nonzero_remainder_not_multiple BT0119 prime_of_no_small_prime_divisor_below_square BT000F le_trans BT011A prime_le_twenty_two_casesDirect dependents
Formal native tactic body
Dependencies are hypotheses of this body receipt. The focused endpoint audits separately check the complete empty-context certificates.
- 0001
have hn0 : ~(2 * (11 * 22) + 37 = 0) - 0002
intro hzero - 0003
have htail_zero : 37 = 0 - 0004
specialize add_eq_zero_right (2 * (11 * 22)) - 0005
specialize add_eq_zero_right 37 - 0006
apply add_eq_zero_right - 0007
exact hzero - 0008
apply PA1 - 0009
exact htail_zero - 0010
have hn1 : ~(2 * (11 * 22) + 37 = 1) - 0011
intro hone - 0012
have htail_le_one : exists k. k + 37 = 1 - 0013
exists 2 * (11 * 22) - 0014
exact hone - 0015
have hone_lt_tail : exists k. k + S 1 = 37 - 0016
exists 35 - 0017
norm_num - 0018
specialize le_not_lt 37 - 0019
specialize le_not_lt 1 - 0020
apply le_not_lt - 0021
exact htail_le_one - 0022
exact hone_lt_tail - 0023
have hsquare : exists bpr_gap_bb8cert_prime_five_hundred_twenty_one_square. bpr_gap_bb8cert_prime_five_hundred_twenty_one_square + S (2 * (11 * 22) + 37) = S 22 * S 22 - 0024
exists 7 - 0025
have hvalue : 2 * (11 * 22) + 37 = 23 * 22 + 15 - 0026
symm - 0027
have hcoeff : 23 = 2 * 11 + 1 - 0028
norm_num - 0029
rewrite hcoeff - 0030
trans ((2 * 11) * 22 + 1 * 22) + 15 - 0031
congr - 0032
apply add_mul - 0033
refl - 0034
trans (2 * (11 * 22) + 22) + 15 - 0035
congr - 0036
congr - 0037
apply mul_assoc - 0038
apply one_mul - 0039
refl - 0040
trans 2 * (11 * 22) + (22 + 15) - 0041
apply add_assoc - 0042
trans 2 * (11 * 22) + 37 - 0043
congr - 0044
refl - 0045
norm_num - 0046
refl - 0047
rewrite hvalue - 0048
trans 23 * 22 + 23 - 0049
rewrite <- PA4 - 0050
trans 23 * 22 + (7 + S 15) - 0051
trans (7 + 23 * 22) + S 15 - 0052
symm - 0053
apply add_assoc - 0054
trans (23 * 22 + 7) + S 15 - 0055
congr - 0056
apply add_comm - 0057
refl - 0058
apply add_assoc - 0059
congr - 0060
refl - 0061
norm_num - 0062
symm - 0063
apply PA6 - 0064
specialize prime_of_no_small_prime_divisor_below_square 22 - 0065
specialize prime_of_no_small_prime_divisor_below_square (2 * (11 * 22) + 37) - 0066
apply prime_of_no_small_prime_divisor_below_square - 0067
exact hn0 - 0068
exact hn1 - 0069
exact hsquare - 0070
intro p - 0071
intro hp - 0072
intro hp_bound - 0073
intro hdivides - 0074
have hbound_22 : exists k. k + 22 = 22 - 0075
exists 0 - 0076
norm_num - 0077
have hp_22 : exists k. k + p = 22 - 0078
specialize le_trans p - 0079
specialize le_trans 22 - 0080
specialize le_trans 22 - 0081
apply le_trans - 0082
exact hp_bound - 0083
exact hbound_22 - 0084
have hcases : p = 2 \/ (p = 3 \/ (p = 5 \/ (p = 7 \/ (p = 11 \/ (p = 13 \/ (p = 17 \/ (p = 19))))))) - 0085
specialize prime_le_twenty_two_cases p - 0086
apply prime_le_twenty_two_cases - 0087
exact hp - 0088
exact hp_22 - 0089
cases hcases - 0090
rewrite hcases_left at hdivides - 0091
specialize nonzero_remainder_not_multiple 2 - 0092
specialize nonzero_remainder_not_multiple (2 * (11 * 22) + 37) - 0093
specialize nonzero_remainder_not_multiple (2 * (11 * 11 + 0) + 18) - 0094
specialize nonzero_remainder_not_multiple 1 - 0095
apply nonzero_remainder_not_multiple - 0096
specialize double_scaled_remainder_lift 2 - 0097
specialize double_scaled_remainder_lift 22 - 0098
specialize double_scaled_remainder_lift 11 - 0099
specialize double_scaled_remainder_lift 0 - 0100
specialize double_scaled_remainder_lift 0 - 0101
specialize double_scaled_remainder_lift 0 - 0102
specialize double_scaled_remainder_lift 18 - 0103
specialize double_scaled_remainder_lift 1 - 0104
apply double_scaled_remainder_lift - 0105
norm_num - 0106
norm_num - 0107
norm_num - 0108
intro hrem_2_zero - 0109
apply PA1 - 0110
exact hrem_2_zero - 0111
exists 0 - 0112
norm_num - 0113
exact hdivides - 0114
cases hcases_right - 0115
rewrite hcases_right_left at hdivides - 0116
specialize nonzero_remainder_not_multiple 3 - 0117
specialize nonzero_remainder_not_multiple (2 * (11 * 22) + 37) - 0118
specialize nonzero_remainder_not_multiple (2 * (11 * 7 + 3) + 13) - 0119
specialize nonzero_remainder_not_multiple 2 - 0120
apply nonzero_remainder_not_multiple - 0121
specialize double_scaled_remainder_lift 3 - 0122
specialize double_scaled_remainder_lift 22 - 0123
specialize double_scaled_remainder_lift 7 - 0124
specialize double_scaled_remainder_lift 1 - 0125
specialize double_scaled_remainder_lift 3 - 0126
specialize double_scaled_remainder_lift 2 - 0127
specialize double_scaled_remainder_lift 13 - 0128
specialize double_scaled_remainder_lift 2 - 0129
apply double_scaled_remainder_lift - 0130
norm_num - 0131
norm_num - 0132
norm_num - 0133
intro hrem_3_zero - 0134
apply PA1 - 0135
exact hrem_3_zero - 0136
exists 0 - 0137
norm_num - 0138
exact hdivides - 0139
cases hcases_right_right - 0140
rewrite hcases_right_right_left at hdivides - 0141
specialize nonzero_remainder_not_multiple 5 - 0142
specialize nonzero_remainder_not_multiple (2 * (11 * 22) + 37) - 0143
specialize nonzero_remainder_not_multiple (2 * (11 * 4 + 4) + 8) - 0144
specialize nonzero_remainder_not_multiple 1 - 0145
apply nonzero_remainder_not_multiple - 0146
specialize double_scaled_remainder_lift 5 - 0147
specialize double_scaled_remainder_lift 22 - 0148
specialize double_scaled_remainder_lift 4 - 0149
specialize double_scaled_remainder_lift 2 - 0150
specialize double_scaled_remainder_lift 4 - 0151
specialize double_scaled_remainder_lift 2 - 0152
specialize double_scaled_remainder_lift 8 - 0153
specialize double_scaled_remainder_lift 1 - 0154
apply double_scaled_remainder_lift - 0155
norm_num - 0156
norm_num - 0157
norm_num - 0158
intro hrem_5_zero - 0159
apply PA1 - 0160
exact hrem_5_zero - 0161
exists 3 - 0162
norm_num - 0163
exact hdivides - 0164
cases hcases_right_right_right - 0165
rewrite hcases_right_right_right_left at hdivides - 0166
specialize nonzero_remainder_not_multiple 7 - 0167
specialize nonzero_remainder_not_multiple (2 * (11 * 22) + 37) - 0168
specialize nonzero_remainder_not_multiple (2 * (11 * 3 + 1) + 6) - 0169
specialize nonzero_remainder_not_multiple 3 - 0170
apply nonzero_remainder_not_multiple - 0171
specialize double_scaled_remainder_lift 7 - 0172
specialize double_scaled_remainder_lift 22 - 0173
specialize double_scaled_remainder_lift 3 - 0174
specialize double_scaled_remainder_lift 1 - 0175
specialize double_scaled_remainder_lift 1 - 0176
specialize double_scaled_remainder_lift 4 - 0177
specialize double_scaled_remainder_lift 6 - 0178
specialize double_scaled_remainder_lift 3 - 0179
apply double_scaled_remainder_lift - 0180
norm_num - 0181
norm_num - 0182
norm_num - 0183
intro hrem_7_zero - 0184
apply PA1 - 0185
exact hrem_7_zero - 0186
exists 3 - 0187
norm_num - 0188
exact hdivides - 0189
cases hcases_right_right_right_right - 0190
rewrite hcases_right_right_right_right_left at hdivides - 0191
specialize nonzero_remainder_not_multiple 11 - 0192
specialize nonzero_remainder_not_multiple (2 * (11 * 22) + 37) - 0193
specialize nonzero_remainder_not_multiple (2 * (11 * 2 + 0) + 3) - 0194
specialize nonzero_remainder_not_multiple 4 - 0195
apply nonzero_remainder_not_multiple - 0196
specialize double_scaled_remainder_lift 11 - 0197
specialize double_scaled_remainder_lift 22 - 0198
specialize double_scaled_remainder_lift 2 - 0199
specialize double_scaled_remainder_lift 0 - 0200
specialize double_scaled_remainder_lift 0 - 0201
specialize double_scaled_remainder_lift 0 - 0202
specialize double_scaled_remainder_lift 3 - 0203
specialize double_scaled_remainder_lift 4 - 0204
apply double_scaled_remainder_lift - 0205
norm_num - 0206
norm_num - 0207
norm_num - 0208
intro hrem_11_zero - 0209
apply PA1 - 0210
exact hrem_11_zero - 0211
exists 6 - 0212
norm_num - 0213
exact hdivides - 0214
cases hcases_right_right_right_right_right - 0215
rewrite hcases_right_right_right_right_right_left at hdivides - 0216
specialize nonzero_remainder_not_multiple 13 - 0217
specialize nonzero_remainder_not_multiple (2 * (11 * 22) + 37) - 0218
specialize nonzero_remainder_not_multiple (2 * (11 * 1 + 7) + 4) - 0219
specialize nonzero_remainder_not_multiple 1 - 0220
apply nonzero_remainder_not_multiple - 0221
specialize double_scaled_remainder_lift 13 - 0222
specialize double_scaled_remainder_lift 22 - 0223
specialize double_scaled_remainder_lift 1 - 0224
specialize double_scaled_remainder_lift 9 - 0225
specialize double_scaled_remainder_lift 7 - 0226
specialize double_scaled_remainder_lift 8 - 0227
specialize double_scaled_remainder_lift 4 - 0228
specialize double_scaled_remainder_lift 1 - 0229
apply double_scaled_remainder_lift - 0230
norm_num - 0231
norm_num - 0232
norm_num - 0233
intro hrem_13_zero - 0234
apply PA1 - 0235
exact hrem_13_zero - 0236
exists 11 - 0237
norm_num - 0238
exact hdivides - 0239
cases hcases_right_right_right_right_right_right - 0240
rewrite hcases_right_right_right_right_right_right_left at hdivides - 0241
specialize nonzero_remainder_not_multiple 17 - 0242
specialize nonzero_remainder_not_multiple (2 * (11 * 22) + 37) - 0243
specialize nonzero_remainder_not_multiple (2 * (11 * 1 + 3) + 2) - 0244
specialize nonzero_remainder_not_multiple 11 - 0245
apply nonzero_remainder_not_multiple - 0246
specialize double_scaled_remainder_lift 17 - 0247
specialize double_scaled_remainder_lift 22 - 0248
specialize double_scaled_remainder_lift 1 - 0249
specialize double_scaled_remainder_lift 5 - 0250
specialize double_scaled_remainder_lift 3 - 0251
specialize double_scaled_remainder_lift 4 - 0252
specialize double_scaled_remainder_lift 2 - 0253
specialize double_scaled_remainder_lift 11 - 0254
apply double_scaled_remainder_lift - 0255
norm_num - 0256
norm_num - 0257
norm_num - 0258
intro hrem_17_zero - 0259
apply PA1 - 0260
exact hrem_17_zero - 0261
exists 5 - 0262
norm_num - 0263
exact hdivides - 0264
rewrite hcases_right_right_right_right_right_right_right at hdivides - 0265
specialize nonzero_remainder_not_multiple 19 - 0266
specialize nonzero_remainder_not_multiple (2 * (11 * 22) + 37) - 0267
specialize nonzero_remainder_not_multiple (2 * (11 * 1 + 1) + 3) - 0268
specialize nonzero_remainder_not_multiple 8 - 0269
apply nonzero_remainder_not_multiple - 0270
specialize double_scaled_remainder_lift 19 - 0271
specialize double_scaled_remainder_lift 22 - 0272
specialize double_scaled_remainder_lift 1 - 0273
specialize double_scaled_remainder_lift 3 - 0274
specialize double_scaled_remainder_lift 1 - 0275
specialize double_scaled_remainder_lift 14 - 0276
specialize double_scaled_remainder_lift 3 - 0277
specialize double_scaled_remainder_lift 8 - 0278
apply double_scaled_remainder_lift - 0279
norm_num - 0280
norm_num - 0281
norm_num - 0282
intro hrem_19_zero - 0283
apply PA1 - 0284
exact hrem_19_zero - 0285
exists 10 - 0286
norm_num - 0287
exact hdivides