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_complementDirect 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
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)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–15
03Establish hhalfL16–18
04Separate the logical casesL19–19
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L19
cases hhalf
05Establish hinitialL20–23
Establish this local claim before using it. It is not an additional assumption.
06Separate the logical casesL24–25
07Establish hcomplementL26–35
Establish this local claim before using it. It is not an additional assumption.
- 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))) - L27
specialize doubling_gauss_initial_segment_complement p - L28
specialize doubling_gauss_initial_segment_complement h - L29
specialize doubling_gauss_initial_segment_complement a - L30
specialize doubling_gauss_initial_segment_complement b - L31
specialize doubling_gauss_initial_segment_complement c - L32
specialize doubling_gauss_initial_segment_complement mb - L33
specialize doubling_gauss_initial_segment_complement mc - L34
specialize doubling_gauss_initial_segment_complement sb - L35
specialize doubling_gauss_initial_segment_complement sc
08Use earlier factsL36–45
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L36
specialize doubling_gauss_initial_segment_complement x1 - L37
specialize doubling_gauss_initial_segment_complement x2 - L38
specialize doubling_gauss_initial_segment_complement x - L39
apply doubling_gauss_initial_segment_complement - L40
exact hpodd - L41
exact hatwo - L42
exact hhalf_witness - L43
exact hrange - L44
exact hsigned - L45
exact hinitial_witness_witness
09Use earlier factsL46–55
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L46
specialize doubling_gauss_count_shape_from_initial_segment_complement h - L47
specialize doubling_gauss_count_shape_from_initial_segment_complement x - L48
specialize doubling_gauss_count_shape_from_initial_segment_complement sb - L49
specialize doubling_gauss_count_shape_from_initial_segment_complement sc - L50
specialize doubling_gauss_count_shape_from_initial_segment_complement x1 - L51
specialize doubling_gauss_count_shape_from_initial_segment_complement x2 - L52
specialize doubling_gauss_count_shape_from_initial_segment_complement e - L53
apply doubling_gauss_count_shape_from_initial_segment_complement - L54
exact hhalf_witness - L55
exact hinitial_witness_witness
Original exact command ledger · 57 lines
- 0001
intro p - 0002
intro h - 0003
intro a - 0004
intro b - 0005
intro c - 0006
intro mb - 0007
intro mc - 0008
intro sb - 0009
intro sc - 0010
intro e - 0011
intro hpodd - 0012
intro hatwo - 0013
intro hrange - 0014
intro hsigned - 0015
intro hcount - 0016
have hhalf : exists k. h = 2 * k \/ h = 2 * k + 1 - 0017
specialize parity_cases h - 0018
exact parity_cases - 0019
cases hhalf - 0020
have 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)))))) - 0021
specialize eisenstein_initial_segment_prefix_exists x - 0022
specialize eisenstein_initial_segment_prefix_exists h - 0023
exact eisenstein_initial_segment_prefix_exists - 0024
cases hinitial - 0025
cases hinitial_witness - 0026
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))) - 0027
specialize doubling_gauss_initial_segment_complement p - 0028
specialize doubling_gauss_initial_segment_complement h - 0029
specialize doubling_gauss_initial_segment_complement a - 0030
specialize doubling_gauss_initial_segment_complement b - 0031
specialize doubling_gauss_initial_segment_complement c - 0032
specialize doubling_gauss_initial_segment_complement mb - 0033
specialize doubling_gauss_initial_segment_complement mc - 0034
specialize doubling_gauss_initial_segment_complement sb - 0035
specialize doubling_gauss_initial_segment_complement sc - 0036
specialize doubling_gauss_initial_segment_complement x1 - 0037
specialize doubling_gauss_initial_segment_complement x2 - 0038
specialize doubling_gauss_initial_segment_complement x - 0039
apply doubling_gauss_initial_segment_complement - 0040
exact hpodd - 0041
exact hatwo - 0042
exact hhalf_witness - 0043
exact hrange - 0044
exact hsigned - 0045
exact hinitial_witness_witness - 0046
specialize doubling_gauss_count_shape_from_initial_segment_complement h - 0047
specialize doubling_gauss_count_shape_from_initial_segment_complement x - 0048
specialize doubling_gauss_count_shape_from_initial_segment_complement sb - 0049
specialize doubling_gauss_count_shape_from_initial_segment_complement sc - 0050
specialize doubling_gauss_count_shape_from_initial_segment_complement x1 - 0051
specialize doubling_gauss_count_shape_from_initial_segment_complement x2 - 0052
specialize doubling_gauss_count_shape_from_initial_segment_complement e - 0053
apply doubling_gauss_count_shape_from_initial_segment_complement - 0054
exact hhalf_witness - 0055
exact hinitial_witness_witness - 0056
exact hcount - 0057
exact hcomplement