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
∀ n. ∀ s. ∀ q. ∀ r. ∀ A. ∀ B. ∀ F. Le(16 · 32,n) → FloorSqrt(n + n,s) → DivRem(n + n,3,q,r) → Pow(n + n,s,A) → Pow(4,q,B) → Pow(4,n,F) → Le(n · A · B,F)Every purple notation token opens its conservative definition. Expanding the displayed statement recovers the exact first-order Peano-arithmetic formula checked by the unchanged kernel.
Definitions used by this theorem
In the theorem statement
7 occurrences
In local proof propositions
0 occurrences
Exact expanded native-PA statement
forall n s q r A B F. (exists bqb_le_gap_b6_main_public_threshold. bqb_le_gap_b6_main_public_threshold + (16 * 32) = (n)) -> (((exists bcs_sqrt_lower_gap_b6_main_public_floor. bcs_sqrt_lower_gap_b6_main_public_floor + (s) * (s) = (n + n)) /\ exists bcs_sqrt_upper_gap_b6_main_public_floor. bcs_sqrt_upper_gap_b6_main_public_floor + S (n + n) = S (s) * S (s))) -> ((((n + n) = 3 * (q) + (r)) /\ exists bmi_remainder_gap_b6_main_public_division. bmi_remainder_gap_b6_main_public_division + S (r) = 3)) -> (exists pa_b_b6_main_public_a pa_c_b6_main_public_a. ((forall pa_i_b6_main_public_a_repeat. (exists pa_lt_b6_main_public_a_repeat_bound. pa_lt_b6_main_public_a_repeat_bound + S pa_i_b6_main_public_a_repeat = s) -> (((exists pa_h_b6_main_public_a_repeat_decoded. pa_h_b6_main_public_a_repeat_decoded + S (n + n) = S ((S (pa_i_b6_main_public_a_repeat)) * pa_c_b6_main_public_a)) /\ exists pa_q_b6_main_public_a_repeat_decoded. pa_b_b6_main_public_a = pa_q_b6_main_public_a_repeat_decoded * S ((S (pa_i_b6_main_public_a_repeat)) * pa_c_b6_main_public_a) + (n + n)))) /\ (exists pa_u_b6_main_public_a_product pa_v_b6_main_public_a_product. ((((exists pa_h_b6_main_public_a_product_start. pa_h_b6_main_public_a_product_start + S (1) = S ((S (0)) * pa_v_b6_main_public_a_product)) /\ exists pa_q_b6_main_public_a_product_start. pa_u_b6_main_public_a_product = pa_q_b6_main_public_a_product_start * S ((S (0)) * pa_v_b6_main_public_a_product) + (1))) /\ ((((exists pa_h_b6_main_public_a_product_terminal. pa_h_b6_main_public_a_product_terminal + S (A) = S ((S (s)) * pa_v_b6_main_public_a_product)) /\ exists pa_q_b6_main_public_a_product_terminal. pa_u_b6_main_public_a_product = pa_q_b6_main_public_a_product_terminal * S ((S (s)) * pa_v_b6_main_public_a_product) + (A))) /\ forall pa_i_b6_main_public_a_product. (exists pa_lt_b6_main_public_a_product_bound. pa_lt_b6_main_public_a_product_bound + S pa_i_b6_main_public_a_product = s) -> exists pa_p_b6_main_public_a_product pa_r_b6_main_public_a_product pa_s_b6_main_public_a_product. ((((exists pa_h_b6_main_public_a_product_factor. pa_h_b6_main_public_a_product_factor + S (pa_p_b6_main_public_a_product) = S ((S (pa_i_b6_main_public_a_product)) * pa_c_b6_main_public_a)) /\ exists pa_q_b6_main_public_a_product_factor. pa_b_b6_main_public_a = pa_q_b6_main_public_a_product_factor * S ((S (pa_i_b6_main_public_a_product)) * pa_c_b6_main_public_a) + (pa_p_b6_main_public_a_product))) /\ ((((exists pa_h_b6_main_public_a_product_partial. pa_h_b6_main_public_a_product_partial + S (pa_r_b6_main_public_a_product) = S ((S (pa_i_b6_main_public_a_product)) * pa_v_b6_main_public_a_product)) /\ exists pa_q_b6_main_public_a_product_partial. pa_u_b6_main_public_a_product = pa_q_b6_main_public_a_product_partial * S ((S (pa_i_b6_main_public_a_product)) * pa_v_b6_main_public_a_product) + (pa_r_b6_main_public_a_product))) /\ ((((exists pa_h_b6_main_public_a_product_successor. pa_h_b6_main_public_a_product_successor + S (pa_s_b6_main_public_a_product) = S ((S (S pa_i_b6_main_public_a_product)) * pa_v_b6_main_public_a_product)) /\ exists pa_q_b6_main_public_a_product_successor. pa_u_b6_main_public_a_product = pa_q_b6_main_public_a_product_successor * S ((S (S pa_i_b6_main_public_a_product)) * pa_v_b6_main_public_a_product) + (pa_s_b6_main_public_a_product))) /\ pa_s_b6_main_public_a_product = pa_r_b6_main_public_a_product * pa_p_b6_main_public_a_product)))))))) -> (exists pa_b_b6_main_public_b pa_c_b6_main_public_b. ((forall pa_i_b6_main_public_b_repeat. (exists pa_lt_b6_main_public_b_repeat_bound. pa_lt_b6_main_public_b_repeat_bound + S pa_i_b6_main_public_b_repeat = q) -> (((exists pa_h_b6_main_public_b_repeat_decoded. pa_h_b6_main_public_b_repeat_decoded + S (4) = S ((S (pa_i_b6_main_public_b_repeat)) * pa_c_b6_main_public_b)) /\ exists pa_q_b6_main_public_b_repeat_decoded. pa_b_b6_main_public_b = pa_q_b6_main_public_b_repeat_decoded * S ((S (pa_i_b6_main_public_b_repeat)) * pa_c_b6_main_public_b) + (4)))) /\ (exists pa_u_b6_main_public_b_product pa_v_b6_main_public_b_product. ((((exists pa_h_b6_main_public_b_product_start. pa_h_b6_main_public_b_product_start + S (1) = S ((S (0)) * pa_v_b6_main_public_b_product)) /\ exists pa_q_b6_main_public_b_product_start. pa_u_b6_main_public_b_product = pa_q_b6_main_public_b_product_start * S ((S (0)) * pa_v_b6_main_public_b_product) + (1))) /\ ((((exists pa_h_b6_main_public_b_product_terminal. pa_h_b6_main_public_b_product_terminal + S (B) = S ((S (q)) * pa_v_b6_main_public_b_product)) /\ exists pa_q_b6_main_public_b_product_terminal. pa_u_b6_main_public_b_product = pa_q_b6_main_public_b_product_terminal * S ((S (q)) * pa_v_b6_main_public_b_product) + (B))) /\ forall pa_i_b6_main_public_b_product. (exists pa_lt_b6_main_public_b_product_bound. pa_lt_b6_main_public_b_product_bound + S pa_i_b6_main_public_b_product = q) -> exists pa_p_b6_main_public_b_product pa_r_b6_main_public_b_product pa_s_b6_main_public_b_product. ((((exists pa_h_b6_main_public_b_product_factor. pa_h_b6_main_public_b_product_factor + S (pa_p_b6_main_public_b_product) = S ((S (pa_i_b6_main_public_b_product)) * pa_c_b6_main_public_b)) /\ exists pa_q_b6_main_public_b_product_factor. pa_b_b6_main_public_b = pa_q_b6_main_public_b_product_factor * S ((S (pa_i_b6_main_public_b_product)) * pa_c_b6_main_public_b) + (pa_p_b6_main_public_b_product))) /\ ((((exists pa_h_b6_main_public_b_product_partial. pa_h_b6_main_public_b_product_partial + S (pa_r_b6_main_public_b_product) = S ((S (pa_i_b6_main_public_b_product)) * pa_v_b6_main_public_b_product)) /\ exists pa_q_b6_main_public_b_product_partial. pa_u_b6_main_public_b_product = pa_q_b6_main_public_b_product_partial * S ((S (pa_i_b6_main_public_b_product)) * pa_v_b6_main_public_b_product) + (pa_r_b6_main_public_b_product))) /\ ((((exists pa_h_b6_main_public_b_product_successor. pa_h_b6_main_public_b_product_successor + S (pa_s_b6_main_public_b_product) = S ((S (S pa_i_b6_main_public_b_product)) * pa_v_b6_main_public_b_product)) /\ exists pa_q_b6_main_public_b_product_successor. pa_u_b6_main_public_b_product = pa_q_b6_main_public_b_product_successor * S ((S (S pa_i_b6_main_public_b_product)) * pa_v_b6_main_public_b_product) + (pa_s_b6_main_public_b_product))) /\ pa_s_b6_main_public_b_product = pa_r_b6_main_public_b_product * pa_p_b6_main_public_b_product)))))))) -> (exists pa_b_b6_main_public_f pa_c_b6_main_public_f. ((forall pa_i_b6_main_public_f_repeat. (exists pa_lt_b6_main_public_f_repeat_bound. pa_lt_b6_main_public_f_repeat_bound + S pa_i_b6_main_public_f_repeat = n) -> (((exists pa_h_b6_main_public_f_repeat_decoded. pa_h_b6_main_public_f_repeat_decoded + S (4) = S ((S (pa_i_b6_main_public_f_repeat)) * pa_c_b6_main_public_f)) /\ exists pa_q_b6_main_public_f_repeat_decoded. pa_b_b6_main_public_f = pa_q_b6_main_public_f_repeat_decoded * S ((S (pa_i_b6_main_public_f_repeat)) * pa_c_b6_main_public_f) + (4)))) /\ (exists pa_u_b6_main_public_f_product pa_v_b6_main_public_f_product. ((((exists pa_h_b6_main_public_f_product_start. pa_h_b6_main_public_f_product_start + S (1) = S ((S (0)) * pa_v_b6_main_public_f_product)) /\ exists pa_q_b6_main_public_f_product_start. pa_u_b6_main_public_f_product = pa_q_b6_main_public_f_product_start * S ((S (0)) * pa_v_b6_main_public_f_product) + (1))) /\ ((((exists pa_h_b6_main_public_f_product_terminal. pa_h_b6_main_public_f_product_terminal + S (F) = S ((S (n)) * pa_v_b6_main_public_f_product)) /\ exists pa_q_b6_main_public_f_product_terminal. pa_u_b6_main_public_f_product = pa_q_b6_main_public_f_product_terminal * S ((S (n)) * pa_v_b6_main_public_f_product) + (F))) /\ forall pa_i_b6_main_public_f_product. (exists pa_lt_b6_main_public_f_product_bound. pa_lt_b6_main_public_f_product_bound + S pa_i_b6_main_public_f_product = n) -> exists pa_p_b6_main_public_f_product pa_r_b6_main_public_f_product pa_s_b6_main_public_f_product. ((((exists pa_h_b6_main_public_f_product_factor. pa_h_b6_main_public_f_product_factor + S (pa_p_b6_main_public_f_product) = S ((S (pa_i_b6_main_public_f_product)) * pa_c_b6_main_public_f)) /\ exists pa_q_b6_main_public_f_product_factor. pa_b_b6_main_public_f = pa_q_b6_main_public_f_product_factor * S ((S (pa_i_b6_main_public_f_product)) * pa_c_b6_main_public_f) + (pa_p_b6_main_public_f_product))) /\ ((((exists pa_h_b6_main_public_f_product_partial. pa_h_b6_main_public_f_product_partial + S (pa_r_b6_main_public_f_product) = S ((S (pa_i_b6_main_public_f_product)) * pa_v_b6_main_public_f_product)) /\ exists pa_q_b6_main_public_f_product_partial. pa_u_b6_main_public_f_product = pa_q_b6_main_public_f_product_partial * S ((S (pa_i_b6_main_public_f_product)) * pa_v_b6_main_public_f_product) + (pa_r_b6_main_public_f_product))) /\ ((((exists pa_h_b6_main_public_f_product_successor. pa_h_b6_main_public_f_product_successor + S (pa_s_b6_main_public_f_product) = S ((S (S pa_i_b6_main_public_f_product)) * pa_v_b6_main_public_f_product)) /\ exists pa_q_b6_main_public_f_product_successor. pa_u_b6_main_public_f_product = pa_q_b6_main_public_f_product_successor * S ((S (S pa_i_b6_main_public_f_product)) * pa_v_b6_main_public_f_product) + (pa_s_b6_main_public_f_product))) /\ pa_s_b6_main_public_f_product = pa_r_b6_main_public_f_product * pa_p_b6_main_public_f_product)))))))) -> (exists bqb_le_gap_b6_main_public_result. bqb_le_gap_b6_main_public_result + (n * A * B) = (F))Proof neighborhood
Direct theorem prerequisites
Direct theorem dependents
Definition-aware tactic body
Only local propositions introduced by have or suffices are compacted. Every changed line has an exact-AST conservative-expansion receipt; the kernel still receives the immutable original tactic script.
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 hdoubleL14–23
Establish this local claim before using it. It is not an additional assumption.
- L14
have hdouble : 2 * n = n + n - L15
specialize two_mul_eq_add_self n - L16
exact two_mul_eq_add_self - L17
rewrite <- hdouble at hfloor - L18
rewrite <- hdouble at hfloor - L19
rewrite <- hdouble at hdiv - L20
rewrite <- hdouble at hA - L21
rewrite <- hdouble at hA - L22
specialize bertrand_main_inequality_factorized n - L23
specialize bertrand_main_inequality_factorized s
04Use earlier factsL24–33
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L24
specialize bertrand_main_inequality_factorized q - L25
specialize bertrand_main_inequality_factorized r - L26
specialize bertrand_main_inequality_factorized A - L27
specialize bertrand_main_inequality_factorized B - L28
specialize bertrand_main_inequality_factorized F - L29
apply bertrand_main_inequality_factorized - L30
exact hthreshold - L31
exact hfloor - L32
exact hdiv - L33
exact hA
Original defined command ledger · 35 lines
- 0001
intro n - 0002
intro s - 0003
intro q - 0004
intro r - 0005
intro A - 0006
intro B - 0007
intro F - 0008
intro hthreshold - 0009
intro hfloor - 0010
intro hdiv - 0011
intro hA - 0012
intro hB - 0013
intro hF - 0014
have hdouble : 2 * n = n + n - 0015
specialize two_mul_eq_add_self n - 0016
exact two_mul_eq_add_self - 0017
rewrite <- hdouble at hfloor - 0018
rewrite <- hdouble at hfloor - 0019
rewrite <- hdouble at hdiv - 0020
rewrite <- hdouble at hA - 0021
rewrite <- hdouble at hA - 0022
specialize bertrand_main_inequality_factorized n - 0023
specialize bertrand_main_inequality_factorized s - 0024
specialize bertrand_main_inequality_factorized q - 0025
specialize bertrand_main_inequality_factorized r - 0026
specialize bertrand_main_inequality_factorized A - 0027
specialize bertrand_main_inequality_factorized B - 0028
specialize bertrand_main_inequality_factorized F - 0029
apply bertrand_main_inequality_factorized - 0030
exact hthreshold - 0031
exact hfloor - 0032
exact hdiv - 0033
exact hA - 0034
exact hB - 0035
exact hF