CR0002

crt_positive_moduli_prefix_drop_last

Positivity of a successor-length modulus list restricts to its predecessor prefix.

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. CRTPositiveModuliPrefix(b,c,S l)CRTPositiveModuliPrefix(b,c,l)

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

Definition DAG

Actual proof prerequisites

le_succ · checked external prerequisite
Original expanded first-order statement
forall b c l. (forall gcrt_positive_index_drop_source gcrt_positive_value_drop_source. (exists ff_lt_gcrt_drop_source_bound. ff_lt_gcrt_drop_source_bound + S gcrt_positive_index_drop_source = S l) -> (((exists ff_h_gcrt_drop_source_entry. ff_h_gcrt_drop_source_entry + S (gcrt_positive_value_drop_source) = S ((S (gcrt_positive_index_drop_source)) * c)) /\ exists ff_q_gcrt_drop_source_entry. b = ff_q_gcrt_drop_source_entry * S ((S (gcrt_positive_index_drop_source)) * c) + (gcrt_positive_value_drop_source))) -> ~(gcrt_positive_value_drop_source = 0)) -> (forall gcrt_positive_index_drop_target gcrt_positive_value_drop_target. (exists ff_lt_gcrt_drop_target_bound. ff_lt_gcrt_drop_target_bound + S gcrt_positive_index_drop_target = l) -> (((exists ff_h_gcrt_drop_target_entry. ff_h_gcrt_drop_target_entry + S (gcrt_positive_value_drop_target) = S ((S (gcrt_positive_index_drop_target)) * c)) /\ exists ff_q_gcrt_drop_target_entry. b = ff_q_gcrt_drop_target_entry * S ((S (gcrt_positive_index_drop_target)) * c) + (gcrt_positive_value_drop_target))) -> ~(gcrt_positive_value_drop_target = 0))

Complete unchanged native tactic proof

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

Read the argument

Proof checkpoints

18 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 hpositive
  5. L5
    intro i
  6. L6
    intro m
  7. L7
    intro hi
  8. L8
    intro hm
  9. L9
    intro hzero
02Use earlier factsL10–18

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

  1. L10
    specialize hpositive i
  2. L11
    specialize hpositive m
  3. L12
    apply hpositive
  4. L13
    specialize le_succ (S i)
  5. L14
    specialize le_succ l
  6. L15
    apply le_succ
  7. L16
    exact hi
  8. L17
    exact hm
  9. L18
    exact hzero

Library-wide reading audit

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