CD0031

finite_modular_sumset_cover

An exact actual sumset contains each witnessed canonical sum of input members.

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. ∀ u. ∀ v. ∀ p. ModularSetSum(b,c,d,e,u,v,p)ModularSetSumCover(b,c,d,e,u,v,p)

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

Definition DAG

Actual proof prerequisites

none
Original expanded first-order statement
forall b c d e u v p. (forall fms_s_sumset. (exists fms_gap_sumset_s. fms_gap_sumset_s + S (fms_s_sumset) = (p)) -> ((((((exists fs_h_fms_sumset_result. fs_h_fms_sumset_result + S (1) = S ((S (fms_s_sumset)) * v)) /\ exists fs_q_fms_sumset_result. u = fs_q_fms_sumset_result * S ((S (fms_s_sumset)) * v) + (1))) -> (exists fms_i_sumset fms_j_sumset. ((((exists fms_gap_sumset_left. fms_gap_sumset_left + S (fms_i_sumset) = (p)) /\ (((exists fs_h_fms_sumset_left. fs_h_fms_sumset_left + S (1) = S ((S (fms_i_sumset)) * c)) /\ exists fs_q_fms_sumset_left. b = fs_q_fms_sumset_left * S ((S (fms_i_sumset)) * c) + (1))))) /\ ((((exists fms_gap_sumset_right. fms_gap_sumset_right + S (fms_j_sumset) = (p)) /\ (((exists fs_h_fms_sumset_right. fs_h_fms_sumset_right + S (1) = S ((S (fms_j_sumset)) * e)) /\ exists fs_q_fms_sumset_right. d = fs_q_fms_sumset_right * S ((S (fms_j_sumset)) * e) + (1))))) /\ (exists fms_u_sumset fms_v_sumset. (fms_i_sumset + fms_j_sumset) + (p) * fms_u_sumset = (fms_s_sumset) + (p) * fms_v_sumset))))) /\ ((exists fms_i_sumset fms_j_sumset. ((((exists fms_gap_sumset_left. fms_gap_sumset_left + S (fms_i_sumset) = (p)) /\ (((exists fs_h_fms_sumset_left. fs_h_fms_sumset_left + S (1) = S ((S (fms_i_sumset)) * c)) /\ exists fs_q_fms_sumset_left. b = fs_q_fms_sumset_left * S ((S (fms_i_sumset)) * c) + (1))))) /\ ((((exists fms_gap_sumset_right. fms_gap_sumset_right + S (fms_j_sumset) = (p)) /\ (((exists fs_h_fms_sumset_right. fs_h_fms_sumset_right + S (1) = S ((S (fms_j_sumset)) * e)) /\ exists fs_q_fms_sumset_right. d = fs_q_fms_sumset_right * S ((S (fms_j_sumset)) * e) + (1))))) /\ (exists fms_u_sumset fms_v_sumset. (fms_i_sumset + fms_j_sumset) + (p) * fms_u_sumset = (fms_s_sumset) + (p) * fms_v_sumset)))) -> (((exists fs_h_fms_sumset_result. fs_h_fms_sumset_result + S (1) = S ((S (fms_s_sumset)) * v)) /\ exists fs_q_fms_sumset_result. u = fs_q_fms_sumset_result * S ((S (fms_s_sumset)) * v) + (1))))))) -> (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)) * v)) /\ exists fs_q_fms_cover_result. u = fs_q_fms_cover_result * S ((S (fms_s_cover)) * v) + (1))))

Complete tactic proof in conservative notation

All 34 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

34 script commands · 10 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 b
  2. L2
    intro c
  3. L3
    intro d
  4. L4
    intro e
  5. L5
    intro u
  6. L6
    intro v
  7. L7
    intro p
  8. L8
    intro hsum
  9. L9
    intro a
  10. L10
    intro w
02Fix variables and assumptionsL11–17

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

  1. L11
    intro z
  2. L12
    intro ha
  3. L13
    intro hw
  4. L14
    intro hz
  5. L15
    intro hA
  6. L16
    intro hB
  7. L17
    intro hmod
03Establish heL18–21

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

  1. L18
    have he : (BetaAt(u,v,z,1) → ∃ x. ∃ y. ModularSetMember(b,c,p,x) ∧ (ModularSetMember(d,e,p,y) ∧ ModEq(p,x + y,z))) ∧ ((∃ x. ∃ y. ModularSetMember(b,c,p,x) ∧ (ModularSetMember(d,e,p,y) ∧ ModEq(p,x + y,z))) → BetaAt(u,v,z,1))Definitions: BetaAt(u,v,z,1)ModularSetMember(b,c,p,x)ModularSetMember(d,e,p,y)ModEq(p,x + y,z)Original native command in the exact edition
  2. L19
    specialize hsum z
  3. L20
    apply hsum
  4. L21
    exact hz
04Separate the logical casesL22–22

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

  1. L22
    cases he
05Use earlier factsL23–23

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

  1. L23
    apply he_right
06Construct an explicit witnessL24–25

Supply the displayed value, then prove that it has the required property.

  1. L24
    exists a
  2. L25
    exists w
07Separate the logical casesL26–27

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

  1. L26
    split
  2. L27
    split
08Use earlier factsL28–29

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

  1. L28
    exact ha
  2. L29
    exact hA
09Separate the logical casesL30–31

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

  1. L30
    split
  2. L31
    split
10Use earlier factsL32–34

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

  1. L32
    exact hw
  2. L33
    exact hB
  3. L34
    exact hmod

Library-wide reading audit

Original defined command ledger · 34 lines
  1. 0001intro b
  2. 0002intro c
  3. 0003intro d
  4. 0004intro e
  5. 0005intro u
  6. 0006intro v
  7. 0007intro p
  8. 0008intro hsum
  9. 0009intro a
  10. 0010intro w
  11. 0011intro z
  12. 0012intro ha
  13. 0013intro hw
  14. 0014intro hz
  15. 0015intro hA
  16. 0016intro hB
  17. 0017intro hmod
  18. 0018have he : (BetaAt(u,v,z,1) → ∃ x. ∃ y. ModularSetMember(b,c,p,x) ∧ (ModularSetMember(d,e,p,y)ModEq(p,x + y,z))) ∧ ((∃ x. ∃ y. ModularSetMember(b,c,p,x) ∧ (ModularSetMember(d,e,p,y)ModEq(p,x + y,z))) → BetaAt(u,v,z,1))
  19. 0019specialize hsum z
  20. 0020apply hsum
  21. 0021exact hz
  22. 0022cases he
  23. 0023apply he_right
  24. 0024exists a
  25. 0025exists w
  26. 0026split
  27. 0027split
  28. 0028exact ha
  29. 0029exact hA
  30. 0030split
  31. 0031split
  32. 0032exact hw
  33. 0033exact hB
  34. 0034exact hmod