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. ∀ h. ∀ k. ∀ l. p = 2 · h + 1 → q = 2 · k + 1 → Prime(p) → Prime(q) → ¬p = q → Le(l,h) → ∀ x. Lt(x,l) → ∃ y. ∃ z. ∃ n. (∀ m. Lt(m,k) → ∃ i. BetaAt(z,n,m,i) ∧ (i = 0 ∧ (Lt(q · S x,p · S m) ∧ ¬Lt(p · S m,q · S x)) ∨ i = 1 ∧ (Lt(p · S m,q · S x) ∧ ¬Lt(q · S x,p · S m)))) ∧ BitCount(z,n,k,y)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
11 occurrences
In local proof propositions
1 occurrences
Exact expanded native-PA statement
forall p q h k l. p = 2 * h + 1 -> q = 2 * k + 1 -> ((~(p = 1) /\ forall frp_prime_left_rectangle_count_prime_p frp_prime_right_rectangle_count_prime_p. p = frp_prime_left_rectangle_count_prime_p * frp_prime_right_rectangle_count_prime_p -> frp_prime_left_rectangle_count_prime_p = 1 \/ frp_prime_right_rectangle_count_prime_p = 1)) -> ((~(q = 1) /\ forall frp_prime_left_rectangle_count_prime_q frp_prime_right_rectangle_count_prime_q. q = frp_prime_left_rectangle_count_prime_q * frp_prime_right_rectangle_count_prime_q -> frp_prime_left_rectangle_count_prime_q = 1 \/ frp_prime_right_rectangle_count_prime_q = 1)) -> ~(p = q) -> (exists erc_le_gap_rectangle_count_length_bound. erc_le_gap_rectangle_count_length_bound + (l) = h) -> (forall erc_row_rectangle_count_bounded_choices. (exists erc_lt_gap_rectangle_count_bounded_choices_bound. erc_lt_gap_rectangle_count_bounded_choices_bound + S (erc_row_rectangle_count_bounded_choices) = l) -> exists erc_count_rectangle_count_bounded_choices. (exists erc_row_code_rectangle_count_bounded_choices_witness erc_row_scale_rectangle_count_bounded_choices_witness. ((forall eri_column_erc_rectangle_count_bounded_choices_witness_row. (exists eri_gap_erc_rectangle_count_bounded_choices_witness_row_bound. eri_gap_erc_rectangle_count_bounded_choices_witness_row_bound + S (eri_column_erc_rectangle_count_bounded_choices_witness_row) = k) -> exists eri_bit_erc_rectangle_count_bounded_choices_witness_row. ((((exists ff_h_eri_erc_rectangle_count_bounded_choices_witness_row_decoded. ff_h_eri_erc_rectangle_count_bounded_choices_witness_row_decoded + S (eri_bit_erc_rectangle_count_bounded_choices_witness_row) = S ((S (eri_column_erc_rectangle_count_bounded_choices_witness_row)) * erc_row_scale_rectangle_count_bounded_choices_witness)) /\ exists ff_q_eri_erc_rectangle_count_bounded_choices_witness_row_decoded. erc_row_code_rectangle_count_bounded_choices_witness = ff_q_eri_erc_rectangle_count_bounded_choices_witness_row_decoded * S ((S (eri_column_erc_rectangle_count_bounded_choices_witness_row)) * erc_row_scale_rectangle_count_bounded_choices_witness) + (eri_bit_erc_rectangle_count_bounded_choices_witness_row))) /\ (((eri_bit_erc_rectangle_count_bounded_choices_witness_row = 0 /\ ((exists eri_gap_erc_rectangle_count_bounded_choices_witness_row_choice_left. eri_gap_erc_rectangle_count_bounded_choices_witness_row_choice_left + S (q * S erc_row_rectangle_count_bounded_choices) = p * S eri_column_erc_rectangle_count_bounded_choices_witness_row) /\ ~(exists eri_gap_erc_rectangle_count_bounded_choices_witness_row_choice_right. eri_gap_erc_rectangle_count_bounded_choices_witness_row_choice_right + S (p * S eri_column_erc_rectangle_count_bounded_choices_witness_row) = q * S erc_row_rectangle_count_bounded_choices))) \/ (eri_bit_erc_rectangle_count_bounded_choices_witness_row = 1 /\ ((exists eri_gap_erc_rectangle_count_bounded_choices_witness_row_choice_right. eri_gap_erc_rectangle_count_bounded_choices_witness_row_choice_right + S (p * S eri_column_erc_rectangle_count_bounded_choices_witness_row) = q * S erc_row_rectangle_count_bounded_choices) /\ ~(exists eri_gap_erc_rectangle_count_bounded_choices_witness_row_choice_left. eri_gap_erc_rectangle_count_bounded_choices_witness_row_choice_left + S (q * S erc_row_rectangle_count_bounded_choices) = p * S eri_column_erc_rectangle_count_bounded_choices_witness_row))))))) /\ (((exists ff_u_erc_rectangle_count_bounded_choices_witness_count_sum ff_v_erc_rectangle_count_bounded_choices_witness_count_sum. ((((exists ff_h_erc_rectangle_count_bounded_choices_witness_count_sum_start. ff_h_erc_rectangle_count_bounded_choices_witness_count_sum_start + S (0) = S ((S (0)) * ff_v_erc_rectangle_count_bounded_choices_witness_count_sum)) /\ exists ff_q_erc_rectangle_count_bounded_choices_witness_count_sum_start. ff_u_erc_rectangle_count_bounded_choices_witness_count_sum = ff_q_erc_rectangle_count_bounded_choices_witness_count_sum_start * S ((S (0)) * ff_v_erc_rectangle_count_bounded_choices_witness_count_sum) + (0))) /\ ((((exists ff_h_erc_rectangle_count_bounded_choices_witness_count_sum_terminal. ff_h_erc_rectangle_count_bounded_choices_witness_count_sum_terminal + S (erc_count_rectangle_count_bounded_choices) = S ((S (k)) * ff_v_erc_rectangle_count_bounded_choices_witness_count_sum)) /\ exists ff_q_erc_rectangle_count_bounded_choices_witness_count_sum_terminal. ff_u_erc_rectangle_count_bounded_choices_witness_count_sum = ff_q_erc_rectangle_count_bounded_choices_witness_count_sum_terminal * S ((S (k)) * ff_v_erc_rectangle_count_bounded_choices_witness_count_sum) + (erc_count_rectangle_count_bounded_choices))) /\ forall ff_i_erc_rectangle_count_bounded_choices_witness_count_sum. (exists ff_lt_erc_rectangle_count_bounded_choices_witness_count_sum_bound. ff_lt_erc_rectangle_count_bounded_choices_witness_count_sum_bound + S ff_i_erc_rectangle_count_bounded_choices_witness_count_sum = k) -> exists ff_a_erc_rectangle_count_bounded_choices_witness_count_sum ff_r_erc_rectangle_count_bounded_choices_witness_count_sum ff_s_erc_rectangle_count_bounded_choices_witness_count_sum. ((((exists ff_h_erc_rectangle_count_bounded_choices_witness_count_sum_summand. ff_h_erc_rectangle_count_bounded_choices_witness_count_sum_summand + S (ff_a_erc_rectangle_count_bounded_choices_witness_count_sum) = S ((S (ff_i_erc_rectangle_count_bounded_choices_witness_count_sum)) * erc_row_scale_rectangle_count_bounded_choices_witness)) /\ exists ff_q_erc_rectangle_count_bounded_choices_witness_count_sum_summand. erc_row_code_rectangle_count_bounded_choices_witness = ff_q_erc_rectangle_count_bounded_choices_witness_count_sum_summand * S ((S (ff_i_erc_rectangle_count_bounded_choices_witness_count_sum)) * erc_row_scale_rectangle_count_bounded_choices_witness) + (ff_a_erc_rectangle_count_bounded_choices_witness_count_sum))) /\ ((((exists ff_h_erc_rectangle_count_bounded_choices_witness_count_sum_partial. ff_h_erc_rectangle_count_bounded_choices_witness_count_sum_partial + S (ff_r_erc_rectangle_count_bounded_choices_witness_count_sum) = S ((S (ff_i_erc_rectangle_count_bounded_choices_witness_count_sum)) * ff_v_erc_rectangle_count_bounded_choices_witness_count_sum)) /\ exists ff_q_erc_rectangle_count_bounded_choices_witness_count_sum_partial. ff_u_erc_rectangle_count_bounded_choices_witness_count_sum = ff_q_erc_rectangle_count_bounded_choices_witness_count_sum_partial * S ((S (ff_i_erc_rectangle_count_bounded_choices_witness_count_sum)) * ff_v_erc_rectangle_count_bounded_choices_witness_count_sum) + (ff_r_erc_rectangle_count_bounded_choices_witness_count_sum))) /\ ((((exists ff_h_erc_rectangle_count_bounded_choices_witness_count_sum_successor. ff_h_erc_rectangle_count_bounded_choices_witness_count_sum_successor + S (ff_s_erc_rectangle_count_bounded_choices_witness_count_sum) = S ((S (S ff_i_erc_rectangle_count_bounded_choices_witness_count_sum)) * ff_v_erc_rectangle_count_bounded_choices_witness_count_sum)) /\ exists ff_q_erc_rectangle_count_bounded_choices_witness_count_sum_successor. ff_u_erc_rectangle_count_bounded_choices_witness_count_sum = ff_q_erc_rectangle_count_bounded_choices_witness_count_sum_successor * S ((S (S ff_i_erc_rectangle_count_bounded_choices_witness_count_sum)) * ff_v_erc_rectangle_count_bounded_choices_witness_count_sum) + (ff_s_erc_rectangle_count_bounded_choices_witness_count_sum))) /\ ff_s_erc_rectangle_count_bounded_choices_witness_count_sum = ff_r_erc_rectangle_count_bounded_choices_witness_count_sum + ff_a_erc_rectangle_count_bounded_choices_witness_count_sum)))))) /\ (forall ff_i_erc_rectangle_count_bounded_choices_witness_count_bits. (exists ff_lt_erc_rectangle_count_bounded_choices_witness_count_bits_bound. ff_lt_erc_rectangle_count_bounded_choices_witness_count_bits_bound + S ff_i_erc_rectangle_count_bounded_choices_witness_count_bits = k) -> exists ff_bit_erc_rectangle_count_bounded_choices_witness_count_bits. ((((exists ff_h_erc_rectangle_count_bounded_choices_witness_count_bits_decoded. ff_h_erc_rectangle_count_bounded_choices_witness_count_bits_decoded + S (ff_bit_erc_rectangle_count_bounded_choices_witness_count_bits) = S ((S (ff_i_erc_rectangle_count_bounded_choices_witness_count_bits)) * erc_row_scale_rectangle_count_bounded_choices_witness)) /\ exists ff_q_erc_rectangle_count_bounded_choices_witness_count_bits_decoded. erc_row_code_rectangle_count_bounded_choices_witness = ff_q_erc_rectangle_count_bounded_choices_witness_count_bits_decoded * S ((S (ff_i_erc_rectangle_count_bounded_choices_witness_count_bits)) * erc_row_scale_rectangle_count_bounded_choices_witness) + (ff_bit_erc_rectangle_count_bounded_choices_witness_count_bits))) /\ (ff_bit_erc_rectangle_count_bounded_choices_witness_count_bits = 0 \/ ff_bit_erc_rectangle_count_bounded_choices_witness_count_bits = 1))))))))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 (2)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–13
03Establish hihL14–23
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply lt of lt of le.
- L14
- L15
specialize lt_of_lt_of_le i - L16
specialize lt_of_lt_of_le l - L17
specialize lt_of_lt_of_le h - L18
apply lt_of_lt_of_le - L19
exact hil - L20
exact hlh - L21
specialize distinct_odd_prime_half_row_count_choice p - L22
specialize distinct_odd_prime_half_row_count_choice q - L23
specialize distinct_odd_prime_half_row_count_choice h
04Use earlier factsL24–32
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original defined command ledger · 32 lines
- 0001
intro p - 0002
intro q - 0003
intro h - 0004
intro k - 0005
intro l - 0006
intro hpodd - 0007
intro hqodd - 0008
intro hp - 0009
intro hq - 0010
intro hpq - 0011
intro hlh - 0012
intro i - 0013
intro hil - 0014
have hih : Lt(i,h)Exact native replay line
have hih : exists erc_lt_gap_rectangle_count_row_bound. erc_lt_gap_rectangle_count_row_bound + S (i) = h - 0015
specialize lt_of_lt_of_le i - 0016
specialize lt_of_lt_of_le l - 0017
specialize lt_of_lt_of_le h - 0018
apply lt_of_lt_of_le - 0019
exact hil - 0020
exact hlh - 0021
specialize distinct_odd_prime_half_row_count_choice p - 0022
specialize distinct_odd_prime_half_row_count_choice q - 0023
specialize distinct_odd_prime_half_row_count_choice h - 0024
specialize distinct_odd_prime_half_row_count_choice k - 0025
specialize distinct_odd_prime_half_row_count_choice i - 0026
apply distinct_odd_prime_half_row_count_choice - 0027
exact hpodd - 0028
exact hqodd - 0029
exact hp - 0030
exact hq - 0031
exact hpq - 0032
exact hih