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. ∀ r. ∀ n. Odd(p) → n = p · q + r → (Odd(n) → Odd(q + r)) ∧ (Odd(q + r) → Odd(n))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
5 occurrences
In local proof propositions
38 occurrences
Exact expanded native-PA statement
forall p q r n. (exists pod_odd_multiplier. p = 2 * pod_odd_multiplier + 1) -> n = p * q + r -> ((((exists pod_odd_division_n_odd. n = 2 * pod_odd_division_n_odd + 1) -> (exists pod_odd_division_qr_odd. q + r = 2 * pod_odd_division_qr_odd + 1)) /\ ((exists pod_odd_division_qr_odd. q + r = 2 * pod_odd_division_qr_odd + 1) -> (exists pod_odd_division_n_odd. n = 2 * pod_odd_division_n_odd + 1))))Proof neighborhood
Direct theorem prerequisites
PA00C7 odd_multiplier_even_product_iff PA00C8 odd_multiplier_odd_product_iff PA00CE odd_sum_iff_opposite_parityDirect 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 (3)
01Fix variables and assumptionsL1–6
02Establish hmul_evenL7–11
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply odd multiplier even product iff.
- L7
have hmul_even : (Even(p · q) → Even(q)) ∧ (Even(q) → Even(p · q))Definitions: Even(p · q)Even(q)Original native command in the exact edition - L8
specialize odd_multiplier_even_product_iff p - L9
specialize odd_multiplier_even_product_iff q - L10
apply odd_multiplier_even_product_iff - L11
exact hp
03Establish hmul_oddL12–16
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply odd multiplier odd product iff.
- L12
have hmul_odd : (Odd(p · q) → Odd(q)) ∧ (Odd(q) → Odd(p · q))Definitions: Odd(p · q)Odd(q)Original native command in the exact edition - L13
specialize odd_multiplier_odd_product_iff p - L14
specialize odd_multiplier_odd_product_iff q - L15
apply odd_multiplier_odd_product_iff - L16
exact hp
04Establish hleftL17–20
Establish this local claim before using it. It is not an additional assumption.
- L17
have hleft : (Odd(p · q + r) → Even(p · q) ∧ Odd(r) ∨ Odd(p · q) ∧ Even(r)) ∧ (Even(p · q) ∧ Odd(r) ∨ Odd(p · q) ∧ Even(r) → Odd(p · q + r))Definitions: Odd(p · q + r)Even(p · q)Odd(r)Odd(p · q)Even(r)Original native command in the exact edition - L18
specialize odd_sum_iff_opposite_parity (p * q) - L19
specialize odd_sum_iff_opposite_parity r - L20
exact odd_sum_iff_opposite_parity
05Establish hrightL21–24
Establish this local claim before using it. It is not an additional assumption.
- L21
have hright : (Odd(q + r) → Even(q) ∧ Odd(r) ∨ Odd(q) ∧ Even(r)) ∧ (Even(q) ∧ Odd(r) ∨ Odd(q) ∧ Even(r) → Odd(q + r))Definitions: Odd(q + r)Even(q)Odd(r)Odd(q)Even(r)Original native command in the exact edition - L22
specialize odd_sum_iff_opposite_parity q - L23
specialize odd_sum_iff_opposite_parity r - L24
exact odd_sum_iff_opposite_parity
06Separate the logical casesL25–29
07Fix variables and assumptionsL30–30
Work with arbitrary variables or the premises of the current implication.
- L30
intro hn
08Establish hpqrL31–34
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hright right.
09Establish hoppositeL35–37
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hleft left.
- L35
have hopposite : Even(p · q) ∧ Odd(r) ∨ Odd(p · q) ∧ Even(r)Definitions: Even(p · q)Odd(r)Odd(p · q)Even(r)Original native command in the exact edition - L36
apply hleft_left - L37
exact hpqr
10Separate the logical casesL38–41
11Use earlier factsL42–44
12Separate the logical casesL45–47
13Use earlier factsL48–50
14Fix variables and assumptionsL51–51
Work with arbitrary variables or the premises of the current implication.
- L51
intro hqr
15Establish hpqrL52–53
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hleft right.
16Establish hoppositeL54–56
17Separate the logical casesL57–60
18Use earlier factsL61–63
19Separate the logical casesL64–66
20Use earlier factsL67–69
21Calculate and transport equalitiesL70–70
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L70
rewrite hdivision
22Use earlier factsL71–71
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L71
exact hpqr
Original defined command ledger · 71 lines
- 0001
intro p - 0002
intro q - 0003
intro r - 0004
intro n - 0005
intro hp - 0006
intro hdivision - 0007
have hmul_even : (Even(p · q) → Even(q)) ∧ (Even(q) → Even(p · q))Exact native replay line
have hmul_even : (((exists pod_even_proof_pq_even. p * q = 2 * pod_even_proof_pq_even) -> (exists pod_even_proof_q_even. q = 2 * pod_even_proof_q_even)) /\ ((exists pod_even_proof_q_even. q = 2 * pod_even_proof_q_even) -> (exists pod_even_proof_pq_even. p * q = 2 * pod_even_proof_pq_even))) - 0008
specialize odd_multiplier_even_product_iff p - 0009
specialize odd_multiplier_even_product_iff q - 0010
apply odd_multiplier_even_product_iff - 0011
exact hp - 0012
have hmul_odd : (Odd(p · q) → Odd(q)) ∧ (Odd(q) → Odd(p · q))Exact native replay line
have hmul_odd : (((exists pod_odd_proof_pq_odd. p * q = 2 * pod_odd_proof_pq_odd + 1) -> (exists pod_odd_proof_q_odd. q = 2 * pod_odd_proof_q_odd + 1)) /\ ((exists pod_odd_proof_q_odd. q = 2 * pod_odd_proof_q_odd + 1) -> (exists pod_odd_proof_pq_odd. p * q = 2 * pod_odd_proof_pq_odd + 1))) - 0013
specialize odd_multiplier_odd_product_iff p - 0014
specialize odd_multiplier_odd_product_iff q - 0015
apply odd_multiplier_odd_product_iff - 0016
exact hp - 0017
have hleft : (Odd(p · q + r) → Even(p · q) ∧ Odd(r) ∨ Odd(p · q) ∧ Even(r)) ∧ (Even(p · q) ∧ Odd(r) ∨ Odd(p · q) ∧ Even(r) → Odd(p · q + r))Exact native replay line
have hleft : (((exists pod_odd_proof_pqr_odd. p * q + r = 2 * pod_odd_proof_pqr_odd + 1) -> ((((exists pod_even_proof_pq_even. p * q = 2 * pod_even_proof_pq_even) /\ (exists pod_odd_proof_r_odd. r = 2 * pod_odd_proof_r_odd + 1)) \/ ((exists pod_odd_proof_pq_odd. p * q = 2 * pod_odd_proof_pq_odd + 1) /\ (exists pod_even_proof_r_even. r = 2 * pod_even_proof_r_even))))) /\ (((((exists pod_even_proof_pq_even. p * q = 2 * pod_even_proof_pq_even) /\ (exists pod_odd_proof_r_odd. r = 2 * pod_odd_proof_r_odd + 1)) \/ ((exists pod_odd_proof_pq_odd. p * q = 2 * pod_odd_proof_pq_odd + 1) /\ (exists pod_even_proof_r_even. r = 2 * pod_even_proof_r_even)))) -> (exists pod_odd_proof_pqr_odd. p * q + r = 2 * pod_odd_proof_pqr_odd + 1))) - 0018
specialize odd_sum_iff_opposite_parity (p * q) - 0019
specialize odd_sum_iff_opposite_parity r - 0020
exact odd_sum_iff_opposite_parity - 0021
have hright : (Odd(q + r) → Even(q) ∧ Odd(r) ∨ Odd(q) ∧ Even(r)) ∧ (Even(q) ∧ Odd(r) ∨ Odd(q) ∧ Even(r) → Odd(q + r))Exact native replay line
have hright : (((exists pod_odd_proof_qr_odd. q + r = 2 * pod_odd_proof_qr_odd + 1) -> ((((exists pod_even_proof_q_even. q = 2 * pod_even_proof_q_even) /\ (exists pod_odd_proof_r_odd. r = 2 * pod_odd_proof_r_odd + 1)) \/ ((exists pod_odd_proof_q_odd. q = 2 * pod_odd_proof_q_odd + 1) /\ (exists pod_even_proof_r_even. r = 2 * pod_even_proof_r_even))))) /\ (((((exists pod_even_proof_q_even. q = 2 * pod_even_proof_q_even) /\ (exists pod_odd_proof_r_odd. r = 2 * pod_odd_proof_r_odd + 1)) \/ ((exists pod_odd_proof_q_odd. q = 2 * pod_odd_proof_q_odd + 1) /\ (exists pod_even_proof_r_even. r = 2 * pod_even_proof_r_even)))) -> (exists pod_odd_proof_qr_odd. q + r = 2 * pod_odd_proof_qr_odd + 1))) - 0022
specialize odd_sum_iff_opposite_parity q - 0023
specialize odd_sum_iff_opposite_parity r - 0024
exact odd_sum_iff_opposite_parity - 0025
cases hmul_even - 0026
cases hmul_odd - 0027
cases hleft - 0028
cases hright - 0029
split - 0030
intro hn - 0031
have hpqr : Odd(p · q + r)Exact native replay line
have hpqr : exists pod_odd_proof_pqr_odd. p * q + r = 2 * pod_odd_proof_pqr_odd + 1 - 0032
rewrite <- hdivision - 0033
exact hn - 0034
apply hright_right - 0035
have hopposite : Even(p · q) ∧ Odd(r) ∨ Odd(p · q) ∧ Even(r)Exact native replay line
have hopposite : (((exists pod_even_proof_pq_even. p * q = 2 * pod_even_proof_pq_even) /\ (exists pod_odd_proof_r_odd. r = 2 * pod_odd_proof_r_odd + 1)) \/ ((exists pod_odd_proof_pq_odd. p * q = 2 * pod_odd_proof_pq_odd + 1) /\ (exists pod_even_proof_r_even. r = 2 * pod_even_proof_r_even))) - 0036
apply hleft_left - 0037
exact hpqr - 0038
cases hopposite - 0039
cases hopposite_left - 0040
left - 0041
split - 0042
apply hmul_even_left - 0043
exact hopposite_left_left - 0044
exact hopposite_left_right - 0045
cases hopposite_right - 0046
right - 0047
split - 0048
apply hmul_odd_left - 0049
exact hopposite_right_left - 0050
exact hopposite_right_right - 0051
intro hqr - 0052
have hpqr : Odd(p · q + r)Exact native replay line
have hpqr : exists pod_odd_proof_pqr_odd. p * q + r = 2 * pod_odd_proof_pqr_odd + 1 - 0053
apply hleft_right - 0054
have hopposite : Even(q) ∧ Odd(r) ∨ Odd(q) ∧ Even(r)Exact native replay line
have hopposite : (((exists pod_even_proof_q_even. q = 2 * pod_even_proof_q_even) /\ (exists pod_odd_proof_r_odd. r = 2 * pod_odd_proof_r_odd + 1)) \/ ((exists pod_odd_proof_q_odd. q = 2 * pod_odd_proof_q_odd + 1) /\ (exists pod_even_proof_r_even. r = 2 * pod_even_proof_r_even))) - 0055
apply hright_left - 0056
exact hqr - 0057
cases hopposite - 0058
cases hopposite_left - 0059
left - 0060
split - 0061
apply hmul_even_right - 0062
exact hopposite_left_left - 0063
exact hopposite_left_right - 0064
cases hopposite_right - 0065
right - 0066
split - 0067
apply hmul_odd_right - 0068
exact hopposite_right_left - 0069
exact hopposite_right_right - 0070
rewrite hdivision - 0071
exact hpqr