CR0005

crt_prefix_solution_empty

Every natural number solves the empty simultaneous-congruence system.

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

∀ r. ∀ s. ∀ b. ∀ c. ∀ l. ∀ x. l = 0 → CRTPrefixSolution(r,s,b,c,l,x)

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 prerequisite
Original expanded first-order statement
forall r s b c l x. l = 0 -> (forall gcrt_solution_index_solution_empty gcrt_solution_residue_solution_empty gcrt_solution_modulus_solution_empty. (exists ff_lt_gcrt_solution_empty_bound. ff_lt_gcrt_solution_empty_bound + S gcrt_solution_index_solution_empty = l) -> (((exists ff_h_gcrt_solution_empty_residue. ff_h_gcrt_solution_empty_residue + S (gcrt_solution_residue_solution_empty) = S ((S (gcrt_solution_index_solution_empty)) * s)) /\ exists ff_q_gcrt_solution_empty_residue. r = ff_q_gcrt_solution_empty_residue * S ((S (gcrt_solution_index_solution_empty)) * s) + (gcrt_solution_residue_solution_empty))) -> (((exists ff_h_gcrt_solution_empty_modulus. ff_h_gcrt_solution_empty_modulus + S (gcrt_solution_modulus_solution_empty) = S ((S (gcrt_solution_index_solution_empty)) * c)) /\ exists ff_q_gcrt_solution_empty_modulus. b = ff_q_gcrt_solution_empty_modulus * S ((S (gcrt_solution_index_solution_empty)) * c) + (gcrt_solution_modulus_solution_empty))) -> (exists hgcrt_mod_left_gcrt_solution_empty_congruence hgcrt_mod_right_gcrt_solution_empty_congruence. x + gcrt_solution_modulus_solution_empty * hgcrt_mod_left_gcrt_solution_empty_congruence = gcrt_solution_residue_solution_empty + gcrt_solution_modulus_solution_empty * hgcrt_mod_right_gcrt_solution_empty_congruence))

Complete unchanged native tactic proof

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

Read the argument

Proof checkpoints

22 script commands · 5 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–10

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

  1. L1
    intro r
  2. L2
    intro s
  3. L3
    intro b
  4. L4
    intro c
  5. L5
    intro l
  6. L6
    intro x
  7. L7
    intro hz
  8. L8
    intro i
  9. L9
    intro a
  10. L10
    intro m
02Fix variables and assumptionsL11–13

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

  1. L11
    intro hi
  2. L12
    intro ha
  3. L13
    intro hm
03Separate the logical casesL14–14

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

  1. L14
    exfalso
04Calculate and transport equalitiesL15–15

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L15
    rewrite hz at hi
05Establish hbadL16–22

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

  1. L16
    have hbad : S i = 0
  2. L17
    specialize le_zero (S i)
  3. L18
    apply le_zero
  4. L19
    exact hi
  5. L20
    specialize succ_ne_zero i
  6. L21
    apply succ_ne_zero
  7. L22
    exact hbad

Library-wide reading audit

Original defined command ledger · 22 lines
  1. 0001intro r
  2. 0002intro s
  3. 0003intro b
  4. 0004intro c
  5. 0005intro l
  6. 0006intro x
  7. 0007intro hz
  8. 0008intro i
  9. 0009intro a
  10. 0010intro m
  11. 0011intro hi
  12. 0012intro ha
  13. 0013intro hm
  14. 0014exfalso
  15. 0015rewrite hz at hi
  16. 0016have hbad : S i = 0
  17. 0017specialize le_zero (S i)
  18. 0018apply le_zero
  19. 0019exact hi
  20. 0020specialize succ_ne_zero i
  21. 0021apply succ_ne_zero
  22. 0022exact hbad