GC0003

crt_pairwise_compatible_prefix_empty

Alpha v34 independently verified · alpha_closed; checked-use authorized; not Stable

The empty actual residue/modulus list is pairwise gcd-compatible.

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.

Exact expanded first-order arithmetic statement

forall r s b c l. l = 0 -> (forall gcomp_left_index_pairs_empty gcomp_right_index_pairs_empty gcomp_left_residue_pairs_empty gcomp_right_residue_pairs_empty gcomp_left_modulus_pairs_empty gcomp_right_modulus_pairs_empty gcomp_pair_gcd_pairs_empty. (exists ff_lt_gcrt_pairs_empty_left_bound. ff_lt_gcrt_pairs_empty_left_bound + S gcomp_left_index_pairs_empty = l) -> (exists ff_lt_gcrt_pairs_empty_right_bound. ff_lt_gcrt_pairs_empty_right_bound + S gcomp_right_index_pairs_empty = l) -> (((exists ff_h_gcrt_pairs_empty_left_residue. ff_h_gcrt_pairs_empty_left_residue + S (gcomp_left_residue_pairs_empty) = S ((S (gcomp_left_index_pairs_empty)) * s)) /\ exists ff_q_gcrt_pairs_empty_left_residue. r = ff_q_gcrt_pairs_empty_left_residue * S ((S (gcomp_left_index_pairs_empty)) * s) + (gcomp_left_residue_pairs_empty))) -> (((exists ff_h_gcrt_pairs_empty_right_residue. ff_h_gcrt_pairs_empty_right_residue + S (gcomp_right_residue_pairs_empty) = S ((S (gcomp_right_index_pairs_empty)) * s)) /\ exists ff_q_gcrt_pairs_empty_right_residue. r = ff_q_gcrt_pairs_empty_right_residue * S ((S (gcomp_right_index_pairs_empty)) * s) + (gcomp_right_residue_pairs_empty))) -> (((exists ff_h_gcrt_pairs_empty_left_modulus. ff_h_gcrt_pairs_empty_left_modulus + S (gcomp_left_modulus_pairs_empty) = S ((S (gcomp_left_index_pairs_empty)) * c)) /\ exists ff_q_gcrt_pairs_empty_left_modulus. b = ff_q_gcrt_pairs_empty_left_modulus * S ((S (gcomp_left_index_pairs_empty)) * c) + (gcomp_left_modulus_pairs_empty))) -> (((exists ff_h_gcrt_pairs_empty_right_modulus. ff_h_gcrt_pairs_empty_right_modulus + S (gcomp_right_modulus_pairs_empty) = S ((S (gcomp_right_index_pairs_empty)) * c)) /\ exists ff_q_gcrt_pairs_empty_right_modulus. b = ff_q_gcrt_pairs_empty_right_modulus * S ((S (gcomp_right_index_pairs_empty)) * c) + (gcomp_right_modulus_pairs_empty))) -> ((((exists hag_left_factor_gcomp_pairs_empty_gcd. gcomp_left_modulus_pairs_empty = gcomp_pair_gcd_pairs_empty * hag_left_factor_gcomp_pairs_empty_gcd) /\ (exists hag_right_factor_gcomp_pairs_empty_gcd. gcomp_right_modulus_pairs_empty = gcomp_pair_gcd_pairs_empty * hag_right_factor_gcomp_pairs_empty_gcd)) /\ forall hag_divisor_gcomp_pairs_empty_gcd. (exists hag_common_left_gcomp_pairs_empty_gcd. gcomp_left_modulus_pairs_empty = hag_divisor_gcomp_pairs_empty_gcd * hag_common_left_gcomp_pairs_empty_gcd) -> (exists hag_common_right_gcomp_pairs_empty_gcd. gcomp_right_modulus_pairs_empty = hag_divisor_gcomp_pairs_empty_gcd * hag_common_right_gcomp_pairs_empty_gcd) -> exists hag_greatest_factor_gcomp_pairs_empty_gcd. gcomp_pair_gcd_pairs_empty = hag_divisor_gcomp_pairs_empty_gcd * hag_greatest_factor_gcomp_pairs_empty_gcd)) -> (exists hgcrt_mod_left_gcrt_pairs_empty_result hgcrt_mod_right_gcrt_pairs_empty_result. gcomp_left_residue_pairs_empty + gcomp_pair_gcd_pairs_empty * hgcrt_mod_left_gcrt_pairs_empty_result = gcomp_right_residue_pairs_empty + gcomp_pair_gcd_pairs_empty * hgcrt_mod_right_gcrt_pairs_empty_result))

Constructive proof overview

Generated structural guide

The empty actual residue/modulus list is pairwise gcd-compatible.

The unchanged tactic script uses 2 declared prerequisites and contains 29 exact native proof lines.

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

Proof neighborhood

Direct dependencies

le_zero Stable theorem; checked-use authorized succ_ne_zero Stable theorem; checked-use authorized

Direct dependents

none

Formal native tactic body

Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.

Read the argument

Proof checkpoints

29 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.

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 hzero
  7. L7
    intro i
  8. L8
    intro j
  9. L9
    intro a
  10. L10
    intro d
02Fix variables and assumptionsL11–20

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

  1. L11
    intro m
  2. L12
    intro n
  3. L13
    intro g
  4. L14
    intro hi
  5. L15
    intro hj
  6. L16
    intro ha
  7. L17
    intro hd
  8. L18
    intro hm
  9. L19
    intro hn
  10. L20
    intro hg
03Separate the logical casesL21–21

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

  1. L21
    exfalso
04Calculate and transport equalitiesL22–22

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

  1. L22
    rewrite hzero at hi
05Establish hbadL23–29

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

  1. L23
    have hbad : S i = 0
  2. L24
    specialize le_zero (S i)
  3. L25
    apply le_zero
  4. L26
    exact hi
  5. L27
    specialize succ_ne_zero i
  6. L28
    apply succ_ne_zero
  7. L29
    exact hbad

Library-wide reading audit

Original exact command ledger · 29 lines
  1. 0001intro r
  2. 0002intro s
  3. 0003intro b
  4. 0004intro c
  5. 0005intro l
  6. 0006intro hzero
  7. 0007intro i
  8. 0008intro j
  9. 0009intro a
  10. 0010intro d
  11. 0011intro m
  12. 0012intro n
  13. 0013intro g
  14. 0014intro hi
  15. 0015intro hj
  16. 0016intro ha
  17. 0017intro hd
  18. 0018intro hm
  19. 0019intro hn
  20. 0020intro hg
  21. 0021exfalso
  22. 0022rewrite hzero at hi
  23. 0023have hbad : S i = 0
  24. 0024specialize le_zero (S i)
  25. 0025apply le_zero
  26. 0026exact hi
  27. 0027specialize succ_ne_zero i
  28. 0028apply succ_ne_zero
  29. 0029exact hbad

Separate complete second-wave branches: Full G011 proof · Alpha v27.