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. ∀ F. Prime(p) → Le(p,n) → Factorial(n,F) → Dvd(p,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
4 occurrences
In local proof propositions
2 occurrences
Exact expanded native-PA statement
forall p n F. ((~(p = 1) /\ forall bpr_left_bfpdol_prime bpr_right_bfpdol_prime. p = bpr_left_bfpdol_prime * bpr_right_bfpdol_prime -> bpr_left_bfpdol_prime = 1 \/ bpr_right_bfpdol_prime = 1)) -> (exists bpr_le_gap_bfpdol_bound. bpr_le_gap_bfpdol_bound + (p) = (n)) -> (exists ff_b_bfpdol_source ff_c_bfpdol_source. ((forall ff_i_bfpdol_source_range. (exists ff_lt_bfpdol_source_range_bound. ff_lt_bfpdol_source_range_bound + S ff_i_bfpdol_source_range = n) -> (((exists ff_h_bfpdol_source_range_decoded. ff_h_bfpdol_source_range_decoded + S (1 + ff_i_bfpdol_source_range) = S ((S (ff_i_bfpdol_source_range)) * ff_c_bfpdol_source)) /\ exists ff_q_bfpdol_source_range_decoded. ff_b_bfpdol_source = ff_q_bfpdol_source_range_decoded * S ((S (ff_i_bfpdol_source_range)) * ff_c_bfpdol_source) + (1 + ff_i_bfpdol_source_range)))) /\ (exists ff_u_bfpdol_source_product ff_v_bfpdol_source_product. ((((exists ff_h_bfpdol_source_product_start. ff_h_bfpdol_source_product_start + S (1) = S ((S (0)) * ff_v_bfpdol_source_product)) /\ exists ff_q_bfpdol_source_product_start. ff_u_bfpdol_source_product = ff_q_bfpdol_source_product_start * S ((S (0)) * ff_v_bfpdol_source_product) + (1))) /\ ((((exists ff_h_bfpdol_source_product_terminal. ff_h_bfpdol_source_product_terminal + S (F) = S ((S (n)) * ff_v_bfpdol_source_product)) /\ exists ff_q_bfpdol_source_product_terminal. ff_u_bfpdol_source_product = ff_q_bfpdol_source_product_terminal * S ((S (n)) * ff_v_bfpdol_source_product) + (F))) /\ forall ff_i_bfpdol_source_product. (exists ff_lt_bfpdol_source_product_bound. ff_lt_bfpdol_source_product_bound + S ff_i_bfpdol_source_product = n) -> exists ff_p_bfpdol_source_product ff_r_bfpdol_source_product ff_s_bfpdol_source_product. ((((exists ff_h_bfpdol_source_product_factor. ff_h_bfpdol_source_product_factor + S (ff_p_bfpdol_source_product) = S ((S (ff_i_bfpdol_source_product)) * ff_c_bfpdol_source)) /\ exists ff_q_bfpdol_source_product_factor. ff_b_bfpdol_source = ff_q_bfpdol_source_product_factor * S ((S (ff_i_bfpdol_source_product)) * ff_c_bfpdol_source) + (ff_p_bfpdol_source_product))) /\ ((((exists ff_h_bfpdol_source_product_partial. ff_h_bfpdol_source_product_partial + S (ff_r_bfpdol_source_product) = S ((S (ff_i_bfpdol_source_product)) * ff_v_bfpdol_source_product)) /\ exists ff_q_bfpdol_source_product_partial. ff_u_bfpdol_source_product = ff_q_bfpdol_source_product_partial * S ((S (ff_i_bfpdol_source_product)) * ff_v_bfpdol_source_product) + (ff_r_bfpdol_source_product))) /\ ((((exists ff_h_bfpdol_source_product_successor. ff_h_bfpdol_source_product_successor + S (ff_s_bfpdol_source_product) = S ((S (S ff_i_bfpdol_source_product)) * ff_v_bfpdol_source_product)) /\ exists ff_q_bfpdol_source_product_successor. ff_u_bfpdol_source_product = ff_q_bfpdol_source_product_successor * S ((S (S ff_i_bfpdol_source_product)) * ff_v_bfpdol_source_product) + (ff_s_bfpdol_source_product))) /\ ff_s_bfpdol_source_product = ff_r_bfpdol_source_product * ff_p_bfpdol_source_product)))))))) -> (exists bpr_quotient_bfpdol_result. F = (p) * bpr_quotient_bfpdol_result)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 (4)
01Fix variables and assumptionsL1–6
02Establish hshapeL7–9
03Separate the logical casesL10–10
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L10
cases hshape
04Calculate and transport equalitiesL11–11
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L11
rewrite hshape_witness at hle
05Separate the logical casesL12–14
06Establish hentryL15–17
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hfactorial witness witness left.
- L15
have hentry : BetaAt(x1,x2,S x,1 + S x)Definitions: BetaAt(x1,x2,S x,1 + S x)Original native command in the exact edition - L16
apply hfactorial_witness_witness_left - L17
exact hle
07Establish hrawL18–27
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta factor divides product.
- L18
- L19
specialize beta_factor_divides_product x1 - L20
specialize beta_factor_divides_product x2 - L21
specialize beta_factor_divides_product n - L22
specialize beta_factor_divides_product F - L23
specialize beta_factor_divides_product (S x) - L24
specialize beta_factor_divides_product (1 + S x) - L25
apply beta_factor_divides_product - L26
exact hle - L27
exact hentry
08Use earlier factsL28–28
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L28
exact hfactorial_witness_witness_right
09Separate the logical casesL29–29
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L29
cases hraw
10Construct an explicit witnessL30–30
Supply the displayed value, then prove that it has the required property.
- L30
exists x3
11Calculate and transport equalitiesL31–32
12Use earlier factsL33–33
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L33
exact hraw_witness
13Calculate and transport equalitiesL34–35
14Use earlier factsL36–36
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L36
apply PA4
15Calculate and transport equalitiesL37–38
16Use earlier factsL39–41
17Calculate and transport equalitiesL42–42
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L42
congr
18Use earlier factsL43–43
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L43
apply zero_add
19Calculate and transport equalitiesL44–44
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L44
refl
Original defined command ledger · 44 lines
- 0001
intro p - 0002
intro n - 0003
intro F - 0004
intro hp - 0005
intro hle - 0006
intro hfactorial - 0007
have hshape : exists k. p = S (S k) - 0008
apply prime_is_succ_succ - 0009
exact hp - 0010
cases hshape - 0011
rewrite hshape_witness at hle - 0012
cases hfactorial - 0013
cases hfactorial_witness - 0014
cases hfactorial_witness_witness - 0015
have hentry : BetaAt(x1,x2,S x,1 + S x)Exact native replay line
have hentry : ((exists bpr_height_bfpdol_entry. bpr_height_bfpdol_entry + S (1 + S x) = S ((S (S x)) * x2)) /\ exists bpr_quotient_bfpdol_entry. x1 = bpr_quotient_bfpdol_entry * S ((S (S x)) * x2) + (1 + S x)) - 0016
apply hfactorial_witness_witness_left - 0017
exact hle - 0018
have hraw : Dvd(1 + S x,F)Exact native replay line
have hraw : exists q. F = (1 + S x) * q - 0019
specialize beta_factor_divides_product x1 - 0020
specialize beta_factor_divides_product x2 - 0021
specialize beta_factor_divides_product n - 0022
specialize beta_factor_divides_product F - 0023
specialize beta_factor_divides_product (S x) - 0024
specialize beta_factor_divides_product (1 + S x) - 0025
apply beta_factor_divides_product - 0026
exact hle - 0027
exact hentry - 0028
exact hfactorial_witness_witness_right - 0029
cases hraw - 0030
exists x3 - 0031
rewrite hshape_witness - 0032
trans (1 + S x) * x3 - 0033
exact hraw_witness - 0034
congr - 0035
trans S (1 + x) - 0036
apply PA4 - 0037
congr - 0038
trans S (0 + x) - 0039
specialize add_succ_left 0 - 0040
specialize add_succ_left x - 0041
apply add_succ_left - 0042
congr - 0043
apply zero_add - 0044
refl