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. (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))) → Odd(e + f) → 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
21 occurrences
In local proof propositions
4 occurrences
Exact expanded native-PA statement
forall p q e f. (((((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_odd_count_sum. e + f = 2 * qrp_odd_count_sum + 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
Direct 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 (1)
01Fix variables and assumptionsL1–7
02Separate the logical casesL8–13
03Establish hcasesL14–18
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply odd sum parity cases.
04Separate the logical casesL19–22
05Use earlier factsL23–24
06Fix variables and assumptionsL25–25
Work with arbitrary variables or the premises of the current implication.
- L25
intro hqp
07Use earlier factsL26–28
08Separate the logical casesL29–31
09Fix variables and assumptionsL32–32
Work with arbitrary variables or the premises of the current implication.
- L32
intro hpq
Original defined command ledger · 37 lines
- 0001
intro p - 0002
intro q - 0003
intro e - 0004
intro f - 0005
intro heclass - 0006
intro hfclass - 0007
intro hsum - 0008
cases heclass - 0009
cases heclass_left - 0010
cases heclass_right - 0011
cases hfclass - 0012
cases hfclass_left - 0013
cases hfclass_right - 0014
have hcases : Even(e) ∧ Odd(f) ∨ Odd(e) ∧ Even(f)Exact native replay line
have hcases : (((exists qrp_even_e_cases. e = 2 * qrp_even_e_cases) /\ (exists qrp_odd_f_cases. f = 2 * qrp_odd_f_cases + 1)) \/ ((exists qrp_odd_e_cases. e = 2 * qrp_odd_e_cases + 1) /\ (exists qrp_even_f_cases. f = 2 * qrp_even_f_cases))) - 0015
specialize odd_sum_parity_cases e - 0016
specialize odd_sum_parity_cases f - 0017
apply odd_sum_parity_cases - 0018
exact hsum - 0019
cases hcases - 0020
cases hcases_left - 0021
left - 0022
split - 0023
apply heclass_left_right - 0024
exact hcases_left_left - 0025
intro hqp - 0026
apply hfclass_right_right - 0027
exact hcases_left_right - 0028
exact hqp - 0029
cases hcases_right - 0030
right - 0031
split - 0032
intro hpq - 0033
apply heclass_right_right - 0034
exact hcases_right_left - 0035
exact hpq - 0036
apply hfclass_left_right - 0037
exact hcases_right_right