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 l. (forall gsp_index_extend_before. (exists gsp_lt_gap_extend_before_index_bound. gsp_lt_gap_extend_before_index_bound + S gsp_index_extend_before = l) -> (exists gsp_value_extend_before_entry gsp_magnitude_extend_before_entry gsp_sign_extend_before_entry. (((exists ff_h_gsp_extend_before_entry_source. ff_h_gsp_extend_before_entry_source + S (gsp_value_extend_before_entry) = S ((S (gsp_index_extend_before)) * c)) /\ exists ff_q_gsp_extend_before_entry_source. b = ff_q_gsp_extend_before_entry_source * S ((S (gsp_index_extend_before)) * c) + (gsp_value_extend_before_entry))) /\ ((((exists ff_h_gsp_extend_before_entry_magnitude. ff_h_gsp_extend_before_entry_magnitude + S (gsp_magnitude_extend_before_entry) = S ((S (gsp_index_extend_before)) * mc)) /\ exists ff_q_gsp_extend_before_entry_magnitude. mb = ff_q_gsp_extend_before_entry_magnitude * S ((S (gsp_index_extend_before)) * mc) + (gsp_magnitude_extend_before_entry))) /\ ((((exists ff_h_gsp_extend_before_entry_sign. ff_h_gsp_extend_before_entry_sign + S (gsp_sign_extend_before_entry) = S ((S (gsp_index_extend_before)) * sc)) /\ exists ff_q_gsp_extend_before_entry_sign. sb = ff_q_gsp_extend_before_entry_sign * S ((S (gsp_index_extend_before)) * sc) + (gsp_sign_extend_before_entry))) /\ ((exists gsp_lt_gap_extend_before_entry_positive. gsp_lt_gap_extend_before_entry_positive + S 0 = gsp_magnitude_extend_before_entry) /\ ((exists gsp_le_gap_extend_before_entry_bounded. gsp_le_gap_extend_before_entry_bounded + gsp_magnitude_extend_before_entry = h) /\ ((gsp_sign_extend_before_entry = 0 \/ gsp_sign_extend_before_entry = 1) /\ (((gsp_sign_extend_before_entry = 0 /\ (exists gsp_mod_left_extend_before_entry_lower gsp_mod_right_extend_before_entry_lower. (a * gsp_value_extend_before_entry) + p * gsp_mod_left_extend_before_entry_lower = (gsp_magnitude_extend_before_entry) + p * gsp_mod_right_extend_before_entry_lower)) \/ (gsp_sign_extend_before_entry = 1 /\ (exists gsp_mod_left_extend_before_entry_reflected gsp_mod_right_extend_before_entry_reflected. (a * gsp_value_extend_before_entry) + p * gsp_mod_left_extend_before_entry_reflected = ((2 * h) * gsp_magnitude_extend_before_entry) + p * gsp_mod_right_extend_before_entry_reflected))))))))))) -> (exists gsp_value_extend_choice gsp_magnitude_extend_choice gsp_sign_extend_choice. (((exists ff_h_gsp_extend_choice_source. ff_h_gsp_extend_choice_source + S (gsp_value_extend_choice) = S ((S (l)) * c)) /\ exists ff_q_gsp_extend_choice_source. b = ff_q_gsp_extend_choice_source * S ((S (l)) * c) + (gsp_value_extend_choice))) /\ ((exists gsp_lt_gap_extend_choice_positive. gsp_lt_gap_extend_choice_positive + S 0 = gsp_magnitude_extend_choice) /\ ((exists gsp_le_gap_extend_choice_bounded. gsp_le_gap_extend_choice_bounded + gsp_magnitude_extend_choice = h) /\ ((gsp_sign_extend_choice = 0 \/ gsp_sign_extend_choice = 1) /\ (((gsp_sign_extend_choice = 0 /\ (exists gsp_mod_left_extend_choice_lower gsp_mod_right_extend_choice_lower. (a * gsp_value_extend_choice) + p * gsp_mod_left_extend_choice_lower = (gsp_magnitude_extend_choice) + p * gsp_mod_right_extend_choice_lower)) \/ (gsp_sign_extend_choice = 1 /\ (exists gsp_mod_left_extend_choice_reflected gsp_mod_right_extend_choice_reflected. (a * gsp_value_extend_choice) + p * gsp_mod_left_extend_choice_reflected = ((2 * h) * gsp_magnitude_extend_choice) + p * gsp_mod_right_extend_choice_reflected)))))))) -> exists z d u v. (forall gsp_index_extend_after. (exists gsp_lt_gap_extend_after_index_bound. gsp_lt_gap_extend_after_index_bound + S gsp_index_extend_after = S l) -> (exists gsp_value_extend_after_entry gsp_magnitude_extend_after_entry gsp_sign_extend_after_entry. (((exists ff_h_gsp_extend_after_entry_source. ff_h_gsp_extend_after_entry_source + S (gsp_value_extend_after_entry) = S ((S (gsp_index_extend_after)) * c)) /\ exists ff_q_gsp_extend_after_entry_source. b = ff_q_gsp_extend_after_entry_source * S ((S (gsp_index_extend_after)) * c) + (gsp_value_extend_after_entry))) /\ ((((exists ff_h_gsp_extend_after_entry_magnitude. ff_h_gsp_extend_after_entry_magnitude + S (gsp_magnitude_extend_after_entry) = S ((S (gsp_index_extend_after)) * d)) /\ exists ff_q_gsp_extend_after_entry_magnitude. z = ff_q_gsp_extend_after_entry_magnitude * S ((S (gsp_index_extend_after)) * d) + (gsp_magnitude_extend_after_entry))) /\ ((((exists ff_h_gsp_extend_after_entry_sign. ff_h_gsp_extend_after_entry_sign + S (gsp_sign_extend_after_entry) = S ((S (gsp_index_extend_after)) * v)) /\ exists ff_q_gsp_extend_after_entry_sign. u = ff_q_gsp_extend_after_entry_sign * S ((S (gsp_index_extend_after)) * v) + (gsp_sign_extend_after_entry))) /\ ((exists gsp_lt_gap_extend_after_entry_positive. gsp_lt_gap_extend_after_entry_positive + S 0 = gsp_magnitude_extend_after_entry) /\ ((exists gsp_le_gap_extend_after_entry_bounded. gsp_le_gap_extend_after_entry_bounded + gsp_magnitude_extend_after_entry = h) /\ ((gsp_sign_extend_after_entry = 0 \/ gsp_sign_extend_after_entry = 1) /\ (((gsp_sign_extend_after_entry = 0 /\ (exists gsp_mod_left_extend_after_entry_lower gsp_mod_right_extend_after_entry_lower. (a * gsp_value_extend_after_entry) + p * gsp_mod_left_extend_after_entry_lower = (gsp_magnitude_extend_after_entry) + p * gsp_mod_right_extend_after_entry_lower)) \/ (gsp_sign_extend_after_entry = 1 /\ (exists gsp_mod_left_extend_after_entry_reflected gsp_mod_right_extend_after_entry_reflected. (a * gsp_value_extend_after_entry) + p * gsp_mod_left_extend_after_entry_reflected = ((2 * h) * gsp_magnitude_extend_after_entry) + p * gsp_mod_right_extend_after_entry_reflected)))))))))))Structural proof guide
Generated structural guide
Append one pointwise signed choice simultaneously to the magnitude and zero/one sign beta prefixes.
Use the direct prerequisites beta_prefix_extend, finite_lt_succ_eq_or_lt as previously established PA formulas.
The proof proceeds by case analysis (23), intermediate claims (4), equality transport (6).
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
02Fix variables and assumptionsL11–12
03Separate the logical casesL13–19
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
04Establish hmag_extendL20–25
Establish this local claim before using it. It is not an additional assumption.
- L20
have hmag_extend : ∃ gsp_new_code_magnitude_extension. ∃ gsp_new_scale_magnitude_extension. BetaAt(gsp_new_code_magnitude_extension,gsp_new_scale_magnitude_extension,l,x1) ∧ (∀ x. ∀ y. Lt(x,l) → BetaAt(mb,mc,x,y) → BetaAt(gsp_new_code_magnitude_extension,gsp_new_scale_magnitude_extension,x,y))Definitions: LtBetaAt - L21
specialize beta_prefix_extend l - L22
specialize beta_prefix_extend mb - L23
specialize beta_prefix_extend mc - L24
specialize beta_prefix_extend x1 - L25
exact beta_prefix_extend
05Separate the logical casesL26–28
06Establish hsign_extendL29–34
Establish this local claim before using it. It is not an additional assumption.
07Separate the logical casesL35–37
08Construct an explicit witnessL38–41
09Fix variables and assumptionsL42–43
10Establish hsplitL44–48
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite lt succ eq or lt.
11Separate the logical casesL49–49
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L49
cases hsplit
12Construct an explicit witnessL50–52
13Separate the logical casesL53–53
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L53
split
14Calculate and transport equalitiesL54–55
15Use earlier factsL56–56
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L56
exact hchoice_witness_witness_witness_left
16Separate the logical casesL57–57
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L57
split
17Calculate and transport equalitiesL58–59
18Use earlier factsL60–60
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L60
exact hmag_extend_witness_witness_left
19Separate the logical casesL61–61
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L61
split
20Calculate and transport equalitiesL62–63
21Use earlier factsL64–64
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L64
exact hsign_extend_witness_witness_left
22Separate the logical casesL65–65
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L65
split
23Use earlier factsL66–66
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L66
exact hchoice_witness_witness_witness_right_left
24Separate the logical casesL67–67
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L67
split
25Use earlier factsL68–68
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L68
exact hchoice_witness_witness_witness_right_right_left
26Separate the logical casesL69–69
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L69
split
27Use earlier factsL70–71
28Establish holdL72–75
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hprefix.
- L72Definitions: LeLtModEqBetaAt
have hold · expand full local formula (692 characters)
have hold : ∃ gsp_value_extend_previous_entry. ∃ gsp_magnitude_extend_previous_entry. ∃ gsp_sign_extend_previous_entry. BetaAt(b,c,i,gsp_value_extend_previous_entry) ∧ (BetaAt(mb,mc,i,gsp_magnitude_extend_previous_entry) ∧ (BetaAt(sb,sc,i,gsp_sign_extend_previous_entry) ∧ (Lt(0,gsp_magnitude_extend_previous_entry) ∧ (Le(gsp_magnitude_extend_previous_entry,h) ∧ ((gsp_sign_extend_previous_entry = 0 ∨ gsp_sign_extend_previous_entry = 1) ∧ (gsp_sign_extend_previous_entry = 0 ∧ ModEq(p,a · gsp_value_extend_previous_entry,gsp_magnitude_extend_previous_entry) ∨ gsp_sign_extend_previous_entry = 1 ∧ ModEq(p,a · gsp_value_extend_previous_entry,2 · h · gsp_magnitude_extend_previous_entry))))))) - L73
specialize hprefix i - L74
apply hprefix - L75
exact hsplit_right
29Separate the logical casesL76–84
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L76
cases hold - L77
cases hold_witness - L78
cases hold_witness_witness - L79
cases hold_witness_witness_witness - L80
cases hold_witness_witness_witness_right - L81
cases hold_witness_witness_witness_right_right - L82
cases hold_witness_witness_witness_right_right_right - L83
cases hold_witness_witness_witness_right_right_right_right - L84
cases hold_witness_witness_witness_right_right_right_right_right
30Construct an explicit witnessL85–87
31Separate the logical casesL88–88
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L88
split
32Use earlier factsL89–89
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L89
exact hold_witness_witness_witness_left
33Separate the logical casesL90–90
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L90
split
34Use earlier factsL91–95
35Separate the logical casesL96–96
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L96
split
36Use earlier factsL97–101
Instantiate or apply named facts and discharge the corresponding proof obligations.
37Separate the logical casesL102–102
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L102
split
38Use earlier factsL103–103
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L103
exact hold_witness_witness_witness_right_right_right_left
39Separate the logical casesL104–104
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L104
split
40Use earlier factsL105–105
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L105
exact hold_witness_witness_witness_right_right_right_right_left
41Separate the logical casesL106–106
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L106
split
Original exact command ledger · 108 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 l - 0011
intro hprefix - 0012
intro hchoice - 0013
cases hchoice - 0014
cases hchoice_witness - 0015
cases hchoice_witness_witness - 0016
cases hchoice_witness_witness_witness - 0017
cases hchoice_witness_witness_witness_right - 0018
cases hchoice_witness_witness_witness_right_right - 0019
cases hchoice_witness_witness_witness_right_right_right - 0020
have hmag_extend : exists gsp_new_code_magnitude_extension gsp_new_scale_magnitude_extension. (((exists ff_h_gsp_magnitude_extension_new_last. ff_h_gsp_magnitude_extension_new_last + S (x1) = S ((S (l)) * gsp_new_scale_magnitude_extension)) /\ exists ff_q_gsp_magnitude_extension_new_last. gsp_new_code_magnitude_extension = ff_q_gsp_magnitude_extension_new_last * S ((S (l)) * gsp_new_scale_magnitude_extension) + (x1))) /\ forall gsp_old_index_magnitude_extension gsp_old_value_magnitude_extension. (exists gsp_lt_gap_magnitude_extension_old_bound. gsp_lt_gap_magnitude_extension_old_bound + S gsp_old_index_magnitude_extension = l) -> (((exists ff_h_gsp_magnitude_extension_old_entry. ff_h_gsp_magnitude_extension_old_entry + S (gsp_old_value_magnitude_extension) = S ((S (gsp_old_index_magnitude_extension)) * mc)) /\ exists ff_q_gsp_magnitude_extension_old_entry. mb = ff_q_gsp_magnitude_extension_old_entry * S ((S (gsp_old_index_magnitude_extension)) * mc) + (gsp_old_value_magnitude_extension))) -> (((exists ff_h_gsp_magnitude_extension_new_entry. ff_h_gsp_magnitude_extension_new_entry + S (gsp_old_value_magnitude_extension) = S ((S (gsp_old_index_magnitude_extension)) * gsp_new_scale_magnitude_extension)) /\ exists ff_q_gsp_magnitude_extension_new_entry. gsp_new_code_magnitude_extension = ff_q_gsp_magnitude_extension_new_entry * S ((S (gsp_old_index_magnitude_extension)) * gsp_new_scale_magnitude_extension) + (gsp_old_value_magnitude_extension))) - 0021
specialize beta_prefix_extend l - 0022
specialize beta_prefix_extend mb - 0023
specialize beta_prefix_extend mc - 0024
specialize beta_prefix_extend x1 - 0025
exact beta_prefix_extend - 0026
cases hmag_extend - 0027
cases hmag_extend_witness - 0028
cases hmag_extend_witness_witness - 0029
have hsign_extend : exists gsp_new_code_sign_extension gsp_new_scale_sign_extension. (((exists ff_h_gsp_sign_extension_new_last. ff_h_gsp_sign_extension_new_last + S (x2) = S ((S (l)) * gsp_new_scale_sign_extension)) /\ exists ff_q_gsp_sign_extension_new_last. gsp_new_code_sign_extension = ff_q_gsp_sign_extension_new_last * S ((S (l)) * gsp_new_scale_sign_extension) + (x2))) /\ forall gsp_old_index_sign_extension gsp_old_value_sign_extension. (exists gsp_lt_gap_sign_extension_old_bound. gsp_lt_gap_sign_extension_old_bound + S gsp_old_index_sign_extension = l) -> (((exists ff_h_gsp_sign_extension_old_entry. ff_h_gsp_sign_extension_old_entry + S (gsp_old_value_sign_extension) = S ((S (gsp_old_index_sign_extension)) * sc)) /\ exists ff_q_gsp_sign_extension_old_entry. sb = ff_q_gsp_sign_extension_old_entry * S ((S (gsp_old_index_sign_extension)) * sc) + (gsp_old_value_sign_extension))) -> (((exists ff_h_gsp_sign_extension_new_entry. ff_h_gsp_sign_extension_new_entry + S (gsp_old_value_sign_extension) = S ((S (gsp_old_index_sign_extension)) * gsp_new_scale_sign_extension)) /\ exists ff_q_gsp_sign_extension_new_entry. gsp_new_code_sign_extension = ff_q_gsp_sign_extension_new_entry * S ((S (gsp_old_index_sign_extension)) * gsp_new_scale_sign_extension) + (gsp_old_value_sign_extension))) - 0030
specialize beta_prefix_extend l - 0031
specialize beta_prefix_extend sb - 0032
specialize beta_prefix_extend sc - 0033
specialize beta_prefix_extend x2 - 0034
exact beta_prefix_extend - 0035
cases hsign_extend - 0036
cases hsign_extend_witness - 0037
cases hsign_extend_witness_witness - 0038
exists x3 - 0039
exists x4 - 0040
exists x5 - 0041
exists x6 - 0042
intro i - 0043
intro hi - 0044
have hsplit : i = l \/ exists gap. gap + S i = l - 0045
specialize finite_lt_succ_eq_or_lt l - 0046
specialize finite_lt_succ_eq_or_lt i - 0047
apply finite_lt_succ_eq_or_lt - 0048
exact hi - 0049
cases hsplit - 0050
exists x - 0051
exists x1 - 0052
exists x2 - 0053
split - 0054
rewrite hsplit_left - 0055
rewrite hsplit_left - 0056
exact hchoice_witness_witness_witness_left - 0057
split - 0058
rewrite hsplit_left - 0059
rewrite hsplit_left - 0060
exact hmag_extend_witness_witness_left - 0061
split - 0062
rewrite hsplit_left - 0063
rewrite hsplit_left - 0064
exact hsign_extend_witness_witness_left - 0065
split - 0066
exact hchoice_witness_witness_witness_right_left - 0067
split - 0068
exact hchoice_witness_witness_witness_right_right_left - 0069
split - 0070
exact hchoice_witness_witness_witness_right_right_right_left - 0071
exact hchoice_witness_witness_witness_right_right_right_right - 0072
have hold : exists gsp_value_extend_previous_entry gsp_magnitude_extend_previous_entry gsp_sign_extend_previous_entry. (((exists ff_h_gsp_extend_previous_entry_source. ff_h_gsp_extend_previous_entry_source + S (gsp_value_extend_previous_entry) = S ((S (i)) * c)) /\ exists ff_q_gsp_extend_previous_entry_source. b = ff_q_gsp_extend_previous_entry_source * S ((S (i)) * c) + (gsp_value_extend_previous_entry))) /\ ((((exists ff_h_gsp_extend_previous_entry_magnitude. ff_h_gsp_extend_previous_entry_magnitude + S (gsp_magnitude_extend_previous_entry) = S ((S (i)) * mc)) /\ exists ff_q_gsp_extend_previous_entry_magnitude. mb = ff_q_gsp_extend_previous_entry_magnitude * S ((S (i)) * mc) + (gsp_magnitude_extend_previous_entry))) /\ ((((exists ff_h_gsp_extend_previous_entry_sign. ff_h_gsp_extend_previous_entry_sign + S (gsp_sign_extend_previous_entry) = S ((S (i)) * sc)) /\ exists ff_q_gsp_extend_previous_entry_sign. sb = ff_q_gsp_extend_previous_entry_sign * S ((S (i)) * sc) + (gsp_sign_extend_previous_entry))) /\ ((exists gsp_lt_gap_extend_previous_entry_positive. gsp_lt_gap_extend_previous_entry_positive + S 0 = gsp_magnitude_extend_previous_entry) /\ ((exists gsp_le_gap_extend_previous_entry_bounded. gsp_le_gap_extend_previous_entry_bounded + gsp_magnitude_extend_previous_entry = h) /\ ((gsp_sign_extend_previous_entry = 0 \/ gsp_sign_extend_previous_entry = 1) /\ (((gsp_sign_extend_previous_entry = 0 /\ (exists gsp_mod_left_extend_previous_entry_lower gsp_mod_right_extend_previous_entry_lower. (a * gsp_value_extend_previous_entry) + p * gsp_mod_left_extend_previous_entry_lower = (gsp_magnitude_extend_previous_entry) + p * gsp_mod_right_extend_previous_entry_lower)) \/ (gsp_sign_extend_previous_entry = 1 /\ (exists gsp_mod_left_extend_previous_entry_reflected gsp_mod_right_extend_previous_entry_reflected. (a * gsp_value_extend_previous_entry) + p * gsp_mod_left_extend_previous_entry_reflected = ((2 * h) * gsp_magnitude_extend_previous_entry) + p * gsp_mod_right_extend_previous_entry_reflected))))))))) - 0073
specialize hprefix i - 0074
apply hprefix - 0075
exact hsplit_right - 0076
cases hold - 0077
cases hold_witness - 0078
cases hold_witness_witness - 0079
cases hold_witness_witness_witness - 0080
cases hold_witness_witness_witness_right - 0081
cases hold_witness_witness_witness_right_right - 0082
cases hold_witness_witness_witness_right_right_right - 0083
cases hold_witness_witness_witness_right_right_right_right - 0084
cases hold_witness_witness_witness_right_right_right_right_right - 0085
exists x7 - 0086
exists x8 - 0087
exists x9 - 0088
split - 0089
exact hold_witness_witness_witness_left - 0090
split - 0091
specialize hmag_extend_witness_witness_right i - 0092
specialize hmag_extend_witness_witness_right x8 - 0093
apply hmag_extend_witness_witness_right - 0094
exact hsplit_right - 0095
exact hold_witness_witness_witness_right_left - 0096
split - 0097
specialize hsign_extend_witness_witness_right i - 0098
specialize hsign_extend_witness_witness_right x9 - 0099
apply hsign_extend_witness_witness_right - 0100
exact hsplit_right - 0101
exact hold_witness_witness_witness_right_right_left - 0102
split - 0103
exact hold_witness_witness_witness_right_right_right_left - 0104
split - 0105
exact hold_witness_witness_witness_right_right_right_right_left - 0106
split - 0107
exact hold_witness_witness_witness_right_right_right_right_right_left - 0108
exact hold_witness_witness_witness_right_right_right_right_right_right