SL000N

doubling_gauss_reflection_count_shape

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

The beta-coded Gauss reflection count for multiplication by two has exactly the explicit ceiling-half shape.

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 p h a b c mb mc sb sc e. p = 2 * h + 1 -> a = 2 -> (forall gsp_range_index_qst_goal_half. (exists gsp_lt_gap_qst_goal_half_range_bound. gsp_lt_gap_qst_goal_half_range_bound + S gsp_range_index_qst_goal_half = h) -> (((exists gsp_beta_height_qst_goal_half_range_entry. gsp_beta_height_qst_goal_half_range_entry + S (1 + gsp_range_index_qst_goal_half) = S ((S (gsp_range_index_qst_goal_half)) * c)) /\ exists gsp_beta_quotient_qst_goal_half_range_entry. b = gsp_beta_quotient_qst_goal_half_range_entry * S ((S (gsp_range_index_qst_goal_half)) * c) + (1 + gsp_range_index_qst_goal_half)))) -> (forall gsp_index_qst_goal_signed. (exists gsp_lt_gap_qst_goal_signed_index_bound. gsp_lt_gap_qst_goal_signed_index_bound + S gsp_index_qst_goal_signed = h) -> (exists gsp_value_qst_goal_signed_entry gsp_magnitude_qst_goal_signed_entry gsp_sign_qst_goal_signed_entry. (((exists ff_h_gsp_qst_goal_signed_entry_source. ff_h_gsp_qst_goal_signed_entry_source + S (gsp_value_qst_goal_signed_entry) = S ((S (gsp_index_qst_goal_signed)) * c)) /\ exists ff_q_gsp_qst_goal_signed_entry_source. b = ff_q_gsp_qst_goal_signed_entry_source * S ((S (gsp_index_qst_goal_signed)) * c) + (gsp_value_qst_goal_signed_entry))) /\ ((((exists ff_h_gsp_qst_goal_signed_entry_magnitude. ff_h_gsp_qst_goal_signed_entry_magnitude + S (gsp_magnitude_qst_goal_signed_entry) = S ((S (gsp_index_qst_goal_signed)) * mc)) /\ exists ff_q_gsp_qst_goal_signed_entry_magnitude. mb = ff_q_gsp_qst_goal_signed_entry_magnitude * S ((S (gsp_index_qst_goal_signed)) * mc) + (gsp_magnitude_qst_goal_signed_entry))) /\ ((((exists ff_h_gsp_qst_goal_signed_entry_sign. ff_h_gsp_qst_goal_signed_entry_sign + S (gsp_sign_qst_goal_signed_entry) = S ((S (gsp_index_qst_goal_signed)) * sc)) /\ exists ff_q_gsp_qst_goal_signed_entry_sign. sb = ff_q_gsp_qst_goal_signed_entry_sign * S ((S (gsp_index_qst_goal_signed)) * sc) + (gsp_sign_qst_goal_signed_entry))) /\ ((exists gsp_lt_gap_qst_goal_signed_entry_positive. gsp_lt_gap_qst_goal_signed_entry_positive + S 0 = gsp_magnitude_qst_goal_signed_entry) /\ ((exists gsp_le_gap_qst_goal_signed_entry_bounded. gsp_le_gap_qst_goal_signed_entry_bounded + gsp_magnitude_qst_goal_signed_entry = h) /\ ((gsp_sign_qst_goal_signed_entry = 0 \/ gsp_sign_qst_goal_signed_entry = 1) /\ (((gsp_sign_qst_goal_signed_entry = 0 /\ (exists gsp_mod_left_qst_goal_signed_entry_lower gsp_mod_right_qst_goal_signed_entry_lower. (a * gsp_value_qst_goal_signed_entry) + p * gsp_mod_left_qst_goal_signed_entry_lower = (gsp_magnitude_qst_goal_signed_entry) + p * gsp_mod_right_qst_goal_signed_entry_lower)) \/ (gsp_sign_qst_goal_signed_entry = 1 /\ (exists gsp_mod_left_qst_goal_signed_entry_reflected gsp_mod_right_qst_goal_signed_entry_reflected. (a * gsp_value_qst_goal_signed_entry) + p * gsp_mod_left_qst_goal_signed_entry_reflected = ((2 * h) * gsp_magnitude_qst_goal_signed_entry) + p * gsp_mod_right_qst_goal_signed_entry_reflected))))))))))) -> (((exists ff_u_qst_goal_count_sum ff_v_qst_goal_count_sum. ((((exists ff_h_qst_goal_count_sum_start. ff_h_qst_goal_count_sum_start + S (0) = S ((S (0)) * ff_v_qst_goal_count_sum)) /\ exists ff_q_qst_goal_count_sum_start. ff_u_qst_goal_count_sum = ff_q_qst_goal_count_sum_start * S ((S (0)) * ff_v_qst_goal_count_sum) + (0))) /\ ((((exists ff_h_qst_goal_count_sum_terminal. ff_h_qst_goal_count_sum_terminal + S (e) = S ((S (h)) * ff_v_qst_goal_count_sum)) /\ exists ff_q_qst_goal_count_sum_terminal. ff_u_qst_goal_count_sum = ff_q_qst_goal_count_sum_terminal * S ((S (h)) * ff_v_qst_goal_count_sum) + (e))) /\ forall ff_i_qst_goal_count_sum. (exists ff_lt_qst_goal_count_sum_bound. ff_lt_qst_goal_count_sum_bound + S ff_i_qst_goal_count_sum = h) -> exists ff_a_qst_goal_count_sum ff_r_qst_goal_count_sum ff_s_qst_goal_count_sum. ((((exists ff_h_qst_goal_count_sum_summand. ff_h_qst_goal_count_sum_summand + S (ff_a_qst_goal_count_sum) = S ((S (ff_i_qst_goal_count_sum)) * sc)) /\ exists ff_q_qst_goal_count_sum_summand. sb = ff_q_qst_goal_count_sum_summand * S ((S (ff_i_qst_goal_count_sum)) * sc) + (ff_a_qst_goal_count_sum))) /\ ((((exists ff_h_qst_goal_count_sum_partial. ff_h_qst_goal_count_sum_partial + S (ff_r_qst_goal_count_sum) = S ((S (ff_i_qst_goal_count_sum)) * ff_v_qst_goal_count_sum)) /\ exists ff_q_qst_goal_count_sum_partial. ff_u_qst_goal_count_sum = ff_q_qst_goal_count_sum_partial * S ((S (ff_i_qst_goal_count_sum)) * ff_v_qst_goal_count_sum) + (ff_r_qst_goal_count_sum))) /\ ((((exists ff_h_qst_goal_count_sum_successor. ff_h_qst_goal_count_sum_successor + S (ff_s_qst_goal_count_sum) = S ((S (S ff_i_qst_goal_count_sum)) * ff_v_qst_goal_count_sum)) /\ exists ff_q_qst_goal_count_sum_successor. ff_u_qst_goal_count_sum = ff_q_qst_goal_count_sum_successor * S ((S (S ff_i_qst_goal_count_sum)) * ff_v_qst_goal_count_sum) + (ff_s_qst_goal_count_sum))) /\ ff_s_qst_goal_count_sum = ff_r_qst_goal_count_sum + ff_a_qst_goal_count_sum)))))) /\ (forall ff_i_qst_goal_count_bits. (exists ff_lt_qst_goal_count_bits_bound. ff_lt_qst_goal_count_bits_bound + S ff_i_qst_goal_count_bits = h) -> exists ff_bit_qst_goal_count_bits. ((((exists ff_h_qst_goal_count_bits_decoded. ff_h_qst_goal_count_bits_decoded + S (ff_bit_qst_goal_count_bits) = S ((S (ff_i_qst_goal_count_bits)) * sc)) /\ exists ff_q_qst_goal_count_bits_decoded. sb = ff_q_qst_goal_count_bits_decoded * S ((S (ff_i_qst_goal_count_bits)) * sc) + (ff_bit_qst_goal_count_bits))) /\ (ff_bit_qst_goal_count_bits = 0 \/ ff_bit_qst_goal_count_bits = 1))))) -> (((h = 2 * e) \/ (exists qst_count_half_goal. h = 2 * qst_count_half_goal + 1 /\ e = S qst_count_half_goal)))

Constructive proof overview

Generated structural guide

The beta-coded Gauss reflection count for multiplication by two has exactly the explicit ceiling-half shape.

The unchanged tactic script uses 4 declared prerequisites and contains 57 exact native proof lines.

dependency-curried kernel-checked theorem body; Alpha enrollment and checked-use authority follow separately sealed release evidence; Stable membership remains unchanged

Proof neighborhood

Direct dependencies

parity_cases Stable theorem; checked-use authorized eisenstein_initial_segment_prefix_exists Alpha theorem; checked-use authorized SL000K doubling_gauss_initial_segment_complement SL000M doubling_gauss_count_shape_from_initial_segment_complement

Direct dependents

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

57 script commands · 10 reading checkpoints · 3 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 (2)

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–10

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

  1. L1
    intro p
  2. L2
    intro h
  3. L3
    intro a
  4. L4
    intro b
  5. L5
    intro c
  6. L6
    intro mb
  7. L7
    intro mc
  8. L8
    intro sb
  9. L9
    intro sc
  10. L10
    intro e
02Fix variables and assumptionsL11–15

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

  1. L11
    intro hpodd
  2. L12
    intro hatwo
  3. L13
    intro hrange
  4. L14
    intro hsigned
  5. L15
    intro hcount
03Establish hhalfL16–18

Establish this local claim before using it. It is not an additional assumption.

  1. L16
    have hhalf : exists k. h = 2 * k \/ h = 2 * k + 1
  2. L17
    specialize parity_cases h
  3. L18
    exact parity_cases
04Separate the logical casesL19–19

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

  1. L19
    cases hhalf
05Establish hinitialL20–23

Establish this local claim before using it. It is not an additional assumption.

  1. L20
    have hinitial : ∃ ib. ∃ ic. ∀ y. Lt(y,h) → ∃ z. BetaAt(ib,ic,y,z) ∧ (z = 1 ∧ Lt(y,x) ∨ z = 0 ∧ Lt(x,S y))Definitions: LtBetaAt
  2. L21
    specialize eisenstein_initial_segment_prefix_exists x
  3. L22
    specialize eisenstein_initial_segment_prefix_exists h
  4. L23
    exact eisenstein_initial_segment_prefix_exists
06Separate the logical casesL24–25

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

  1. L24
    cases hinitial
  2. L25
    cases hinitial_witness
07Establish hcomplementL26–35

Establish this local claim before using it. It is not an additional assumption.

  1. L26
    have hcomplement : (forall i s t. (exists qst_complement_gap_shape. qst_complement_gap_shape + S i = h) -> (((exists ff_h_qst_shape_sign. ff_h_qst_shape_sign + S (s) = S ((S (i)) * sc)) /\ exists ff_q_qst_shape_sign. sb = ff_q_qst_shape_sign * S ((S (i)) * sc) + (s))) -> (((exists ff_h_qst_shape_indicator. ff_h_qst_shape_indicator + S (t) = S ((S (i)) * x2)) /\ exists ff_q_qst_shape_indicator. x1 = ff_q_qst_shape_indicator * S ((S (i)) * x2) + (t))) -> ((s = 0 /\ t = 1) \/ (s = 1 /\ t = 0)))
  2. L27
    specialize doubling_gauss_initial_segment_complement p
  3. L28
    specialize doubling_gauss_initial_segment_complement h
  4. L29
    specialize doubling_gauss_initial_segment_complement a
  5. L30
    specialize doubling_gauss_initial_segment_complement b
  6. L31
    specialize doubling_gauss_initial_segment_complement c
  7. L32
    specialize doubling_gauss_initial_segment_complement mb
  8. L33
    specialize doubling_gauss_initial_segment_complement mc
  9. L34
    specialize doubling_gauss_initial_segment_complement sb
  10. L35
    specialize doubling_gauss_initial_segment_complement sc
08Use earlier factsL36–45

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

  1. L36
    specialize doubling_gauss_initial_segment_complement x1
  2. L37
    specialize doubling_gauss_initial_segment_complement x2
  3. L38
    specialize doubling_gauss_initial_segment_complement x
  4. L39
    apply doubling_gauss_initial_segment_complement
  5. L40
    exact hpodd
  6. L41
    exact hatwo
  7. L42
    exact hhalf_witness
  8. L43
    exact hrange
  9. L44
    exact hsigned
  10. L45
    exact hinitial_witness_witness
09Use earlier factsL46–55

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

  1. L46
    specialize doubling_gauss_count_shape_from_initial_segment_complement h
  2. L47
    specialize doubling_gauss_count_shape_from_initial_segment_complement x
  3. L48
    specialize doubling_gauss_count_shape_from_initial_segment_complement sb
  4. L49
    specialize doubling_gauss_count_shape_from_initial_segment_complement sc
  5. L50
    specialize doubling_gauss_count_shape_from_initial_segment_complement x1
  6. L51
    specialize doubling_gauss_count_shape_from_initial_segment_complement x2
  7. L52
    specialize doubling_gauss_count_shape_from_initial_segment_complement e
  8. L53
    apply doubling_gauss_count_shape_from_initial_segment_complement
  9. L54
    exact hhalf_witness
  10. L55
    exact hinitial_witness_witness
10Use earlier factsL56–57

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

  1. L56
    exact hcount
  2. L57
    exact hcomplement

Library-wide reading audit

Original exact command ledger · 57 lines
  1. 0001intro p
  2. 0002intro h
  3. 0003intro a
  4. 0004intro b
  5. 0005intro c
  6. 0006intro mb
  7. 0007intro mc
  8. 0008intro sb
  9. 0009intro sc
  10. 0010intro e
  11. 0011intro hpodd
  12. 0012intro hatwo
  13. 0013intro hrange
  14. 0014intro hsigned
  15. 0015intro hcount
  16. 0016have hhalf : exists k. h = 2 * k \/ h = 2 * k + 1
  17. 0017specialize parity_cases h
  18. 0018exact parity_cases
  19. 0019cases hhalf
  20. 0020have hinitial : exists ib ic. (forall eis_index_qst_shape_initial. (exists eis_lt_gap_qst_shape_initial_bound. eis_lt_gap_qst_shape_initial_bound + S (eis_index_qst_shape_initial) = h) -> exists eis_bit_qst_shape_initial. ((((exists ff_h_eis_qst_shape_initial_decoded. ff_h_eis_qst_shape_initial_decoded + S (eis_bit_qst_shape_initial) = S ((S (eis_index_qst_shape_initial)) * ic)) /\ exists ff_q_eis_qst_shape_initial_decoded. ib = ff_q_eis_qst_shape_initial_decoded * S ((S (eis_index_qst_shape_initial)) * ic) + (eis_bit_qst_shape_initial))) /\ (((eis_bit_qst_shape_initial = 1 /\ (exists eis_le_gap_qst_shape_initial_choice_inside. eis_le_gap_qst_shape_initial_choice_inside + (S eis_index_qst_shape_initial) = x)) \/ (eis_bit_qst_shape_initial = 0 /\ (exists eis_lt_gap_qst_shape_initial_choice_outside. eis_lt_gap_qst_shape_initial_choice_outside + S (x) = S eis_index_qst_shape_initial))))))
  21. 0021specialize eisenstein_initial_segment_prefix_exists x
  22. 0022specialize eisenstein_initial_segment_prefix_exists h
  23. 0023exact eisenstein_initial_segment_prefix_exists
  24. 0024cases hinitial
  25. 0025cases hinitial_witness
  26. 0026have hcomplement : (forall i s t. (exists qst_complement_gap_shape. qst_complement_gap_shape + S i = h) -> (((exists ff_h_qst_shape_sign. ff_h_qst_shape_sign + S (s) = S ((S (i)) * sc)) /\ exists ff_q_qst_shape_sign. sb = ff_q_qst_shape_sign * S ((S (i)) * sc) + (s))) -> (((exists ff_h_qst_shape_indicator. ff_h_qst_shape_indicator + S (t) = S ((S (i)) * x2)) /\ exists ff_q_qst_shape_indicator. x1 = ff_q_qst_shape_indicator * S ((S (i)) * x2) + (t))) -> ((s = 0 /\ t = 1) \/ (s = 1 /\ t = 0)))
  27. 0027specialize doubling_gauss_initial_segment_complement p
  28. 0028specialize doubling_gauss_initial_segment_complement h
  29. 0029specialize doubling_gauss_initial_segment_complement a
  30. 0030specialize doubling_gauss_initial_segment_complement b
  31. 0031specialize doubling_gauss_initial_segment_complement c
  32. 0032specialize doubling_gauss_initial_segment_complement mb
  33. 0033specialize doubling_gauss_initial_segment_complement mc
  34. 0034specialize doubling_gauss_initial_segment_complement sb
  35. 0035specialize doubling_gauss_initial_segment_complement sc
  36. 0036specialize doubling_gauss_initial_segment_complement x1
  37. 0037specialize doubling_gauss_initial_segment_complement x2
  38. 0038specialize doubling_gauss_initial_segment_complement x
  39. 0039apply doubling_gauss_initial_segment_complement
  40. 0040exact hpodd
  41. 0041exact hatwo
  42. 0042exact hhalf_witness
  43. 0043exact hrange
  44. 0044exact hsigned
  45. 0045exact hinitial_witness_witness
  46. 0046specialize doubling_gauss_count_shape_from_initial_segment_complement h
  47. 0047specialize doubling_gauss_count_shape_from_initial_segment_complement x
  48. 0048specialize doubling_gauss_count_shape_from_initial_segment_complement sb
  49. 0049specialize doubling_gauss_count_shape_from_initial_segment_complement sc
  50. 0050specialize doubling_gauss_count_shape_from_initial_segment_complement x1
  51. 0051specialize doubling_gauss_count_shape_from_initial_segment_complement x2
  52. 0052specialize doubling_gauss_count_shape_from_initial_segment_complement e
  53. 0053apply doubling_gauss_count_shape_from_initial_segment_complement
  54. 0054exact hhalf_witness
  55. 0055exact hinitial_witness_witness
  56. 0056exact hcount
  57. 0057exact hcomplement