CR000B

crt_prefix_product_common_multiple

The actual finite beta-product is a common multiple of every decoded modulus.

Alpha v34 checked-use · first admitted v24 · independently kernel and Lean verified; not Stable

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.

Historical partial components only: this chapter proves canonical solutions for finite positive pairwise-coprime systems and exact LCM solution classes. G011 is now closed in the separate Alpha-v27 generalized-crt branch for arbitrary pairwise-compatible systems, including noncoprime moduli. Full G011 proof · Alpha v27

Exact theorem in conservative defined notation

∀ b. ∀ c. ∀ l. ∀ x. (∃ y. ∃ z. Beta(y,z,0,1) ∧ (Beta(y,z,l,x) ∧ (∀ n. Lt(n,l) → ∃ m. ∃ k. ∃ i. Beta(b,c,n,m) ∧ (Beta(y,z,n,k) ∧ (Beta(y,z,S n,i) ∧ i = k · m))))) → ∀ y. ∀ z. Lt(y,l)Beta(b,c,y,z)Dvd(z,x)

Every linked abbreviation expands hygienically to the identical original native formula.

Definition DAG

Actual proof prerequisites

beta_factor_divides_product · checked external prerequisite
Original expanded first-order statement
forall b c l x. (exists ff_u_gcrt_product_multiple ff_v_gcrt_product_multiple. ((((exists ff_h_gcrt_product_multiple_start. ff_h_gcrt_product_multiple_start + S (1) = S ((S (0)) * ff_v_gcrt_product_multiple)) /\ exists ff_q_gcrt_product_multiple_start. ff_u_gcrt_product_multiple = ff_q_gcrt_product_multiple_start * S ((S (0)) * ff_v_gcrt_product_multiple) + (1))) /\ ((((exists ff_h_gcrt_product_multiple_terminal. ff_h_gcrt_product_multiple_terminal + S (x) = S ((S (l)) * ff_v_gcrt_product_multiple)) /\ exists ff_q_gcrt_product_multiple_terminal. ff_u_gcrt_product_multiple = ff_q_gcrt_product_multiple_terminal * S ((S (l)) * ff_v_gcrt_product_multiple) + (x))) /\ forall ff_i_gcrt_product_multiple. (exists ff_lt_gcrt_product_multiple_bound. ff_lt_gcrt_product_multiple_bound + S ff_i_gcrt_product_multiple = l) -> exists ff_p_gcrt_product_multiple ff_r_gcrt_product_multiple ff_s_gcrt_product_multiple. ((((exists ff_h_gcrt_product_multiple_factor. ff_h_gcrt_product_multiple_factor + S (ff_p_gcrt_product_multiple) = S ((S (ff_i_gcrt_product_multiple)) * c)) /\ exists ff_q_gcrt_product_multiple_factor. b = ff_q_gcrt_product_multiple_factor * S ((S (ff_i_gcrt_product_multiple)) * c) + (ff_p_gcrt_product_multiple))) /\ ((((exists ff_h_gcrt_product_multiple_partial. ff_h_gcrt_product_multiple_partial + S (ff_r_gcrt_product_multiple) = S ((S (ff_i_gcrt_product_multiple)) * ff_v_gcrt_product_multiple)) /\ exists ff_q_gcrt_product_multiple_partial. ff_u_gcrt_product_multiple = ff_q_gcrt_product_multiple_partial * S ((S (ff_i_gcrt_product_multiple)) * ff_v_gcrt_product_multiple) + (ff_r_gcrt_product_multiple))) /\ ((((exists ff_h_gcrt_product_multiple_successor. ff_h_gcrt_product_multiple_successor + S (ff_s_gcrt_product_multiple) = S ((S (S ff_i_gcrt_product_multiple)) * ff_v_gcrt_product_multiple)) /\ exists ff_q_gcrt_product_multiple_successor. ff_u_gcrt_product_multiple = ff_q_gcrt_product_multiple_successor * S ((S (S ff_i_gcrt_product_multiple)) * ff_v_gcrt_product_multiple) + (ff_s_gcrt_product_multiple))) /\ ff_s_gcrt_product_multiple = ff_r_gcrt_product_multiple * ff_p_gcrt_product_multiple)))))) -> (forall gcrt_common_index_product_multiple_result gcrt_common_modulus_product_multiple_result. (exists ff_lt_gcrt_product_multiple_result_bound. ff_lt_gcrt_product_multiple_result_bound + S gcrt_common_index_product_multiple_result = l) -> (((exists ff_h_gcrt_product_multiple_result_entry. ff_h_gcrt_product_multiple_result_entry + S (gcrt_common_modulus_product_multiple_result) = S ((S (gcrt_common_index_product_multiple_result)) * c)) /\ exists ff_q_gcrt_product_multiple_result_entry. b = ff_q_gcrt_product_multiple_result_entry * S ((S (gcrt_common_index_product_multiple_result)) * c) + (gcrt_common_modulus_product_multiple_result))) -> exists gcrt_common_quotient_product_multiple_result. x = gcrt_common_modulus_product_multiple_result * gcrt_common_quotient_product_multiple_result)

Complete unchanged native tactic proof

All 19 lines are the exact independently kernel-checked original script.

Read the argument

Proof checkpoints

19 script commands · 2 reading checkpoints · 0 local claims

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.

Definition notation is shown below. Open the paired exact edition for the original native formulas. Source pairing is not a new equivalence certificate.

01Fix variables and assumptionsL1–9

Work with arbitrary variables or the premises of the current implication.

  1. L1
    intro b
  2. L2
    intro c
  3. L3
    intro l
  4. L4
    intro x
  5. L5
    intro hproduct
  6. L6
    intro i
  7. L7
    intro m
  8. L8
    intro hi
  9. L9
    intro hm
02Use earlier factsL10–19

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L10
    specialize beta_factor_divides_product b
  2. L11
    specialize beta_factor_divides_product c
  3. L12
    specialize beta_factor_divides_product l
  4. L13
    specialize beta_factor_divides_product x
  5. L14
    specialize beta_factor_divides_product i
  6. L15
    specialize beta_factor_divides_product m
  7. L16
    apply beta_factor_divides_product
  8. L17
    exact hi
  9. L18
    exact hm
  10. L19
    exact hproduct

Library-wide reading audit

Original defined command ledger · 19 lines
  1. 0001intro b
  2. 0002intro c
  3. 0003intro l
  4. 0004intro x
  5. 0005intro hproduct
  6. 0006intro i
  7. 0007intro m
  8. 0008intro hi
  9. 0009intro hm
  10. 0010specialize beta_factor_divides_product b
  11. 0011specialize beta_factor_divides_product c
  12. 0012specialize beta_factor_divides_product l
  13. 0013specialize beta_factor_divides_product x
  14. 0014specialize beta_factor_divides_product i
  15. 0015specialize beta_factor_divides_product m
  16. 0016apply beta_factor_divides_product
  17. 0017exact hi
  18. 0018exact hm
  19. 0019exact hproduct