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. ∀ n. ∀ s. Prime(p) → Lt(2,n) → Lt(n + n,p + p + p) → Pow(p,2,s) → Lt(n + n,s)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
5 occurrences
In local proof propositions
8 occurrences
Exact expanded native-PA statement
forall p n s. ((~(p = 1) /\ forall frm_prime_left_bpstt_prime frm_prime_right_bpstt_prime. p = frm_prime_left_bpstt_prime * frm_prime_right_bpstt_prime -> frm_prime_left_bpstt_prime = 1 \/ frm_prime_right_bpstt_prime = 1)) -> (exists bcf_lt_gap_bpstt_positive. bcf_lt_gap_bpstt_positive + S (2) = n) -> (exists bcf_lt_gap_bpstt_scaled. bcf_lt_gap_bpstt_scaled + S (n + n) = (p + p) + p) -> (exists bpvi_b_bpstt_power bpvi_c_bpstt_power. ((forall bpvi_i_bpstt_power. (exists bpvi_repeat_gap_bpstt_power. bpvi_repeat_gap_bpstt_power + S bpvi_i_bpstt_power = 2) -> (((exists bpvi_h_bpstt_power_repeat. bpvi_h_bpstt_power_repeat + S (p) = S ((S (bpvi_i_bpstt_power)) * bpvi_c_bpstt_power)) /\ exists bpvi_q_bpstt_power_repeat. bpvi_b_bpstt_power = bpvi_q_bpstt_power_repeat * S ((S (bpvi_i_bpstt_power)) * bpvi_c_bpstt_power) + (p)))) /\ (exists bpvi_u_bpstt_power bpvi_v_bpstt_power. ((((exists bpvi_h_bpstt_power_start. bpvi_h_bpstt_power_start + S (1) = S ((S (0)) * bpvi_v_bpstt_power)) /\ exists bpvi_q_bpstt_power_start. bpvi_u_bpstt_power = bpvi_q_bpstt_power_start * S ((S (0)) * bpvi_v_bpstt_power) + (1))) /\ ((((exists bpvi_h_bpstt_power_terminal. bpvi_h_bpstt_power_terminal + S (s) = S ((S (2)) * bpvi_v_bpstt_power)) /\ exists bpvi_q_bpstt_power_terminal. bpvi_u_bpstt_power = bpvi_q_bpstt_power_terminal * S ((S (2)) * bpvi_v_bpstt_power) + (s))) /\ forall bpvi_j_bpstt_power. (exists bpvi_product_gap_bpstt_power. bpvi_product_gap_bpstt_power + S bpvi_j_bpstt_power = 2) -> exists bpvi_factor_bpstt_power bpvi_partial_bpstt_power bpvi_successor_bpstt_power. ((((exists bpvi_h_bpstt_power_factor. bpvi_h_bpstt_power_factor + S (bpvi_factor_bpstt_power) = S ((S (bpvi_j_bpstt_power)) * bpvi_c_bpstt_power)) /\ exists bpvi_q_bpstt_power_factor. bpvi_b_bpstt_power = bpvi_q_bpstt_power_factor * S ((S (bpvi_j_bpstt_power)) * bpvi_c_bpstt_power) + (bpvi_factor_bpstt_power))) /\ ((((exists bpvi_h_bpstt_power_partial. bpvi_h_bpstt_power_partial + S (bpvi_partial_bpstt_power) = S ((S (bpvi_j_bpstt_power)) * bpvi_v_bpstt_power)) /\ exists bpvi_q_bpstt_power_partial. bpvi_u_bpstt_power = bpvi_q_bpstt_power_partial * S ((S (bpvi_j_bpstt_power)) * bpvi_v_bpstt_power) + (bpvi_partial_bpstt_power))) /\ ((((exists bpvi_h_bpstt_power_successor. bpvi_h_bpstt_power_successor + S (bpvi_successor_bpstt_power) = S ((S (S bpvi_j_bpstt_power)) * bpvi_v_bpstt_power)) /\ exists bpvi_q_bpstt_power_successor. bpvi_u_bpstt_power = bpvi_q_bpstt_power_successor * S ((S (S bpvi_j_bpstt_power)) * bpvi_v_bpstt_power) + (bpvi_successor_bpstt_power))) /\ bpvi_successor_bpstt_power = bpvi_partial_bpstt_power * bpvi_factor_bpstt_power)))))))) -> (exists bcf_lt_gap_bpstt_result. bcf_lt_gap_bpstt_result + S (n + n) = s)Proof neighborhood
Direct theorem prerequisites
BT00AW prime_is_succ_succ BT000Q zero_or_succ BT0014 add_le_add_right BT0015 add_le_add_left BT000F le_trans BT001I lt_not_le BT001L mul_le_mul_left BT000A mul_one BT001D lt_of_lt_of_le BT009W pow_twoDirect 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 (10)
01Fix variables and assumptionsL1–7
02Establish hshapeL8–11
03Separate the logical casesL12–12
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L12
cases hshape
04Use earlier factsL13–13
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L13
specialize zero_or_succ x
05Separate the logical casesL14–14
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L14
cases zero_or_succ
06Establish hn_lowerL15–16
Establish this local claim before using it. It is not an additional assumption.
07Establish hdouble_lowerL17–17
Establish this local claim before using it. It is not an additional assumption.
- L17
have hdouble_lower : Le(3 + 3,n + n)Definitions: Le(3 + 3,n + n)Original native command in the exact edition
08Establish hfirst_addL18–23
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply add le add right.
- L18
have hfirst_add : Le(3 + 3,n + 3)Definitions: Le(3 + 3,n + 3)Original native command in the exact edition - L19
specialize add_le_add_right 3 - L20
specialize add_le_add_right n - L21
specialize add_le_add_right 3 - L22
apply add_le_add_right - L23
exact hn_lower
09Establish hsecond_addL24–33
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply add le add left.
- L24
have hsecond_add : Le(n + 3,n + n)Definitions: Le(n + 3,n + n)Original native command in the exact edition - L25
specialize add_le_add_left 3 - L26
specialize add_le_add_left n - L27
specialize add_le_add_left n - L28
apply add_le_add_left - L29
exact hn_lower - L30
specialize le_trans (3 + 3) - L31
specialize le_trans (n + 3) - L32
specialize le_trans (n + n) - L33
apply le_trans
10Use earlier factsL34–35
11Calculate and transport equalitiesL36–39
12Separate the logical casesL40–40
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L40
exfalso
13Use earlier factsL41–44
14Establish hsmallL45–48
15Separate the logical casesL49–49
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L49
cases zero_or_succ_right
16Establish hp_lowerL50–50
Establish this local claim before using it. It is not an additional assumption.
17Construct an explicit witnessL51–51
Supply the displayed value, then prove that it has the required property.
- L51
exists x1
18Calculate and transport equalitiesL52–54
19Establish hproduct_lowerL55–55
Establish this local claim before using it. It is not an additional assumption.
- L55
have hproduct_lower : Le(p + p + p,p · p)Definitions: Le(p + p + p,p · p)Original native command in the exact edition
20Establish hraw_product_lowerL56–61
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mul le mul left.
- L56
have hraw_product_lower : Le(p · 3,p · p)Definitions: Le(p · 3,p · p)Original native command in the exact edition - L57
specialize mul_le_mul_left 3 - L58
specialize mul_le_mul_left p - L59
specialize mul_le_mul_left p - L60
apply mul_le_mul_left - L61
exact hp_lower
21Establish htripleL62–69
22Establish hstrict_productL70–76
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply lt of lt of le.
- L70
have hstrict_product : Lt(n + n,p · p)Definitions: Lt(n + n,p · p)Original native command in the exact edition - L71
specialize lt_of_lt_of_le (n + n) - L72
specialize lt_of_lt_of_le ((p + p) + p) - L73
specialize lt_of_lt_of_le (p * p) - L74
apply lt_of_lt_of_le - L75
exact hscaled - L76
exact hproduct_lower
23Establish hsquare_valueL77–85
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow two.
Original defined command ledger · 85 lines
- 0001
intro p - 0002
intro n - 0003
intro s - 0004
intro hp - 0005
intro hpositive - 0006
intro hscaled - 0007
intro hsquare - 0008
have hshape : exists k. p = S (S k) - 0009
specialize prime_is_succ_succ p - 0010
apply prime_is_succ_succ - 0011
exact hp - 0012
cases hshape - 0013
specialize zero_or_succ x - 0014
cases zero_or_succ - 0015
have hn_lower : Lt(2,n)Exact native replay line
have hn_lower : exists bcf_le_gap_bpstt_three_lower. bcf_le_gap_bpstt_three_lower + (3) = n - 0016
exact hpositive - 0017
have hdouble_lower : Le(3 + 3,n + n)Exact native replay line
have hdouble_lower : exists bcf_le_gap_bpstt_six_lower. bcf_le_gap_bpstt_six_lower + (3 + 3) = n + n - 0018
have hfirst_add : Le(3 + 3,n + 3)Exact native replay line
have hfirst_add : exists bcf_le_gap_bpstt_first_add. bcf_le_gap_bpstt_first_add + (3 + 3) = n + 3 - 0019
specialize add_le_add_right 3 - 0020
specialize add_le_add_right n - 0021
specialize add_le_add_right 3 - 0022
apply add_le_add_right - 0023
exact hn_lower - 0024
have hsecond_add : Le(n + 3,n + n)Exact native replay line
have hsecond_add : exists bcf_le_gap_bpstt_second_add. bcf_le_gap_bpstt_second_add + (n + 3) = n + n - 0025
specialize add_le_add_left 3 - 0026
specialize add_le_add_left n - 0027
specialize add_le_add_left n - 0028
apply add_le_add_left - 0029
exact hn_lower - 0030
specialize le_trans (3 + 3) - 0031
specialize le_trans (n + 3) - 0032
specialize le_trans (n + n) - 0033
apply le_trans - 0034
exact hfirst_add - 0035
exact hsecond_add - 0036
rewrite zero_or_succ_left at hshape_witness - 0037
rewrite hshape_witness at hscaled - 0038
rewrite hshape_witness at hscaled - 0039
rewrite hshape_witness at hscaled - 0040
exfalso - 0041
specialize lt_not_le (n + n) - 0042
specialize lt_not_le ((2 + 2) + 2) - 0043
apply lt_not_le - 0044
exact hscaled - 0045
have hsmall : (2 + 2) + 2 = 3 + 3 - 0046
norm_num - 0047
rewrite hsmall - 0048
exact hdouble_lower - 0049
cases zero_or_succ_right - 0050
have hp_lower : Lt(2,p)Exact native replay line
have hp_lower : exists bcf_le_gap_bpstt_prime_lower. bcf_le_gap_bpstt_prime_lower + (3) = p - 0051
exists x1 - 0052
rewrite hshape_witness - 0053
rewrite zero_or_succ_right_witness - 0054
simp - 0055
have hproduct_lower : Le(p + p + p,p · p)Exact native replay line
have hproduct_lower : exists bcf_le_gap_bpstt_product_lower. bcf_le_gap_bpstt_product_lower + ((p + p) + p) = p * p - 0056
have hraw_product_lower : Le(p · 3,p · p)Exact native replay line
have hraw_product_lower : exists bcf_le_gap_bpstt_raw_product_lower. bcf_le_gap_bpstt_raw_product_lower + (p * 3) = p * p - 0057
specialize mul_le_mul_left 3 - 0058
specialize mul_le_mul_left p - 0059
specialize mul_le_mul_left p - 0060
apply mul_le_mul_left - 0061
exact hp_lower - 0062
have htriple : p * 3 = (p + p) + p - 0063
rewrite PA6 - 0064
rewrite PA6 - 0065
specialize mul_one p - 0066
rewrite mul_one - 0067
refl - 0068
rewrite htriple at hraw_product_lower - 0069
exact hraw_product_lower - 0070
have hstrict_product : Lt(n + n,p · p)Exact native replay line
have hstrict_product : exists bcf_lt_gap_bpstt_strict_product. bcf_lt_gap_bpstt_strict_product + S (n + n) = p * p - 0071
specialize lt_of_lt_of_le (n + n) - 0072
specialize lt_of_lt_of_le ((p + p) + p) - 0073
specialize lt_of_lt_of_le (p * p) - 0074
apply lt_of_lt_of_le - 0075
exact hscaled - 0076
exact hproduct_lower - 0077
have hsquare_value : s = p * p - 0078
specialize pow_two p - 0079
specialize pow_two 2 - 0080
specialize pow_two s - 0081
apply pow_two - 0082
refl - 0083
exact hsquare - 0084
rewrite hsquare_value - 0085
exact hstrict_product