CD003F

finite_modular_zero_sum_left_subset

When zero is a genuine second-set member, the first set is an actual subset of every upper sumset.

Alpha v34 checked-use · first admitted v27 · 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.

Sets are complete characteristic-bit codes with actual finite cardinality witnesses. The proof constructs translations and the sumset; no finite-choice oracle, supplied cardinality conclusion, or unproved polynomial-method premise is used.

Exact theorem in conservative defined notation

∀ b. ∀ c. ∀ d. ∀ e. ∀ sb. ∀ sc. ∀ p. ModularSetSumCover(b,c,d,e,sb,sc,p)ModularSetMember(d,e,p,0)ModularSetSubset(b,c,sb,sc,p)

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

Definition DAG

Actual proof prerequisites

mod_eq_refl · checked external prerequisite
Original expanded first-order statement
forall b c d e sb sc p. (forall fms_i_cover fms_j_cover fms_s_cover. (exists fms_gap_cover_i. fms_gap_cover_i + S (fms_i_cover) = (p)) -> (exists fms_gap_cover_j. fms_gap_cover_j + S (fms_j_cover) = (p)) -> (exists fms_gap_cover_s. fms_gap_cover_s + S (fms_s_cover) = (p)) -> (((exists fs_h_fms_cover_left. fs_h_fms_cover_left + S (1) = S ((S (fms_i_cover)) * c)) /\ exists fs_q_fms_cover_left. b = fs_q_fms_cover_left * S ((S (fms_i_cover)) * c) + (1))) -> (((exists fs_h_fms_cover_right. fs_h_fms_cover_right + S (1) = S ((S (fms_j_cover)) * e)) /\ exists fs_q_fms_cover_right. d = fs_q_fms_cover_right * S ((S (fms_j_cover)) * e) + (1))) -> (exists fms_u_cover fms_v_cover. (fms_i_cover + fms_j_cover) + (p) * fms_u_cover = (fms_s_cover) + (p) * fms_v_cover) -> (((exists fs_h_fms_cover_result. fs_h_fms_cover_result + S (1) = S ((S (fms_s_cover)) * sc)) /\ exists fs_q_fms_cover_result. sb = fs_q_fms_cover_result * S ((S (fms_s_cover)) * sc) + (1)))) -> (((exists fms_gap_member. fms_gap_member + S (0) = (p)) /\ (((exists fs_h_fms_member. fs_h_fms_member + S (1) = S ((S (0)) * e)) /\ exists fs_q_fms_member. d = fs_q_fms_member * S ((S (0)) * e) + (1))))) -> (forall fms_i_subset. (exists fms_gap_subset. fms_gap_subset + S (fms_i_subset) = (p)) -> (((exists fs_h_fms_subset_left. fs_h_fms_subset_left + S (1) = S ((S (fms_i_subset)) * c)) /\ exists fs_q_fms_subset_left. b = fs_q_fms_subset_left * S ((S (fms_i_subset)) * c) + (1))) -> (((exists fs_h_fms_subset_right. fs_h_fms_subset_right + S (1) = S ((S (fms_i_subset)) * sc)) /\ exists fs_q_fms_subset_right. sb = fs_q_fms_subset_right * S ((S (fms_i_subset)) * sc) + (1))))

Complete tactic proof in conservative notation

All 28 original proof lines are preserved. Only local proposition formulas are abbreviated; every abbreviation has an exact binder-safe expansion check. The linked exact edition contains the unchanged replay script.

Read the argument

Proof checkpoints

28 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–9

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

  1. L1
    intro b
  2. L2
    intro c
  3. L3
    intro d
  4. L4
    intro e
  5. L5
    intro sb
  6. L6
    intro sc
  7. L7
    intro p
  8. L8
    intro hcover
  9. L9
    intro hzero
02Separate the logical casesL10–10

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

  1. L10
    cases hzero
03Fix variables and assumptionsL11–13

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

  1. L11
    intro i
  2. L12
    intro hi
  3. L13
    intro hA
04Use earlier factsL14–22

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

  1. L14
    specialize hcover i
  2. L15
    specialize hcover 0
  3. L16
    specialize hcover i
  4. L17
    apply hcover
  5. L18
    exact hi
  6. L19
    exact hzero_left
  7. L20
    exact hi
  8. L21
    exact hA
  9. L22
    exact hzero_right
05Establish heL23–28

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

  1. L23
    have he : i+0=i
  2. L24
    apply PA3
  3. L25
    rewrite he
  4. L26
    specialize mod_eq_refl p
  5. L27
    specialize mod_eq_refl i
  6. L28
    apply mod_eq_refl

Library-wide reading audit

Original defined command ledger · 28 lines
  1. 0001intro b
  2. 0002intro c
  3. 0003intro d
  4. 0004intro e
  5. 0005intro sb
  6. 0006intro sc
  7. 0007intro p
  8. 0008intro hcover
  9. 0009intro hzero
  10. 0010cases hzero
  11. 0011intro i
  12. 0012intro hi
  13. 0013intro hA
  14. 0014specialize hcover i
  15. 0015specialize hcover 0
  16. 0016specialize hcover i
  17. 0017apply hcover
  18. 0018exact hi
  19. 0019exact hzero_left
  20. 0020exact hi
  21. 0021exact hA
  22. 0022exact hzero_right
  23. 0023have he : i+0=i
  24. 0024apply PA3
  25. 0025rewrite he
  26. 0026specialize mod_eq_refl p
  27. 0027specialize mod_eq_refl i
  28. 0028apply mod_eq_refl