EU0009

euler_multiplier_prefix_exists

Public research checkpoint, not admitted to Alpha or Stable. Alpha v30 remains 3222 checked-use theorems; Stable remains 432. The on-demand Alpha Lean service does not yet expose these checkpoint theorems; their independently checked literal bundles and unchanged sources are available below.

Public research checkpoint: original HA and independently compiled Lean verified; not Alpha-enrolled, no Alpha checked-use authority; not Stable

HA induction builds the complete beta-coded multiplier prefix; no map or bijection is supplied as a premise.

Exact expanded first-order arithmetic statement

forall a m l. ~(m=0) -> exists b c. (forall eu_index_map_exists. (exists eut_gap_eu_map_exists_index. eut_gap_eu_map_exists_index + S (eu_index_map_exists) = (l)) -> exists eu_residue_map_exists. (((exists fs_h_eu_map_exists_at. fs_h_eu_map_exists_at + S (eu_residue_map_exists) = S ((S (eu_index_map_exists)) * c)) /\ exists fs_q_eu_map_exists_at. b = fs_q_eu_map_exists_at * S ((S (eu_index_map_exists)) * c) + (eu_residue_map_exists))) /\ ((exists eut_gap_eu_map_exists_bound. eut_gap_eu_map_exists_bound + S (eu_residue_map_exists) = (m)) /\ (exists eu_mod_left_map_exists_mod eu_mod_right_map_exists_mod. ((a)*eu_index_map_exists) + (m) * eu_mod_left_map_exists_mod = (eu_residue_map_exists) + (m) * eu_mod_right_map_exists_mod)))

Constructive proof overview

Generated structural guide

HA induction builds the complete beta-coded multiplier prefix; no map or bijection is supplied as a premise.

The unchanged tactic script uses 3 declared prerequisites and contains 35 exact native proof lines.

Public research checkpoint: original HA and independently compiled Lean verified; not Alpha-enrolled, no Alpha checked-use authority; not Stable

Proof neighborhood

Direct dependencies

Direct dependents

Formal native tactic body

Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. The literal dependency-closed bundle is checked by original HA and the independently compiled Lean verifier. Public delivery grants no Alpha checked-use authority or Stable membership.

Read the argument

Proof checkpoints

35 script commands · 10 reading checkpoints · 2 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.

Named ingredients (3)

Long local formulas use this family’s existing definitions. Each new abbreviation was expanded back to the identical native formula, including its free-variable context. The original edition is preserved below.

01Fix variables and assumptionsL1–2

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

  1. L1
    intro a
  2. L2
    intro m
02Induction on lL3–4

Split the argument into the base and successor obligations. The induction hypothesis is available only in the successor branch.

  1. L3
    induction l
  2. L4
    intro hm
03Construct an explicit witnessL5–6

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

  1. L5
    exists 0
  2. L6
    exists 0
04Use earlier factsL7–11

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

  1. L7
    specialize euler_multiplier_prefix_empty (a)
  2. L8
    specialize euler_multiplier_prefix_empty (m)
  3. L9
    specialize euler_multiplier_prefix_empty (0)
  4. L10
    specialize euler_multiplier_prefix_empty (0)
  5. L11
    apply euler_multiplier_prefix_empty
05Fix variables and assumptionsL12–12

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

  1. L12
    intro hm
06Establish hpL13–15

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

  1. L13
    have hp : ∃ b. ∃ c. UnitMultiplierPrefix(a,m,b,c,l)Definitions: UnitMultiplierPrefix
  2. L14
    apply IH
  3. L15
    exact hm
07Separate the logical casesL16–17

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

  1. L16
    cases hp
  2. L17
    cases hp_witness
08Establish hrL18–23

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply euler multiplier residue exists.

  1. L18
    have hr : exists r. (exists eut_gap_eu_next_bound. eut_gap_eu_next_bound + S (r) = (m)) /\ (exists eu_mod_left_next_mod eu_mod_right_next_mod. (a*l) + (m) * eu_mod_left_next_mod = (r) + (m) * eu_mod_right_next_mod)
  2. L19
    specialize euler_multiplier_residue_exists (a)
  3. L20
    specialize euler_multiplier_residue_exists (m)
  4. L21
    specialize euler_multiplier_residue_exists (l)
  5. L22
    apply euler_multiplier_residue_exists
  6. L23
    exact hm
09Separate the logical casesL24–25

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

  1. L24
    cases hr
  2. L25
    cases hr_witness
10Use earlier factsL26–35

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

  1. L26
    specialize euler_multiplier_prefix_extend (a)
  2. L27
    specialize euler_multiplier_prefix_extend (m)
  3. L28
    specialize euler_multiplier_prefix_extend (x)
  4. L29
    specialize euler_multiplier_prefix_extend (x1)
  5. L30
    specialize euler_multiplier_prefix_extend (l)
  6. L31
    specialize euler_multiplier_prefix_extend (x2)
  7. L32
    apply euler_multiplier_prefix_extend
  8. L33
    exact hp_witness_witness
  9. L34
    exact hr_witness_left
  10. L35
    exact hr_witness_right

Library-wide reading audit

Original exact command ledger · 35 lines
  1. 0001intro a
  2. 0002intro m
  3. 0003induction l
  4. 0004intro hm
  5. 0005exists 0
  6. 0006exists 0
  7. 0007specialize euler_multiplier_prefix_empty (a)
  8. 0008specialize euler_multiplier_prefix_empty (m)
  9. 0009specialize euler_multiplier_prefix_empty (0)
  10. 0010specialize euler_multiplier_prefix_empty (0)
  11. 0011apply euler_multiplier_prefix_empty
  12. 0012intro hm
  13. 0013have hp : exists b c. (forall eu_index_map_previous. (exists eut_gap_eu_map_previous_index. eut_gap_eu_map_previous_index + S (eu_index_map_previous) = (l)) -> exists eu_residue_map_previous. (((exists fs_h_eu_map_previous_at. fs_h_eu_map_previous_at + S (eu_residue_map_previous) = S ((S (eu_index_map_previous)) * c)) /\ exists fs_q_eu_map_previous_at. b = fs_q_eu_map_previous_at * S ((S (eu_index_map_previous)) * c) + (eu_residue_map_previous))) /\ ((exists eut_gap_eu_map_previous_bound. eut_gap_eu_map_previous_bound + S (eu_residue_map_previous) = (m)) /\ (exists eu_mod_left_map_previous_mod eu_mod_right_map_previous_mod. ((a)*eu_index_map_previous) + (m) * eu_mod_left_map_previous_mod = (eu_residue_map_previous) + (m) * eu_mod_right_map_previous_mod)))
  14. 0014apply IH
  15. 0015exact hm
  16. 0016cases hp
  17. 0017cases hp_witness
  18. 0018have hr : exists r. (exists eut_gap_eu_next_bound. eut_gap_eu_next_bound + S (r) = (m)) /\ (exists eu_mod_left_next_mod eu_mod_right_next_mod. (a*l) + (m) * eu_mod_left_next_mod = (r) + (m) * eu_mod_right_next_mod)
  19. 0019specialize euler_multiplier_residue_exists (a)
  20. 0020specialize euler_multiplier_residue_exists (m)
  21. 0021specialize euler_multiplier_residue_exists (l)
  22. 0022apply euler_multiplier_residue_exists
  23. 0023exact hm
  24. 0024cases hr
  25. 0025cases hr_witness
  26. 0026specialize euler_multiplier_prefix_extend (a)
  27. 0027specialize euler_multiplier_prefix_extend (m)
  28. 0028specialize euler_multiplier_prefix_extend (x)
  29. 0029specialize euler_multiplier_prefix_extend (x1)
  30. 0030specialize euler_multiplier_prefix_extend (l)
  31. 0031specialize euler_multiplier_prefix_extend (x2)
  32. 0032apply euler_multiplier_prefix_extend
  33. 0033exact hp_witness_witness
  34. 0034exact hr_witness_left
  35. 0035exact hr_witness_right