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
∀ m. ∀ b. ∀ c. ∀ l. ∀ z. (∀ x. ∀ y. Lt(x,l) → BetaAt(b,c,x,y) → Coprime(y,m)) → Product(b,c,l,z) → Coprime(z,m)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
7 occurrences
Exact expanded native-PA statement
forall m b c l z. (forall frp_index_pointwise frp_factor_pointwise. (exists frp_gap_pointwise_bound. frp_gap_pointwise_bound + S frp_index_pointwise = l) -> (((exists ff_h_frp_pointwise_decoded. ff_h_frp_pointwise_decoded + S (frp_factor_pointwise) = S ((S (frp_index_pointwise)) * c)) /\ exists ff_q_frp_pointwise_decoded. b = ff_q_frp_pointwise_decoded * S ((S (frp_index_pointwise)) * c) + (frp_factor_pointwise))) -> (forall frp_divisor_pointwise_coprime. (exists frp_left_factor_pointwise_coprime. frp_factor_pointwise = frp_divisor_pointwise_coprime * frp_left_factor_pointwise_coprime) -> (exists frp_right_factor_pointwise_coprime. m = frp_divisor_pointwise_coprime * frp_right_factor_pointwise_coprime) -> frp_divisor_pointwise_coprime = 1)) -> (exists ff_u_pointwise_product ff_v_pointwise_product. ((((exists ff_h_pointwise_product_start. ff_h_pointwise_product_start + S (1) = S ((S (0)) * ff_v_pointwise_product)) /\ exists ff_q_pointwise_product_start. ff_u_pointwise_product = ff_q_pointwise_product_start * S ((S (0)) * ff_v_pointwise_product) + (1))) /\ ((((exists ff_h_pointwise_product_terminal. ff_h_pointwise_product_terminal + S (z) = S ((S (l)) * ff_v_pointwise_product)) /\ exists ff_q_pointwise_product_terminal. ff_u_pointwise_product = ff_q_pointwise_product_terminal * S ((S (l)) * ff_v_pointwise_product) + (z))) /\ forall ff_i_pointwise_product. (exists ff_lt_pointwise_product_bound. ff_lt_pointwise_product_bound + S ff_i_pointwise_product = l) -> exists ff_p_pointwise_product ff_r_pointwise_product ff_s_pointwise_product. ((((exists ff_h_pointwise_product_factor. ff_h_pointwise_product_factor + S (ff_p_pointwise_product) = S ((S (ff_i_pointwise_product)) * c)) /\ exists ff_q_pointwise_product_factor. b = ff_q_pointwise_product_factor * S ((S (ff_i_pointwise_product)) * c) + (ff_p_pointwise_product))) /\ ((((exists ff_h_pointwise_product_partial. ff_h_pointwise_product_partial + S (ff_r_pointwise_product) = S ((S (ff_i_pointwise_product)) * ff_v_pointwise_product)) /\ exists ff_q_pointwise_product_partial. ff_u_pointwise_product = ff_q_pointwise_product_partial * S ((S (ff_i_pointwise_product)) * ff_v_pointwise_product) + (ff_r_pointwise_product))) /\ ((((exists ff_h_pointwise_product_successor. ff_h_pointwise_product_successor + S (ff_s_pointwise_product) = S ((S (S ff_i_pointwise_product)) * ff_v_pointwise_product)) /\ exists ff_q_pointwise_product_successor. ff_u_pointwise_product = ff_q_pointwise_product_successor * S ((S (S ff_i_pointwise_product)) * ff_v_pointwise_product) + (ff_s_pointwise_product))) /\ ff_s_pointwise_product = ff_r_pointwise_product * ff_p_pointwise_product)))))) -> (forall frp_divisor_pointwise_result. (exists frp_left_factor_pointwise_result. z = frp_divisor_pointwise_result * frp_left_factor_pointwise_result) -> (exists frp_right_factor_pointwise_result. m = frp_divisor_pointwise_result * frp_right_factor_pointwise_result) -> frp_divisor_pointwise_result = 1)Proof neighborhood
Direct theorem prerequisites
BT005I beta_product_zero BT005J beta_product_succ_decompose BT0018 le_succ BT000E le_refl BT002Y coprime_one_left BT004R coprime_mul_leftDirect 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 (6)
01Fix variables and assumptionsL1–3
02Induction on lL4–7
03Establish hzL8–17
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta product zero.
04Fix variables and assumptionsL18–19
05Establish hdecompL20–26
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta product succ decompose.
- L20
have hdecomp : ∃ p. ∃ r. BetaAt(b,c,l,p) ∧ (Product(b,c,l,r) ∧ z = r · p)Definitions: BetaAt(b,c,l,p)Product(b,c,l,r)Original native command in the exact edition - L21
specialize beta_product_succ_decompose b - L22
specialize beta_product_succ_decompose c - L23
specialize beta_product_succ_decompose l - L24
specialize beta_product_succ_decompose z - L25
apply beta_product_succ_decompose - L26
exact hproduct
06Separate the logical casesL27–30
07Establish hpw_prefixL31–40
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hpw.
- L31
have hpw_prefix : ∀ frp_index_pointwise_prefix. ∀ frp_factor_pointwise_prefix. Lt(frp_index_pointwise_prefix,l) → BetaAt(b,c,frp_index_pointwise_prefix,frp_factor_pointwise_prefix) → Coprime(frp_factor_pointwise_prefix,m)Definitions: Lt(frp_index_pointwise_prefix,l)BetaAt(b,c,frp_index_pointwise_prefix,frp_factor_pointwise_prefix)Coprime(frp_factor_pointwise_prefix,m)Original native command in the exact edition - L32
intro i - L33
intro x2 - L34
intro hi - L35
intro hx2 - L36
specialize hpw i - L37
specialize hpw x2 - L38
apply hpw - L39
specialize le_succ (S i) - L40
specialize le_succ l
08Use earlier factsL41–43
09Establish hprefixL44–48
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply IH.
10Establish hfactorL49–58
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hpw.
Original defined command ledger · 62 lines
- 0001
intro m - 0002
intro b - 0003
intro c - 0004
induction l - 0005
intro z - 0006
intro hpw - 0007
intro hproduct - 0008
have hz : z = 1 - 0009
specialize beta_product_zero b - 0010
specialize beta_product_zero c - 0011
specialize beta_product_zero z - 0012
apply beta_product_zero - 0013
exact hproduct - 0014
rewrite hz - 0015
specialize coprime_one_left m - 0016
exact coprime_one_left - 0017
intro z - 0018
intro hpw - 0019
intro hproduct - 0020
have hdecomp : ∃ p. ∃ r. BetaAt(b,c,l,p) ∧ (Product(b,c,l,r) ∧ z = r · p)Exact native replay line
have hdecomp : exists p r. (((exists ff_h_frp_final_factor. ff_h_frp_final_factor + S (p) = S ((S (l)) * c)) /\ exists ff_q_frp_final_factor. b = ff_q_frp_final_factor * S ((S (l)) * c) + (p))) /\ ((exists ff_u_pointwise_prefix_product ff_v_pointwise_prefix_product. ((((exists ff_h_pointwise_prefix_product_start. ff_h_pointwise_prefix_product_start + S (1) = S ((S (0)) * ff_v_pointwise_prefix_product)) /\ exists ff_q_pointwise_prefix_product_start. ff_u_pointwise_prefix_product = ff_q_pointwise_prefix_product_start * S ((S (0)) * ff_v_pointwise_prefix_product) + (1))) /\ ((((exists ff_h_pointwise_prefix_product_terminal. ff_h_pointwise_prefix_product_terminal + S (r) = S ((S (l)) * ff_v_pointwise_prefix_product)) /\ exists ff_q_pointwise_prefix_product_terminal. ff_u_pointwise_prefix_product = ff_q_pointwise_prefix_product_terminal * S ((S (l)) * ff_v_pointwise_prefix_product) + (r))) /\ forall ff_i_pointwise_prefix_product. (exists ff_lt_pointwise_prefix_product_bound. ff_lt_pointwise_prefix_product_bound + S ff_i_pointwise_prefix_product = l) -> exists ff_p_pointwise_prefix_product ff_r_pointwise_prefix_product ff_s_pointwise_prefix_product. ((((exists ff_h_pointwise_prefix_product_factor. ff_h_pointwise_prefix_product_factor + S (ff_p_pointwise_prefix_product) = S ((S (ff_i_pointwise_prefix_product)) * c)) /\ exists ff_q_pointwise_prefix_product_factor. b = ff_q_pointwise_prefix_product_factor * S ((S (ff_i_pointwise_prefix_product)) * c) + (ff_p_pointwise_prefix_product))) /\ ((((exists ff_h_pointwise_prefix_product_partial. ff_h_pointwise_prefix_product_partial + S (ff_r_pointwise_prefix_product) = S ((S (ff_i_pointwise_prefix_product)) * ff_v_pointwise_prefix_product)) /\ exists ff_q_pointwise_prefix_product_partial. ff_u_pointwise_prefix_product = ff_q_pointwise_prefix_product_partial * S ((S (ff_i_pointwise_prefix_product)) * ff_v_pointwise_prefix_product) + (ff_r_pointwise_prefix_product))) /\ ((((exists ff_h_pointwise_prefix_product_successor. ff_h_pointwise_prefix_product_successor + S (ff_s_pointwise_prefix_product) = S ((S (S ff_i_pointwise_prefix_product)) * ff_v_pointwise_prefix_product)) /\ exists ff_q_pointwise_prefix_product_successor. ff_u_pointwise_prefix_product = ff_q_pointwise_prefix_product_successor * S ((S (S ff_i_pointwise_prefix_product)) * ff_v_pointwise_prefix_product) + (ff_s_pointwise_prefix_product))) /\ ff_s_pointwise_prefix_product = ff_r_pointwise_prefix_product * ff_p_pointwise_prefix_product)))))) /\ z = r * p) - 0021
specialize beta_product_succ_decompose b - 0022
specialize beta_product_succ_decompose c - 0023
specialize beta_product_succ_decompose l - 0024
specialize beta_product_succ_decompose z - 0025
apply beta_product_succ_decompose - 0026
exact hproduct - 0027
cases hdecomp - 0028
cases hdecomp_witness - 0029
cases hdecomp_witness_witness - 0030
cases hdecomp_witness_witness_right - 0031
have hpw_prefix : ∀ frp_index_pointwise_prefix. ∀ frp_factor_pointwise_prefix. Lt(frp_index_pointwise_prefix,l) → BetaAt(b,c,frp_index_pointwise_prefix,frp_factor_pointwise_prefix) → Coprime(frp_factor_pointwise_prefix,m)Exact native replay line
have hpw_prefix : forall frp_index_pointwise_prefix frp_factor_pointwise_prefix. (exists frp_gap_pointwise_prefix_bound. frp_gap_pointwise_prefix_bound + S frp_index_pointwise_prefix = l) -> (((exists ff_h_frp_pointwise_prefix_decoded. ff_h_frp_pointwise_prefix_decoded + S (frp_factor_pointwise_prefix) = S ((S (frp_index_pointwise_prefix)) * c)) /\ exists ff_q_frp_pointwise_prefix_decoded. b = ff_q_frp_pointwise_prefix_decoded * S ((S (frp_index_pointwise_prefix)) * c) + (frp_factor_pointwise_prefix))) -> (forall frp_divisor_pointwise_prefix_coprime. (exists frp_left_factor_pointwise_prefix_coprime. frp_factor_pointwise_prefix = frp_divisor_pointwise_prefix_coprime * frp_left_factor_pointwise_prefix_coprime) -> (exists frp_right_factor_pointwise_prefix_coprime. m = frp_divisor_pointwise_prefix_coprime * frp_right_factor_pointwise_prefix_coprime) -> frp_divisor_pointwise_prefix_coprime = 1) - 0032
intro i - 0033
intro x2 - 0034
intro hi - 0035
intro hx2 - 0036
specialize hpw i - 0037
specialize hpw x2 - 0038
apply hpw - 0039
specialize le_succ (S i) - 0040
specialize le_succ l - 0041
apply le_succ - 0042
exact hi - 0043
exact hx2 - 0044
have hprefix : Coprime(x1,m)Exact native replay line
have hprefix : forall frp_divisor_prefix_result. (exists frp_left_factor_prefix_result. x1 = frp_divisor_prefix_result * frp_left_factor_prefix_result) -> (exists frp_right_factor_prefix_result. m = frp_divisor_prefix_result * frp_right_factor_prefix_result) -> frp_divisor_prefix_result = 1 - 0045
specialize IH x1 - 0046
apply IH - 0047
exact hpw_prefix - 0048
exact hdecomp_witness_witness_right_left - 0049
have hfactor : Coprime(x,m)Exact native replay line
have hfactor : forall frp_divisor_last_factor. (exists frp_left_factor_last_factor. x = frp_divisor_last_factor * frp_left_factor_last_factor) -> (exists frp_right_factor_last_factor. m = frp_divisor_last_factor * frp_right_factor_last_factor) -> frp_divisor_last_factor = 1 - 0050
specialize hpw l - 0051
specialize hpw x - 0052
apply hpw - 0053
specialize le_refl (S l) - 0054
exact le_refl - 0055
exact hdecomp_witness_witness_left - 0056
rewrite hdecomp_witness_witness_right_right - 0057
specialize coprime_mul_left x1 - 0058
specialize coprime_mul_left x - 0059
specialize coprime_mul_left m - 0060
apply coprime_mul_left - 0061
exact hprefix - 0062
exact hfactor