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 PA statement
forall p h a b c mb mc sb sc. (forall gsp_index_injective_signed_source. (exists gsp_lt_gap_injective_signed_source_index_bound. gsp_lt_gap_injective_signed_source_index_bound + S gsp_index_injective_signed_source = h) -> (exists gsp_value_injective_signed_source_entry gsp_magnitude_injective_signed_source_entry gsp_sign_injective_signed_source_entry. (((exists ff_h_gsp_injective_signed_source_entry_source. ff_h_gsp_injective_signed_source_entry_source + S (gsp_value_injective_signed_source_entry) = S ((S (gsp_index_injective_signed_source)) * c)) /\ exists ff_q_gsp_injective_signed_source_entry_source. b = ff_q_gsp_injective_signed_source_entry_source * S ((S (gsp_index_injective_signed_source)) * c) + (gsp_value_injective_signed_source_entry))) /\ ((((exists ff_h_gsp_injective_signed_source_entry_magnitude. ff_h_gsp_injective_signed_source_entry_magnitude + S (gsp_magnitude_injective_signed_source_entry) = S ((S (gsp_index_injective_signed_source)) * mc)) /\ exists ff_q_gsp_injective_signed_source_entry_magnitude. mb = ff_q_gsp_injective_signed_source_entry_magnitude * S ((S (gsp_index_injective_signed_source)) * mc) + (gsp_magnitude_injective_signed_source_entry))) /\ ((((exists ff_h_gsp_injective_signed_source_entry_sign. ff_h_gsp_injective_signed_source_entry_sign + S (gsp_sign_injective_signed_source_entry) = S ((S (gsp_index_injective_signed_source)) * sc)) /\ exists ff_q_gsp_injective_signed_source_entry_sign. sb = ff_q_gsp_injective_signed_source_entry_sign * S ((S (gsp_index_injective_signed_source)) * sc) + (gsp_sign_injective_signed_source_entry))) /\ ((exists gsp_lt_gap_injective_signed_source_entry_positive. gsp_lt_gap_injective_signed_source_entry_positive + S 0 = gsp_magnitude_injective_signed_source_entry) /\ ((exists gsp_le_gap_injective_signed_source_entry_bounded. gsp_le_gap_injective_signed_source_entry_bounded + gsp_magnitude_injective_signed_source_entry = h) /\ ((gsp_sign_injective_signed_source_entry = 0 \/ gsp_sign_injective_signed_source_entry = 1) /\ (((gsp_sign_injective_signed_source_entry = 0 /\ (exists gsp_mod_left_injective_signed_source_entry_lower gsp_mod_right_injective_signed_source_entry_lower. (a * gsp_value_injective_signed_source_entry) + p * gsp_mod_left_injective_signed_source_entry_lower = (gsp_magnitude_injective_signed_source_entry) + p * gsp_mod_right_injective_signed_source_entry_lower)) \/ (gsp_sign_injective_signed_source_entry = 1 /\ (exists gsp_mod_left_injective_signed_source_entry_reflected gsp_mod_right_injective_signed_source_entry_reflected. (a * gsp_value_injective_signed_source_entry) + p * gsp_mod_left_injective_signed_source_entry_reflected = ((2 * h) * gsp_magnitude_injective_signed_source_entry) + p * gsp_mod_right_injective_signed_source_entry_reflected))))))))))) -> (exists rb rc. (forall gmp_index_signed_predecessor_recode_result gmp_predecessor_signed_predecessor_recode_result. (exists gsp_lt_gap_signed_predecessor_recode_result_index_bound. gsp_lt_gap_signed_predecessor_recode_result_index_bound + S gmp_index_signed_predecessor_recode_result = h) -> (((exists gsp_beta_height_gmp_signed_predecessor_recode_result_source. gsp_beta_height_gmp_signed_predecessor_recode_result_source + S (S gmp_predecessor_signed_predecessor_recode_result) = S ((S (gmp_index_signed_predecessor_recode_result)) * mc)) /\ exists gsp_beta_quotient_gmp_signed_predecessor_recode_result_source. mb = gsp_beta_quotient_gmp_signed_predecessor_recode_result_source * S ((S (gmp_index_signed_predecessor_recode_result)) * mc) + (S gmp_predecessor_signed_predecessor_recode_result))) -> (((exists ff_h_gmp_signed_predecessor_recode_result_target. ff_h_gmp_signed_predecessor_recode_result_target + S (gmp_predecessor_signed_predecessor_recode_result) = S ((S (gmp_index_signed_predecessor_recode_result)) * rc)) /\ exists ff_q_gmp_signed_predecessor_recode_result_target. rb = ff_q_gmp_signed_predecessor_recode_result_target * S ((S (gmp_index_signed_predecessor_recode_result)) * rc) + (gmp_predecessor_signed_predecessor_recode_result)))))Structural proof guide
Generated structural guide
The signed-half magnitude prefix admits a beta code of its 0,...,h-1 predecessors.
Use the direct prerequisites gauss_signed_half_magnitude_range, beta_magnitude_predecessor_recode_exists as previously established PA formulas.
The proof proceeds by intermediate claims (1).
Referenced ingredients
Proof neighborhood
Direct dependencies
Direct dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Linked names are exact direct references. This Alpha-v25 checked-use theorem is independently kernel-checked when replayed; it is not a Stable theorem.
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
02Establish hrangeL11–20
Establish this local claim before using it. It is not an additional assumption.
- L11
- L12
specialize gauss_signed_half_magnitude_range p - L13
specialize gauss_signed_half_magnitude_range h - L14
specialize gauss_signed_half_magnitude_range a - L15
specialize gauss_signed_half_magnitude_range b - L16
specialize gauss_signed_half_magnitude_range c - L17
specialize gauss_signed_half_magnitude_range mb - L18
specialize gauss_signed_half_magnitude_range mc - L19
specialize gauss_signed_half_magnitude_range sb - L20
specialize gauss_signed_half_magnitude_range sc
03Use earlier factsL21–29
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L21
specialize gauss_signed_half_magnitude_range h - L22
apply gauss_signed_half_magnitude_range - L23
exact hprefix - L24
specialize beta_magnitude_predecessor_recode_exists mb - L25
specialize beta_magnitude_predecessor_recode_exists mc - L26
specialize beta_magnitude_predecessor_recode_exists h - L27
specialize beta_magnitude_predecessor_recode_exists h - L28
apply beta_magnitude_predecessor_recode_exists - L29
exact hrange
Original exact command ledger · 29 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 hprefix - 0011
have hrange : forall gmp_index_signed_predecessor_recode_range. (exists gsp_lt_gap_signed_predecessor_recode_range_index_bound. gsp_lt_gap_signed_predecessor_recode_range_index_bound + S gmp_index_signed_predecessor_recode_range = h) -> exists gmp_magnitude_signed_predecessor_recode_range. ((((exists ff_h_gmp_signed_predecessor_recode_range_decoded. ff_h_gmp_signed_predecessor_recode_range_decoded + S (gmp_magnitude_signed_predecessor_recode_range) = S ((S (gmp_index_signed_predecessor_recode_range)) * mc)) /\ exists ff_q_gmp_signed_predecessor_recode_range_decoded. mb = ff_q_gmp_signed_predecessor_recode_range_decoded * S ((S (gmp_index_signed_predecessor_recode_range)) * mc) + (gmp_magnitude_signed_predecessor_recode_range))) /\ ((exists gsp_lt_gap_signed_predecessor_recode_range_positive. gsp_lt_gap_signed_predecessor_recode_range_positive + S 0 = gmp_magnitude_signed_predecessor_recode_range) /\ (exists gsp_le_gap_signed_predecessor_recode_range_bounded. gsp_le_gap_signed_predecessor_recode_range_bounded + gmp_magnitude_signed_predecessor_recode_range = h))) - 0012
specialize gauss_signed_half_magnitude_range p - 0013
specialize gauss_signed_half_magnitude_range h - 0014
specialize gauss_signed_half_magnitude_range a - 0015
specialize gauss_signed_half_magnitude_range b - 0016
specialize gauss_signed_half_magnitude_range c - 0017
specialize gauss_signed_half_magnitude_range mb - 0018
specialize gauss_signed_half_magnitude_range mc - 0019
specialize gauss_signed_half_magnitude_range sb - 0020
specialize gauss_signed_half_magnitude_range sc - 0021
specialize gauss_signed_half_magnitude_range h - 0022
apply gauss_signed_half_magnitude_range - 0023
exact hprefix - 0024
specialize beta_magnitude_predecessor_recode_exists mb - 0025
specialize beta_magnitude_predecessor_recode_exists mc - 0026
specialize beta_magnitude_predecessor_recode_exists h - 0027
specialize beta_magnitude_predecessor_recode_exists h - 0028
apply beta_magnitude_predecessor_recode_exists - 0029
exact hrange