CR000E

crt_prefix_lcm_empty

The universal-property lcm of the empty decoded modulus list is exactly one.

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. CRTPrefixLCM(b,c,0,1)

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

Definition DAG

Actual proof prerequisites

le_zero · checked external prerequisitesucc_ne_zero · checked external prerequisiteone_multiple · checked external prerequisite
Original expanded first-order statement
forall b c. (((forall gcrt_common_index_empty_lcm_own gcrt_common_modulus_empty_lcm_own. (exists ff_lt_gcrt_empty_lcm_own_bound. ff_lt_gcrt_empty_lcm_own_bound + S gcrt_common_index_empty_lcm_own = 0) -> (((exists ff_h_gcrt_empty_lcm_own_entry. ff_h_gcrt_empty_lcm_own_entry + S (gcrt_common_modulus_empty_lcm_own) = S ((S (gcrt_common_index_empty_lcm_own)) * c)) /\ exists ff_q_gcrt_empty_lcm_own_entry. b = ff_q_gcrt_empty_lcm_own_entry * S ((S (gcrt_common_index_empty_lcm_own)) * c) + (gcrt_common_modulus_empty_lcm_own))) -> exists gcrt_common_quotient_empty_lcm_own. 1 = gcrt_common_modulus_empty_lcm_own * gcrt_common_quotient_empty_lcm_own) /\ forall gcrt_lcm_common_empty_lcm. (forall gcrt_common_index_empty_lcm_other gcrt_common_modulus_empty_lcm_other. (exists ff_lt_gcrt_empty_lcm_other_bound. ff_lt_gcrt_empty_lcm_other_bound + S gcrt_common_index_empty_lcm_other = 0) -> (((exists ff_h_gcrt_empty_lcm_other_entry. ff_h_gcrt_empty_lcm_other_entry + S (gcrt_common_modulus_empty_lcm_other) = S ((S (gcrt_common_index_empty_lcm_other)) * c)) /\ exists ff_q_gcrt_empty_lcm_other_entry. b = ff_q_gcrt_empty_lcm_other_entry * S ((S (gcrt_common_index_empty_lcm_other)) * c) + (gcrt_common_modulus_empty_lcm_other))) -> exists gcrt_common_quotient_empty_lcm_other. gcrt_lcm_common_empty_lcm = gcrt_common_modulus_empty_lcm_other * gcrt_common_quotient_empty_lcm_other) -> exists gcrt_lcm_quotient_empty_lcm. gcrt_lcm_common_empty_lcm = 1 * gcrt_lcm_quotient_empty_lcm))

Complete unchanged native tactic proof

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

Read the argument

Proof checkpoints

19 script commands · 6 reading checkpoints · 1 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–2

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

  1. L1
    intro b
  2. L2
    intro c
02Separate the logical casesL3–3

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L3
    split
03Fix variables and assumptionsL4–7

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

  1. L4
    intro i
  2. L5
    intro m
  3. L6
    intro hi
  4. L7
    intro hm
04Separate the logical casesL8–8

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L8
    exfalso
05Establish hbadL9–18

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le zero.

  1. L9
    have hbad : S i = 0
  2. L10
    specialize le_zero (S i)
  3. L11
    apply le_zero
  4. L12
    exact hi
  5. L13
    specialize succ_ne_zero i
  6. L14
    apply succ_ne_zero
  7. L15
    exact hbad
  8. L16
    intro z
  9. L17
    intro hz
  10. L18
    specialize one_multiple z
06Use earlier factsL19–19

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

  1. L19
    exact one_multiple

Library-wide reading audit

Original defined command ledger · 19 lines
  1. 0001intro b
  2. 0002intro c
  3. 0003split
  4. 0004intro i
  5. 0005intro m
  6. 0006intro hi
  7. 0007intro hm
  8. 0008exfalso
  9. 0009have hbad : S i = 0
  10. 0010specialize le_zero (S i)
  11. 0011apply le_zero
  12. 0012exact hi
  13. 0013specialize succ_ne_zero i
  14. 0014apply succ_ne_zero
  15. 0015exact hbad
  16. 0016intro z
  17. 0017intro hz
  18. 0018specialize one_multiple z
  19. 0019exact one_multiple