Exact expanded PA statement
forall p q e f Q U h k. p = 2 * h + 1 -> q = 2 * k + 1 -> (((((exists qr_x_qrc_pq. exists qr_u_qrc_pq qr_v_qrc_pq. qr_x_qrc_pq * qr_x_qrc_pq + p * qr_u_qrc_pq = q + p * qr_v_qrc_pq) -> (exists qrc_even_e_even. e = 2 * qrc_even_e_even)) /\ ((exists qrc_even_e_even. e = 2 * qrc_even_e_even) -> (exists qr_x_qrc_pq. exists qr_u_qrc_pq qr_v_qrc_pq. qr_x_qrc_pq * qr_x_qrc_pq + p * qr_u_qrc_pq = q + p * qr_v_qrc_pq))) /\ (((~(exists qr_x_qrc_pq. exists qr_u_qrc_pq qr_v_qrc_pq. qr_x_qrc_pq * qr_x_qrc_pq + p * qr_u_qrc_pq = q + p * qr_v_qrc_pq)) -> (exists qrc_odd_e_odd. e = 2 * qrc_odd_e_odd + 1)) /\ ((exists qrc_odd_e_odd. e = 2 * qrc_odd_e_odd + 1) -> ~(exists qr_x_qrc_pq. exists qr_u_qrc_pq qr_v_qrc_pq. qr_x_qrc_pq * qr_x_qrc_pq + p * qr_u_qrc_pq = q + p * qr_v_qrc_pq))))) -> (((((exists qr_x_qrc_qp. exists qr_u_qrc_qp qr_v_qrc_qp. qr_x_qrc_qp * qr_x_qrc_qp + q * qr_u_qrc_qp = p + q * qr_v_qrc_qp) -> (exists qrc_even_f_even. f = 2 * qrc_even_f_even)) /\ ((exists qrc_even_f_even. f = 2 * qrc_even_f_even) -> (exists qr_x_qrc_qp. exists qr_u_qrc_qp qr_v_qrc_qp. qr_x_qrc_qp * qr_x_qrc_qp + q * qr_u_qrc_qp = p + q * qr_v_qrc_qp))) /\ (((~(exists qr_x_qrc_qp. exists qr_u_qrc_qp qr_v_qrc_qp. qr_x_qrc_qp * qr_x_qrc_qp + q * qr_u_qrc_qp = p + q * qr_v_qrc_qp)) -> (exists qrc_odd_f_odd. f = 2 * qrc_odd_f_odd + 1)) /\ ((exists qrc_odd_f_odd. f = 2 * qrc_odd_f_odd + 1) -> ~(exists qr_x_qrc_qp. exists qr_u_qrc_qp qr_v_qrc_qp. qr_x_qrc_qp * qr_x_qrc_qp + q * qr_u_qrc_qp = p + q * qr_v_qrc_qp))))) -> (exists qrc_u_e_q qrc_v_e_q. e + 2 * qrc_u_e_q = Q + 2 * qrc_v_e_q) -> (exists qrc_u_f_u qrc_v_f_u. f + 2 * qrc_u_f_u = U + 2 * qrc_v_f_u) -> Q + U = h * k -> (((exists qrc_one_p. p = 4 * qrc_one_p + 1) \/ (exists qrc_one_q. q = 4 * qrc_one_q + 1))) -> ((((exists qr_x_qrc_pq. exists qr_u_qrc_pq qr_v_qrc_pq. qr_x_qrc_pq * qr_x_qrc_pq + p * qr_u_qrc_pq = q + p * qr_v_qrc_pq) /\ (exists qr_x_qrc_qp. exists qr_u_qrc_qp qr_v_qrc_qp. qr_x_qrc_qp * qr_x_qrc_qp + q * qr_u_qrc_qp = p + q * qr_v_qrc_qp)) \/ (~(exists qr_x_qrc_pq. exists qr_u_qrc_pq qr_v_qrc_pq. qr_x_qrc_pq * qr_x_qrc_pq + p * qr_u_qrc_pq = q + p * qr_v_qrc_pq) /\ ~(exists qr_x_qrc_qp. exists qr_u_qrc_qp qr_v_qrc_qp. qr_x_qrc_qp * qr_x_qrc_qp + q * qr_u_qrc_qp = p + q * qr_v_qrc_qp))))Derive equal residue status when one prime is one modulo four
Curated informal proof
Construct and unpack the shared oriented Gauss–Eisenstein counts. If one half-prime parameter is even, their product is even; the Eisenstein identity and the two modulo-two transports therefore force the Gauss counts to have the same parity.
Each count's parity is already equivalent to the truth status of its cross-residue proposition, so the two propositions are equivalent. This is the one-mod-four case of quadratic reciprocity.
Referenced ingredients
Proof neighborhood
Direct dependencies
Direct dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Linked names are exact direct references. This Alpha-v16 checked-use theorem is independently kernel-checked when replayed; it is not a Stable theorem.
- 0001
intro p - 0002
intro q - 0003
intro e - 0004
intro f - 0005
intro Q - 0006
intro U - 0007
intro h - 0008
intro k - 0009
intro hp - 0010
intro hq - 0011
intro heclass - 0012
intro hfclass - 0013
intro heq - 0014
intro hfu - 0015
intro hsum - 0016
intro hone - 0017
have hcount : exists qrc_u_count_product qrc_v_count_product. e + f + 2 * qrc_u_count_product = h * k + 2 * qrc_v_count_product - 0018
specialize gauss_count_sum_mod_two_from_quotient_sums e - 0019
specialize gauss_count_sum_mod_two_from_quotient_sums f - 0020
specialize gauss_count_sum_mod_two_from_quotient_sums Q - 0021
specialize gauss_count_sum_mod_two_from_quotient_sums U - 0022
specialize gauss_count_sum_mod_two_from_quotient_sums h - 0023
specialize gauss_count_sum_mod_two_from_quotient_sums k - 0024
apply gauss_count_sum_mod_two_from_quotient_sums - 0025
exact heq - 0026
exact hfu - 0027
exact hsum - 0028
specialize qres_same_status_from_mod_four_one p - 0029
specialize qres_same_status_from_mod_four_one q - 0030
specialize qres_same_status_from_mod_four_one e - 0031
specialize qres_same_status_from_mod_four_one f - 0032
specialize qres_same_status_from_mod_four_one h - 0033
specialize qres_same_status_from_mod_four_one k - 0034
apply qres_same_status_from_mod_four_one - 0035
exact hp - 0036
exact hq - 0037
exact heclass - 0038
exact hfclass - 0039
exact hcount - 0040
exact hone