Exact expanded PA statement
forall p q e f h k. p = 2 * h + 1 -> q = 2 * k + 1 -> (((((exists qr_x_qrp_pq. exists qr_u_qrp_pq qr_v_qrp_pq. qr_x_qrp_pq * qr_x_qrp_pq + p * qr_u_qrp_pq = q + p * qr_v_qrp_pq) -> (exists qrp_even_e_even. e = 2 * qrp_even_e_even)) /\ ((exists qrp_even_e_even. e = 2 * qrp_even_e_even) -> (exists qr_x_qrp_pq. exists qr_u_qrp_pq qr_v_qrp_pq. qr_x_qrp_pq * qr_x_qrp_pq + p * qr_u_qrp_pq = q + p * qr_v_qrp_pq))) /\ (((~(exists qr_x_qrp_pq. exists qr_u_qrp_pq qr_v_qrp_pq. qr_x_qrp_pq * qr_x_qrp_pq + p * qr_u_qrp_pq = q + p * qr_v_qrp_pq)) -> (exists qrp_odd_e_odd. e = 2 * qrp_odd_e_odd + 1)) /\ ((exists qrp_odd_e_odd. e = 2 * qrp_odd_e_odd + 1) -> ~(exists qr_x_qrp_pq. exists qr_u_qrp_pq qr_v_qrp_pq. qr_x_qrp_pq * qr_x_qrp_pq + p * qr_u_qrp_pq = q + p * qr_v_qrp_pq))))) -> (((((exists qr_x_qrp_qp. exists qr_u_qrp_qp qr_v_qrp_qp. qr_x_qrp_qp * qr_x_qrp_qp + q * qr_u_qrp_qp = p + q * qr_v_qrp_qp) -> (exists qrp_even_f_even. f = 2 * qrp_even_f_even)) /\ ((exists qrp_even_f_even. f = 2 * qrp_even_f_even) -> (exists qr_x_qrp_qp. exists qr_u_qrp_qp qr_v_qrp_qp. qr_x_qrp_qp * qr_x_qrp_qp + q * qr_u_qrp_qp = p + q * qr_v_qrp_qp))) /\ (((~(exists qr_x_qrp_qp. exists qr_u_qrp_qp qr_v_qrp_qp. qr_x_qrp_qp * qr_x_qrp_qp + q * qr_u_qrp_qp = p + q * qr_v_qrp_qp)) -> (exists qrp_odd_f_odd. f = 2 * qrp_odd_f_odd + 1)) /\ ((exists qrp_odd_f_odd. f = 2 * qrp_odd_f_odd + 1) -> ~(exists qr_x_qrp_qp. exists qr_u_qrp_qp qr_v_qrp_qp. qr_x_qrp_qp * qr_x_qrp_qp + q * qr_u_qrp_qp = p + q * qr_v_qrp_qp))))) -> (exists qrp_u_count_product qrp_v_count_product. e + f + 2 * qrp_u_count_product = h * k + 2 * qrp_v_count_product) -> ((exists qrp_three_p. p = 4 * qrp_three_p + 3) /\ (exists qrp_three_q. q = 4 * qrp_three_q + 3)) -> ((((exists qr_x_qrp_pq. exists qr_u_qrp_pq qr_v_qrp_pq. qr_x_qrp_pq * qr_x_qrp_pq + p * qr_u_qrp_pq = q + p * qr_v_qrp_pq) /\ ~(exists qr_x_qrp_qp. exists qr_u_qrp_qp qr_v_qrp_qp. qr_x_qrp_qp * qr_x_qrp_qp + q * qr_u_qrp_qp = p + q * qr_v_qrp_qp)) \/ (~(exists qr_x_qrp_pq. exists qr_u_qrp_pq qr_v_qrp_pq. qr_x_qrp_pq * qr_x_qrp_pq + p * qr_u_qrp_pq = q + p * qr_v_qrp_pq) /\ (exists qr_x_qrp_qp. exists qr_u_qrp_qp qr_v_qrp_qp. qr_x_qrp_qp * qr_x_qrp_qp + q * qr_u_qrp_qp = p + q * qr_v_qrp_qp))))Structural proof guide
Generated structural guide
Two three-mod-four inputs force opposite cross-residue status.
Use the direct prerequisites odd_half_odd_iff_mod4_three, odd_mul_odd, qres_opposite_status_from_odd_half_product_mod_two as previously established PA formulas.
The proof proceeds by case analysis (3), intermediate claims (5).
Referenced ingredients
Proof neighborhood
Direct dependencies
PA00FR odd_half_odd_iff_mod4_three PA006D odd_mul_odd PA00FT qres_opposite_status_from_odd_half_product_mod_twoDirect 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 h - 0006
intro k - 0007
intro hp - 0008
intro hq - 0009
intro heclass - 0010
intro hfclass - 0011
intro hmod - 0012
intro hthree - 0013
cases hthree - 0014
have hpbridge : (((exists qrp_odd_h. h = 2 * qrp_odd_h + 1) -> (exists qrp_three_p. p = 4 * qrp_three_p + 3)) /\ ((exists qrp_three_p. p = 4 * qrp_three_p + 3) -> (exists qrp_odd_h. h = 2 * qrp_odd_h + 1))) - 0015
specialize odd_half_odd_iff_mod4_three p - 0016
specialize odd_half_odd_iff_mod4_three h - 0017
apply odd_half_odd_iff_mod4_three - 0018
exact hp - 0019
cases hpbridge - 0020
have hpodd : exists qrp_odd_h. h = 2 * qrp_odd_h + 1 - 0021
apply hpbridge_right - 0022
exact hthree_left - 0023
have hqbridge : (((exists qrp_odd_k. k = 2 * qrp_odd_k + 1) -> (exists qrp_three_q. q = 4 * qrp_three_q + 3)) /\ ((exists qrp_three_q. q = 4 * qrp_three_q + 3) -> (exists qrp_odd_k. k = 2 * qrp_odd_k + 1))) - 0024
specialize odd_half_odd_iff_mod4_three q - 0025
specialize odd_half_odd_iff_mod4_three k - 0026
apply odd_half_odd_iff_mod4_three - 0027
exact hq - 0028
cases hqbridge - 0029
have hqodd : exists qrp_odd_k. k = 2 * qrp_odd_k + 1 - 0030
apply hqbridge_right - 0031
exact hthree_right - 0032
have hproduct : exists qrp_odd_half_product. h * k = 2 * qrp_odd_half_product + 1 - 0033
specialize odd_mul_odd h - 0034
specialize odd_mul_odd k - 0035
apply odd_mul_odd - 0036
exact hpodd - 0037
exact hqodd - 0038
specialize qres_opposite_status_from_odd_half_product_mod_two p - 0039
specialize qres_opposite_status_from_odd_half_product_mod_two q - 0040
specialize qres_opposite_status_from_odd_half_product_mod_two e - 0041
specialize qres_opposite_status_from_odd_half_product_mod_two f - 0042
specialize qres_opposite_status_from_odd_half_product_mod_two h - 0043
specialize qres_opposite_status_from_odd_half_product_mod_two k - 0044
apply qres_opposite_status_from_odd_half_product_mod_two - 0045
exact heclass - 0046
exact hfclass - 0047
exact hmod - 0048
exact hproduct