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
∀ p. ∀ q. ∀ e. ∀ f. ∀ h. ∀ k. p = 2 · h + 1 → q = 2 · k + 1 → (QRes(p,q) → Even(e)) ∧ (Even(e) → QRes(p,q)) ∧ ((¬QRes(p,q) → Odd(e)) ∧ (Odd(e) → ¬QRes(p,q))) → (QRes(q,p) → Even(f)) ∧ (Even(f) → QRes(q,p)) ∧ ((¬QRes(q,p) → Odd(f)) ∧ (Odd(f) → ¬QRes(q,p))) → ModEq(2,e + f,h · k) → Mod4One(p) ∨ Mod4One(q) → QRes(p,q) ∧ QRes(q,p) ∨ ¬QRes(p,q) ∧ ¬QRes(q,p)Every purple notation token opens its conservative definition. This is a reading surface; the compiler expands the statement before the unchanged kernel checks it.
Definitions used by this theorem
In the theorem statement
23 occurrences
In local proof propositions
11 occurrences
Exact expanded native-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_one_p. p = 4 * qrp_one_p + 1) \/ (exists qrp_one_q. q = 4 * qrp_one_q + 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 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))))Proof neighborhood
Direct theorem prerequisites
PA00FJ odd_half_even_iff_mod4_one PA006U even_mul_left PA006E even_mul_right PA00FN qres_same_status_from_even_half_product_mod_twoDirect theorem dependents
Definition-aware tactic body
Only local propositions introduced by have or suffices are compacted. The untrusted compiler re-expands each one before the original tactic script is replayed; defined notation is never accepted by the kernel. Open the exact replay line beneath every changed 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 (4)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–12
03Establish hproductL13–13
Establish this local claim before using it. It is not an additional assumption.
04Separate the logical casesL14–14
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L14
cases hone
05Establish hbridgeL15–19
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply odd half even iff mod4 one.
- L15
have hbridge : (Even(h) → Mod4One(p)) ∧ (Mod4One(p) → Even(h))Definitions: Even(h)Mod4One(p)Original native command in the exact edition - L16
specialize odd_half_even_iff_mod4_one p - L17
specialize odd_half_even_iff_mod4_one h - L18
apply odd_half_even_iff_mod4_one - L19
exact hp
06Separate the logical casesL20–20
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L20
cases hbridge
07Establish hhalfL21–27
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hbridge right.
08Establish hbridgeL28–32
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply odd half even iff mod4 one.
- L28
have hbridge : (Even(k) → Mod4One(q)) ∧ (Mod4One(q) → Even(k))Definitions: Even(k)Mod4One(q)Original native command in the exact edition - L29
specialize odd_half_even_iff_mod4_one q - L30
specialize odd_half_even_iff_mod4_one k - L31
apply odd_half_even_iff_mod4_one - L32
exact hq
09Separate the logical casesL33–33
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L33
cases hbridge
10Establish hhalfL34–43
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hbridge right.
- L34
- L35
apply hbridge_right - L36
exact hone_right - L37
specialize even_mul_right h - L38
specialize even_mul_right k - L39
apply even_mul_right - L40
exact hhalf - L41
specialize qres_same_status_from_even_half_product_mod_two p - L42
specialize qres_same_status_from_even_half_product_mod_two q - L43
specialize qres_same_status_from_even_half_product_mod_two e
11Use earlier factsL44–51
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L44
specialize qres_same_status_from_even_half_product_mod_two f - L45
specialize qres_same_status_from_even_half_product_mod_two h - L46
specialize qres_same_status_from_even_half_product_mod_two k - L47
apply qres_same_status_from_even_half_product_mod_two - L48
exact heclass - L49
exact hfclass - L50
exact hmod - L51
exact hproduct
Original defined command ledger · 51 lines
- 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 hone - 0013
have hproduct : Even(h · k)Exact native replay line
have hproduct : exists qrp_even_half_product. h * k = 2 * qrp_even_half_product - 0014
cases hone - 0015
have hbridge : (Even(h) → Mod4One(p)) ∧ (Mod4One(p) → Even(h))Exact native replay line
have hbridge : (((exists qrp_even_h. h = 2 * qrp_even_h) -> (exists qrp_one_p. p = 4 * qrp_one_p + 1)) /\ ((exists qrp_one_p. p = 4 * qrp_one_p + 1) -> (exists qrp_even_h. h = 2 * qrp_even_h))) - 0016
specialize odd_half_even_iff_mod4_one p - 0017
specialize odd_half_even_iff_mod4_one h - 0018
apply odd_half_even_iff_mod4_one - 0019
exact hp - 0020
cases hbridge - 0021
have hhalf : Even(h)Exact native replay line
have hhalf : exists qrp_even_h. h = 2 * qrp_even_h - 0022
apply hbridge_right - 0023
exact hone_left - 0024
specialize even_mul_left h - 0025
specialize even_mul_left k - 0026
apply even_mul_left - 0027
exact hhalf - 0028
have hbridge : (Even(k) → Mod4One(q)) ∧ (Mod4One(q) → Even(k))Exact native replay line
have hbridge : (((exists qrp_even_k. k = 2 * qrp_even_k) -> (exists qrp_one_q. q = 4 * qrp_one_q + 1)) /\ ((exists qrp_one_q. q = 4 * qrp_one_q + 1) -> (exists qrp_even_k. k = 2 * qrp_even_k))) - 0029
specialize odd_half_even_iff_mod4_one q - 0030
specialize odd_half_even_iff_mod4_one k - 0031
apply odd_half_even_iff_mod4_one - 0032
exact hq - 0033
cases hbridge - 0034
have hhalf : Even(k)Exact native replay line
have hhalf : exists qrp_even_k. k = 2 * qrp_even_k - 0035
apply hbridge_right - 0036
exact hone_right - 0037
specialize even_mul_right h - 0038
specialize even_mul_right k - 0039
apply even_mul_right - 0040
exact hhalf - 0041
specialize qres_same_status_from_even_half_product_mod_two p - 0042
specialize qres_same_status_from_even_half_product_mod_two q - 0043
specialize qres_same_status_from_even_half_product_mod_two e - 0044
specialize qres_same_status_from_even_half_product_mod_two f - 0045
specialize qres_same_status_from_even_half_product_mod_two h - 0046
specialize qres_same_status_from_even_half_product_mod_two k - 0047
apply qres_same_status_from_even_half_product_mod_two - 0048
exact heclass - 0049
exact hfclass - 0050
exact hmod - 0051
exact hproduct