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 k b e s. exists z c. (((exists h. h + S s = S ((S k) * c)) /\ exists q. z = q * S ((S k) * c) + s) /\ forall i a. (exists h. h + S i = k) -> ((exists h. h + S a = S ((S i) * e)) /\ exists q. b = q * S ((S i) * e) + a) -> ((exists h. h + S a = S ((S i) * c)) /\ exists q. z = q * S ((S i) * c) + a))Structural proof guide
Rebase an arbitrary decoded prefix and append one exact natural value.
Direct prerequisites: bounded_common_multiple_exists, scaled_bounded_common_multiple, bounded_beta_exclusive_recode_invariant, le_refl, beta_modulus_nonzero, binary_crt_fold_step, new_value_lt_scaled_base, beta_value_lt_scaled_base, beta_at_of_mod_eq_bound. The authored body proceeds by case analysis (9), intermediate claims (10).
Proof neighborhood
Direct dependencies
BT004N bounded_common_multiple_exists BT0056 scaled_bounded_common_multiple BT005C bounded_beta_exclusive_recode_invariant BT000E le_refl BT003Y beta_modulus_nonzero BT004U binary_crt_fold_step BT0058 new_value_lt_scaled_base BT0057 beta_value_lt_scaled_base BT0045 beta_at_of_mod_eq_boundDirect dependents
BT005E beta_prefix_product_trace_exists BT005K beta_product_succ_append BT007V beta_repeat_succ_extend BT0085 beta_range_succ_extend BT0089 beta_prefix_sum_trace_exists BT00S0 prime_power_quotient_prefix_exists BT00SE eisenstein_initial_segment_prefix_extend BT00T2 beta_pascal_zero_row_extend BT00T4 beta_pascal_row_step_extend BT00T6 beta_pascal_table_prefix_extend BT00U7 primorial_factor_prefix_extend BT00UR primorial_interval_factor_prefix_extend BT00XW double_quotient_carry_prefix_extend BT00YP prime_contribution_prefix_extend BT010K prime_contribution_interval_prefix_extendFormal native tactic body
Dependencies are hypotheses of the historical Alpha-v12 body receipt. The complete historical Alpha-v18 proof bundle independently checks every dependency; current Alpha v25 preserves that checked theorem use without changing 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 (9)
01Fix variables and assumptionsL1–4
02Establish hCL5–7
03Separate the logical casesL8–9
04Establish hcm2L10–15
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply scaled bounded common multiple.
- L10
have hcm2 : forall t. (exists h. S t + S h = S k) -> exists q. x * S (b + s) = S t * q - L11
specialize scaled_bounded_common_multiple k - L12
specialize scaled_bounded_common_multiple x - L13
specialize scaled_bounded_common_multiple (S (b + s)) - L14
apply scaled_bounded_common_multiple - L15
exact hC_witness_right
05Establish hallL16–22
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply bounded beta exclusive recode invariant.
- L16
have hall : forall n. (exists h. h + n = k) -> exists P z. (~(P = 0) /\ ((forall i. (exists h. h + S i = n) -> exists q. P = S ((S i) * (x * S (b + s))) * q) /\ ((forall i a. (exists h. h + S i = n) -> ((exists h. h + S a = S ((S i) * e)) /\ exists q. b = q * S ((S i) * e) + a) -> exists u v. z + S ((S i) * (x * S (b + s))) * u = a + S ((S i) * (x * S (b + s))) * v) /\ forall j. (exists g. g + n = j) -> (exists h. h + j = k) -> forall d. (exists u. P = d * u) -> (exists v. S ((S j) * (x * S (b + s))) = d * v) -> d = 1))) - L17
specialize bounded_beta_exclusive_recode_invariant k - L18
specialize bounded_beta_exclusive_recode_invariant (x * S (b + s)) - L19
specialize bounded_beta_exclusive_recode_invariant b - L20
specialize bounded_beta_exclusive_recode_invariant e - L21
apply bounded_beta_exclusive_recode_invariant - L22
exact hcm2
06Establish hinvL23–27
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hall.
- L23
have hinv : exists P z. (~(P = 0) /\ ((forall i. (exists h. h + S i = k) -> exists q. P = S ((S i) * (x * S (b + s))) * q) /\ ((forall i a. (exists h. h + S i = k) -> ((exists h. h + S a = S ((S i) * e)) /\ exists q. b = q * S ((S i) * e) + a) -> exists u v. z + S ((S i) * (x * S (b + s))) * u = a + S ((S i) * (x * S (b + s))) * v) /\ forall j. (exists g. g + k = j) -> (exists h. h + j = k) -> forall d. (exists u. P = d * u) -> (exists v. S ((S j) * (x * S (b + s))) = d * v) -> d = 1))) - L24
specialize hall k - L25
apply hall - L26
specialize le_refl k - L27
exact le_refl
07Separate the logical casesL28–32
08Establish hcopL33–39
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hinv witness witness right right right.
09Establish hnew0L40–43
10Establish hfoldL44–52
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply binary crt fold step.
- L44
have hfold : exists z2. ((forall m a. (exists q. x1 = m * q) -> (exists u v. x2 + m * u = a + m * v) -> exists r t. z2 + m * r = a + m * t) /\ exists q r. z2 + S ((S k) * (x * S (b + s))) * q = s + S ((S k) * (x * S (b + s))) * r) - L45
specialize binary_crt_fold_step x1 - L46
specialize binary_crt_fold_step (S ((S k) * (x * S (b + s)))) - L47
specialize binary_crt_fold_step x2 - L48
specialize binary_crt_fold_step s - L49
apply binary_crt_fold_step - L50
exact hinv_witness_witness_left - L51
exact hnew0 - L52
exact hcop
11Separate the logical casesL53–54
12Construct an explicit witnessL55–56
13Separate the logical casesL57–57
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L57
split
14Use earlier factsL58–67
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L58
specialize beta_at_of_mod_eq_bound x3 - L59
specialize beta_at_of_mod_eq_bound (x * S (b + s)) - L60
specialize beta_at_of_mod_eq_bound k - L61
specialize beta_at_of_mod_eq_bound s - L62
apply beta_at_of_mod_eq_bound - L63
specialize new_value_lt_scaled_base b - L64
specialize new_value_lt_scaled_base s - L65
specialize new_value_lt_scaled_base x - L66
specialize new_value_lt_scaled_base k - L67
apply new_value_lt_scaled_base
15Use earlier factsL68–69
16Fix variables and assumptionsL70–73
17Establish hmiL74–77
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hinv witness witness right left.
18Establish hzoldL78–83
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hinv witness witness right right left.
19Establish hznewL84–93
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hfold witness left.
- L84
have hznew : exists u v. x3 + S ((S i) * (x * S (b + s))) * u = a + S ((S i) * (x * S (b + s))) * v - L85
specialize hfold_witness_left (S ((S i) * (x * S (b + s)))) - L86
specialize hfold_witness_left a - L87
apply hfold_witness_left - L88
exact hmi - L89
exact hzold - L90
specialize beta_at_of_mod_eq_bound x3 - L91
specialize beta_at_of_mod_eq_bound (x * S (b + s)) - L92
specialize beta_at_of_mod_eq_bound i - L93
specialize beta_at_of_mod_eq_bound a
20Use earlier factsL94–103
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L94
apply beta_at_of_mod_eq_bound - L95
specialize beta_value_lt_scaled_base b - L96
specialize beta_value_lt_scaled_base e - L97
specialize beta_value_lt_scaled_base i - L98
specialize beta_value_lt_scaled_base a - L99
specialize beta_value_lt_scaled_base x - L100
specialize beta_value_lt_scaled_base s - L101
specialize beta_value_lt_scaled_base i - L102
apply beta_value_lt_scaled_base - L103
exact hati
Original exact command ledger · 105 lines
- 0001
intro k - 0002
intro b - 0003
intro e - 0004
intro s - 0005
have hC : exists C. (~(C = 0) /\ forall t. (exists h. S t + S h = S k) -> exists q. C = S t * q) - 0006
specialize bounded_common_multiple_exists k - 0007
exact bounded_common_multiple_exists - 0008
cases hC - 0009
cases hC_witness - 0010
have hcm2 : forall t. (exists h. S t + S h = S k) -> exists q. x * S (b + s) = S t * q - 0011
specialize scaled_bounded_common_multiple k - 0012
specialize scaled_bounded_common_multiple x - 0013
specialize scaled_bounded_common_multiple (S (b + s)) - 0014
apply scaled_bounded_common_multiple - 0015
exact hC_witness_right - 0016
have hall : forall n. (exists h. h + n = k) -> exists P z. (~(P = 0) /\ ((forall i. (exists h. h + S i = n) -> exists q. P = S ((S i) * (x * S (b + s))) * q) /\ ((forall i a. (exists h. h + S i = n) -> ((exists h. h + S a = S ((S i) * e)) /\ exists q. b = q * S ((S i) * e) + a) -> exists u v. z + S ((S i) * (x * S (b + s))) * u = a + S ((S i) * (x * S (b + s))) * v) /\ forall j. (exists g. g + n = j) -> (exists h. h + j = k) -> forall d. (exists u. P = d * u) -> (exists v. S ((S j) * (x * S (b + s))) = d * v) -> d = 1))) - 0017
specialize bounded_beta_exclusive_recode_invariant k - 0018
specialize bounded_beta_exclusive_recode_invariant (x * S (b + s)) - 0019
specialize bounded_beta_exclusive_recode_invariant b - 0020
specialize bounded_beta_exclusive_recode_invariant e - 0021
apply bounded_beta_exclusive_recode_invariant - 0022
exact hcm2 - 0023
have hinv : exists P z. (~(P = 0) /\ ((forall i. (exists h. h + S i = k) -> exists q. P = S ((S i) * (x * S (b + s))) * q) /\ ((forall i a. (exists h. h + S i = k) -> ((exists h. h + S a = S ((S i) * e)) /\ exists q. b = q * S ((S i) * e) + a) -> exists u v. z + S ((S i) * (x * S (b + s))) * u = a + S ((S i) * (x * S (b + s))) * v) /\ forall j. (exists g. g + k = j) -> (exists h. h + j = k) -> forall d. (exists u. P = d * u) -> (exists v. S ((S j) * (x * S (b + s))) = d * v) -> d = 1))) - 0024
specialize hall k - 0025
apply hall - 0026
specialize le_refl k - 0027
exact le_refl - 0028
cases hinv - 0029
cases hinv_witness - 0030
cases hinv_witness_witness - 0031
cases hinv_witness_witness_right - 0032
cases hinv_witness_witness_right_right - 0033
have hcop : forall d. (exists u. x1 = d * u) -> (exists v. S ((S k) * (x * S (b + s))) = d * v) -> d = 1 - 0034
specialize hinv_witness_witness_right_right_right k - 0035
apply hinv_witness_witness_right_right_right - 0036
specialize le_refl k - 0037
exact le_refl - 0038
specialize le_refl k - 0039
exact le_refl - 0040
have hnew0 : ~(S ((S k) * (x * S (b + s))) = 0) - 0041
specialize beta_modulus_nonzero (x * S (b + s)) - 0042
specialize beta_modulus_nonzero k - 0043
exact beta_modulus_nonzero - 0044
have hfold : exists z2. ((forall m a. (exists q. x1 = m * q) -> (exists u v. x2 + m * u = a + m * v) -> exists r t. z2 + m * r = a + m * t) /\ exists q r. z2 + S ((S k) * (x * S (b + s))) * q = s + S ((S k) * (x * S (b + s))) * r) - 0045
specialize binary_crt_fold_step x1 - 0046
specialize binary_crt_fold_step (S ((S k) * (x * S (b + s)))) - 0047
specialize binary_crt_fold_step x2 - 0048
specialize binary_crt_fold_step s - 0049
apply binary_crt_fold_step - 0050
exact hinv_witness_witness_left - 0051
exact hnew0 - 0052
exact hcop - 0053
cases hfold - 0054
cases hfold_witness - 0055
exists x3 - 0056
exists x * S (b + s) - 0057
split - 0058
specialize beta_at_of_mod_eq_bound x3 - 0059
specialize beta_at_of_mod_eq_bound (x * S (b + s)) - 0060
specialize beta_at_of_mod_eq_bound k - 0061
specialize beta_at_of_mod_eq_bound s - 0062
apply beta_at_of_mod_eq_bound - 0063
specialize new_value_lt_scaled_base b - 0064
specialize new_value_lt_scaled_base s - 0065
specialize new_value_lt_scaled_base x - 0066
specialize new_value_lt_scaled_base k - 0067
apply new_value_lt_scaled_base - 0068
exact hC_witness_left - 0069
exact hfold_witness_right - 0070
intro i - 0071
intro a - 0072
intro hi - 0073
intro hati - 0074
have hmi : exists q. x1 = S ((S i) * (x * S (b + s))) * q - 0075
specialize hinv_witness_witness_right_left i - 0076
apply hinv_witness_witness_right_left - 0077
exact hi - 0078
have hzold : exists u v. x2 + S ((S i) * (x * S (b + s))) * u = a + S ((S i) * (x * S (b + s))) * v - 0079
specialize hinv_witness_witness_right_right_left i - 0080
specialize hinv_witness_witness_right_right_left a - 0081
apply hinv_witness_witness_right_right_left - 0082
exact hi - 0083
exact hati - 0084
have hznew : exists u v. x3 + S ((S i) * (x * S (b + s))) * u = a + S ((S i) * (x * S (b + s))) * v - 0085
specialize hfold_witness_left (S ((S i) * (x * S (b + s)))) - 0086
specialize hfold_witness_left a - 0087
apply hfold_witness_left - 0088
exact hmi - 0089
exact hzold - 0090
specialize beta_at_of_mod_eq_bound x3 - 0091
specialize beta_at_of_mod_eq_bound (x * S (b + s)) - 0092
specialize beta_at_of_mod_eq_bound i - 0093
specialize beta_at_of_mod_eq_bound a - 0094
apply beta_at_of_mod_eq_bound - 0095
specialize beta_value_lt_scaled_base b - 0096
specialize beta_value_lt_scaled_base e - 0097
specialize beta_value_lt_scaled_base i - 0098
specialize beta_value_lt_scaled_base a - 0099
specialize beta_value_lt_scaled_base x - 0100
specialize beta_value_lt_scaled_base s - 0101
specialize beta_value_lt_scaled_base i - 0102
apply beta_value_lt_scaled_base - 0103
exact hati - 0104
exact hC_witness_left - 0105
exact hznew