CD0039

finite_modular_dyson_upper_member

The upper Dyson transform contains every actual member of the original first set.

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. ∀ t. ∀ a. (∀ x. Lt(x,p) → (BetaAt(u,v,x,1)BetaAt(b,c,x,1) ∨ (∃ y. ModularSetMember(d,e,p,y)ModEq(p,y + t,x))) ∧ (BetaAt(b,c,x,1) ∨ (∃ y. ModularSetMember(d,e,p,y)ModEq(p,y + t,x)) → BetaAt(u,v,x,1))) → ModularSetMember(b,c,p,a)ModularSetMember(u,v,p,a)

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 t a. (forall cd_output_upper. (exists fms_gap_cd_upper_bound. fms_gap_cd_upper_bound + S (cd_output_upper) = (p)) -> ((((((exists fs_h_cd_upper_result. fs_h_cd_upper_result + S (1) = S ((S (cd_output_upper)) * v)) /\ exists fs_q_cd_upper_result. u = fs_q_cd_upper_result * S ((S (cd_output_upper)) * v) + (1))) -> ((((exists fs_h_cd_upper_old. fs_h_cd_upper_old + S (1) = S ((S (cd_output_upper)) * c)) /\ exists fs_q_cd_upper_old. b = fs_q_cd_upper_old * S ((S (cd_output_upper)) * c) + (1))) \/ (exists cd_source_upper. (((exists fms_gap_cd_upper_member. fms_gap_cd_upper_member + S (cd_source_upper) = (p)) /\ (((exists fs_h_fms_cd_upper_member. fs_h_fms_cd_upper_member + S (1) = S ((S (cd_source_upper)) * e)) /\ exists fs_q_fms_cd_upper_member. d = fs_q_fms_cd_upper_member * S ((S (cd_source_upper)) * e) + (1))))) /\ (exists fms_u_cd_upper_mod fms_v_cd_upper_mod. (cd_source_upper+t) + (p) * fms_u_cd_upper_mod = (cd_output_upper) + (p) * fms_v_cd_upper_mod)))) /\ (((((exists fs_h_cd_upper_old. fs_h_cd_upper_old + S (1) = S ((S (cd_output_upper)) * c)) /\ exists fs_q_cd_upper_old. b = fs_q_cd_upper_old * S ((S (cd_output_upper)) * c) + (1))) \/ (exists cd_source_upper. (((exists fms_gap_cd_upper_member. fms_gap_cd_upper_member + S (cd_source_upper) = (p)) /\ (((exists fs_h_fms_cd_upper_member. fs_h_fms_cd_upper_member + S (1) = S ((S (cd_source_upper)) * e)) /\ exists fs_q_fms_cd_upper_member. d = fs_q_fms_cd_upper_member * S ((S (cd_source_upper)) * e) + (1))))) /\ (exists fms_u_cd_upper_mod fms_v_cd_upper_mod. (cd_source_upper+t) + (p) * fms_u_cd_upper_mod = (cd_output_upper) + (p) * fms_v_cd_upper_mod))) -> (((exists fs_h_cd_upper_result. fs_h_cd_upper_result + S (1) = S ((S (cd_output_upper)) * v)) /\ exists fs_q_cd_upper_result. u = fs_q_cd_upper_result * S ((S (cd_output_upper)) * v) + (1))))))) -> (((exists fms_gap_member. fms_gap_member + S (a) = (p)) /\ (((exists fs_h_fms_member. fs_h_fms_member + S (1) = S ((S (a)) * c)) /\ exists fs_q_fms_member. b = fs_q_fms_member * S ((S (a)) * c) + (1))))) -> (((exists fms_gap_member. fms_gap_member + S (a) = (p)) /\ (((exists fs_h_fms_member. fs_h_fms_member + S (1) = S ((S (a)) * v)) /\ exists fs_q_fms_member. u = fs_q_fms_member * S ((S (a)) * v) + (1)))))

Complete tactic proof in conservative notation

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

22 script commands · 9 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 t
  9. L9
    intro a
  10. L10
    intro hupper
02Fix variables and assumptionsL11–11

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

  1. L11
    intro hmember
03Separate the logical casesL12–13

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

  1. L12
    cases hmember
  2. L13
    split
04Use earlier factsL14–14

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

  1. L14
    exact hmember_left
05Establish heL15–18

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

  1. L15
    have he : (BetaAt(u,v,a,1) → BetaAt(b,c,a,1) ∨ (∃ x. ModularSetMember(d,e,p,x) ∧ ModEq(p,x + t,a))) ∧ (BetaAt(b,c,a,1) ∨ (∃ x. ModularSetMember(d,e,p,x) ∧ ModEq(p,x + t,a)) → BetaAt(u,v,a,1))Definitions: BetaAt(u,v,a,1)BetaAt(b,c,a,1)ModularSetMember(d,e,p,x)ModEq(p,x + t,a)Original native command in the exact edition
  2. L16
    specialize hupper a
  3. L17
    apply hupper
  4. L18
    exact hmember_left
06Separate the logical casesL19–19

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

  1. L19
    cases he
07Use earlier factsL20–20

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

  1. L20
    apply he_right
08Separate the logical casesL21–21

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

  1. L21
    left
09Use earlier factsL22–22

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

  1. L22
    exact hmember_right

Library-wide reading audit

Original defined command ledger · 22 lines
  1. 0001intro b
  2. 0002intro c
  3. 0003intro d
  4. 0004intro e
  5. 0005intro u
  6. 0006intro v
  7. 0007intro p
  8. 0008intro t
  9. 0009intro a
  10. 0010intro hupper
  11. 0011intro hmember
  12. 0012cases hmember
  13. 0013split
  14. 0014exact hmember_left
  15. 0015have he : (BetaAt(u,v,a,1)BetaAt(b,c,a,1) ∨ (∃ x. ModularSetMember(d,e,p,x)ModEq(p,x + t,a))) ∧ (BetaAt(b,c,a,1) ∨ (∃ x. ModularSetMember(d,e,p,x)ModEq(p,x + t,a)) → BetaAt(u,v,a,1))
  16. 0016specialize hupper a
  17. 0017apply hupper
  18. 0018exact hmember_left
  19. 0019cases he
  20. 0020apply he_right
  21. 0021left
  22. 0022exact hmember_right