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.
The carry relation contains actual quotient columns and carry bits, not the desired valuation. The theorem includes all finite lists and zero parts. It uses sequential binary-column carries; a separate simultaneous-grid or permutation-invariance theorem is not asserted.
Exact theorem in conservative defined notation
∀ p. ∀ b. ∀ c. ∀ vb. ∀ vc. ∀ l. ∀ z. ∀ e. ∀ g. Prime(p) → (∀ x. ∀ y. Lt(x,l) → BetaAt(b,c,x,y) → ¬y = 0) → BetaValuationPrefix(p,b,c,vb,vc,l) → Product(b,c,l,z) → Sum(vb,vc,l,e) → BoundedPowerValuation(p,z,z,g) → g = e
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 150 original proof lines are preserved. Only local proposition formulas are abbreviated; every abbreviation has an exact binder-safe expansion check. The linked exact edition contains the unchanged replay script.
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–5
02Induction on lL6–15
03Establish hezeroL16–25
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta sum zero.
- L16
have hezero : e = 0 - L17
specialize beta_sum_zero vb - L18
specialize beta_sum_zero vc - L19
specialize beta_sum_zero e - L20
apply beta_sum_zero - L21
exact hsum - L22
rewrite hezero - L23
specialize prime_power_valuation_one_zero p - L24
specialize prime_power_valuation_one_zero z - L25
specialize prime_power_valuation_one_zero g
04Use earlier factsL26–33
05Fix variables and assumptionsL34–42
06Establish hprodpartL43–49
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta product succ decompose.
- L43
have hprodpart : ∃ a. ∃ w. BetaAt(b,c,l,a) ∧ (Product(b,c,l,w) ∧ z = w · a)Definitions: BetaAt(b,c,l,a)Product(b,c,l,w)Original native command in the exact edition - L44
specialize beta_product_succ_decompose b - L45
specialize beta_product_succ_decompose c - L46
specialize beta_product_succ_decompose l - L47
specialize beta_product_succ_decompose z - L48
apply beta_product_succ_decompose - L49
exact hprod
07Separate the logical casesL50–53
08Establish hsumpartL54–60
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta sum succ decompose.
- L54
have hsumpart : ∃ v. ∃ E. BetaAt(vb,vc,l,v) ∧ (Sum(vb,vc,l,E) ∧ e = E + v)Definitions: BetaAt(vb,vc,l,v)Sum(vb,vc,l,E)Original native command in the exact edition - L55
specialize beta_sum_succ_decompose vb - L56
specialize beta_sum_succ_decompose vc - L57
specialize beta_sum_succ_decompose l - L58
specialize beta_sum_succ_decompose e - L59
apply beta_sum_succ_decompose - L60
exact hsum
09Separate the logical casesL61–64
10Establish hnprevL65–70
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply crt positive moduli prefix drop last.
- L65
have hnprev : ∀ gcrt_positive_index_mkm_product_previous_nonzero. ∀ gcrt_positive_value_mkm_product_previous_nonzero. Lt(gcrt_positive_index_mkm_product_previous_nonzero,l) → BetaAt(b,c,gcrt_positive_index_mkm_product_previous_nonzero,gcrt_positive_value_mkm_product_previous_nonzero) → ¬gcrt_positive_value_mkm_product_previous_nonzero = 0Definitions: Lt(gcrt_positive_index_mkm_product_previous_nonzero,l)BetaAt(b,c,gcrt_positive_index_mkm_product_previous_nonzero,gcrt_positive_value_mkm_product_previous_nonzero)Original native command in the exact edition - L66
specialize crt_positive_moduli_prefix_drop_last b - L67
specialize crt_positive_moduli_prefix_drop_last c - L68
specialize crt_positive_moduli_prefix_drop_last l - L69
apply crt_positive_moduli_prefix_drop_last - L70
exact hn
11Establish hvprevL71–79
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta valuation prefix drop last.
- L71
have hvprev : BetaValuationPrefix(p,b,c,vb,vc,l)Definitions: BetaValuationPrefix(p,b,c,vb,vc,l)Original native command in the exact edition - L72
specialize beta_valuation_prefix_drop_last p - L73
specialize beta_valuation_prefix_drop_last b - L74
specialize beta_valuation_prefix_drop_last c - L75
specialize beta_valuation_prefix_drop_last vb - L76
specialize beta_valuation_prefix_drop_last vc - L77
specialize beta_valuation_prefix_drop_last l - L78
apply beta_valuation_prefix_drop_last - L79
exact hv
12Establish hpreviousL80–83
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply power valuation exists.
- L80
have hprevious : ∃ v. BoundedPowerValuation(p,x1,x1,v)Definitions: BoundedPowerValuation(p,x1,x1,v)Original native command in the exact edition - L81
specialize power_valuation_exists p - L82
specialize power_valuation_exists x1 - L83
apply power_valuation_exists
13Separate the logical casesL84–84
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L84
cases hprevious
14Establish hprevious_valueL85–94
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply IH.
15Use earlier factsL95–95
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L95
exact hprevious_witness
16Calculate and transport equalitiesL96–101
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
17Establish hlastL102–111
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta valuation prefix last.
- L102
have hlast : BoundedPowerValuation(p,x,x,x2)Definitions: BoundedPowerValuation(p,x,x,x2)Original native command in the exact edition - L103
specialize beta_valuation_prefix_last p - L104
specialize beta_valuation_prefix_last b - L105
specialize beta_valuation_prefix_last c - L106
specialize beta_valuation_prefix_last vb - L107
specialize beta_valuation_prefix_last vc - L108
specialize beta_valuation_prefix_last l - L109
specialize beta_valuation_prefix_last x - L110
specialize beta_valuation_prefix_last x2 - L111
apply beta_valuation_prefix_last
18Use earlier factsL112–114
19Calculate and transport equalitiesL115–119
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
20Use earlier factsL120–127
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L120
specialize prime_power_valuation_mul p - L121
specialize prime_power_valuation_mul x1 - L122
specialize prime_power_valuation_mul x - L123
specialize prime_power_valuation_mul x3 - L124
specialize prime_power_valuation_mul x2 - L125
specialize prime_power_valuation_mul g - L126
apply prime_power_valuation_mul - L127
exact hp
21Fix variables and assumptionsL128–128
Work with arbitrary variables or the premises of the current implication.
- L128
intro hzero
22Use earlier factsL129–136
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L129
specialize crt_positive_moduli_prefix_product_nonzero b - L130
specialize crt_positive_moduli_prefix_product_nonzero c - L131
specialize crt_positive_moduli_prefix_product_nonzero l - L132
specialize crt_positive_moduli_prefix_product_nonzero x1 - L133
apply crt_positive_moduli_prefix_product_nonzero - L134
exact hnprev - L135
exact hprodpart_witness_witness_right_left - L136
exact hzero
23Fix variables and assumptionsL137–137
Work with arbitrary variables or the premises of the current implication.
- L137
intro hzero
24Use earlier factsL138–147
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L138
specialize crt_positive_moduli_prefix_last_nonzero b - L139
specialize crt_positive_moduli_prefix_last_nonzero c - L140
specialize crt_positive_moduli_prefix_last_nonzero l - L141
specialize crt_positive_moduli_prefix_last_nonzero x - L142
apply crt_positive_moduli_prefix_last_nonzero - L143
exact hn - L144
exact hprodpart_witness_witness_left - L145
exact hzero - L146
exact hprevious_witness - L147
exact hlast
25Use earlier factsL148–148
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L148
exact hg
26Calculate and transport equalitiesL149–149
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L149
symm
27Use earlier factsL150–150
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L150
exact hsumpart_witness_witness_right_right
Original defined command ledger · 150 lines
- 0001
intro p - 0002
intro b - 0003
intro c - 0004
intro vb - 0005
intro vc - 0006
induction l - 0007
intro z - 0008
intro e - 0009
intro g - 0010
intro hp - 0011
intro hn - 0012
intro hv - 0013
intro hprod - 0014
intro hsum - 0015
intro hg - 0016
have hezero : e = 0 - 0017
specialize beta_sum_zero vb - 0018
specialize beta_sum_zero vc - 0019
specialize beta_sum_zero e - 0020
apply beta_sum_zero - 0021
exact hsum - 0022
rewrite hezero - 0023
specialize prime_power_valuation_one_zero p - 0024
specialize prime_power_valuation_one_zero z - 0025
specialize prime_power_valuation_one_zero g - 0026
apply prime_power_valuation_one_zero - 0027
specialize beta_product_zero b - 0028
specialize beta_product_zero c - 0029
specialize beta_product_zero z - 0030
apply beta_product_zero - 0031
exact hprod - 0032
exact hp - 0033
exact hg - 0034
intro z - 0035
intro e - 0036
intro g - 0037
intro hp - 0038
intro hn - 0039
intro hv - 0040
intro hprod - 0041
intro hsum - 0042
intro hg - 0043
have hprodpart : ∃ a. ∃ w. BetaAt(b,c,l,a) ∧ (Product(b,c,l,w) ∧ z = w · a) - 0044
specialize beta_product_succ_decompose b - 0045
specialize beta_product_succ_decompose c - 0046
specialize beta_product_succ_decompose l - 0047
specialize beta_product_succ_decompose z - 0048
apply beta_product_succ_decompose - 0049
exact hprod - 0050
cases hprodpart - 0051
cases hprodpart_witness - 0052
cases hprodpart_witness_witness - 0053
cases hprodpart_witness_witness_right - 0054
have hsumpart : ∃ v. ∃ E. BetaAt(vb,vc,l,v) ∧ (Sum(vb,vc,l,E) ∧ e = E + v) - 0055
specialize beta_sum_succ_decompose vb - 0056
specialize beta_sum_succ_decompose vc - 0057
specialize beta_sum_succ_decompose l - 0058
specialize beta_sum_succ_decompose e - 0059
apply beta_sum_succ_decompose - 0060
exact hsum - 0061
cases hsumpart - 0062
cases hsumpart_witness - 0063
cases hsumpart_witness_witness - 0064
cases hsumpart_witness_witness_right - 0065
have hnprev : ∀ gcrt_positive_index_mkm_product_previous_nonzero. ∀ gcrt_positive_value_mkm_product_previous_nonzero. Lt(gcrt_positive_index_mkm_product_previous_nonzero,l) → BetaAt(b,c,gcrt_positive_index_mkm_product_previous_nonzero,gcrt_positive_value_mkm_product_previous_nonzero) → ¬gcrt_positive_value_mkm_product_previous_nonzero = 0 - 0066
specialize crt_positive_moduli_prefix_drop_last b - 0067
specialize crt_positive_moduli_prefix_drop_last c - 0068
specialize crt_positive_moduli_prefix_drop_last l - 0069
apply crt_positive_moduli_prefix_drop_last - 0070
exact hn - 0071
have hvprev : BetaValuationPrefix(p,b,c,vb,vc,l) - 0072
specialize beta_valuation_prefix_drop_last p - 0073
specialize beta_valuation_prefix_drop_last b - 0074
specialize beta_valuation_prefix_drop_last c - 0075
specialize beta_valuation_prefix_drop_last vb - 0076
specialize beta_valuation_prefix_drop_last vc - 0077
specialize beta_valuation_prefix_drop_last l - 0078
apply beta_valuation_prefix_drop_last - 0079
exact hv - 0080
have hprevious : ∃ v. BoundedPowerValuation(p,x1,x1,v) - 0081
specialize power_valuation_exists p - 0082
specialize power_valuation_exists x1 - 0083
apply power_valuation_exists - 0084
cases hprevious - 0085
have hprevious_value : x4 = x3 - 0086
specialize IH x1 - 0087
specialize IH x3 - 0088
specialize IH x4 - 0089
apply IH - 0090
exact hp - 0091
exact hnprev - 0092
exact hvprev - 0093
exact hprodpart_witness_witness_right_left - 0094
exact hsumpart_witness_witness_right_left - 0095
exact hprevious_witness - 0096
rewrite hprevious_value at hprevious_witness - 0097
rewrite hprevious_value at hprevious_witness - 0098
rewrite hprevious_value at hprevious_witness - 0099
rewrite hprevious_value at hprevious_witness - 0100
rewrite hprevious_value at hprevious_witness - 0101
rewrite hprevious_value at hprevious_witness - 0102
have hlast : BoundedPowerValuation(p,x,x,x2) - 0103
specialize beta_valuation_prefix_last p - 0104
specialize beta_valuation_prefix_last b - 0105
specialize beta_valuation_prefix_last c - 0106
specialize beta_valuation_prefix_last vb - 0107
specialize beta_valuation_prefix_last vc - 0108
specialize beta_valuation_prefix_last l - 0109
specialize beta_valuation_prefix_last x - 0110
specialize beta_valuation_prefix_last x2 - 0111
apply beta_valuation_prefix_last - 0112
exact hv - 0113
exact hprodpart_witness_witness_left - 0114
exact hsumpart_witness_witness_left - 0115
rewrite hprodpart_witness_witness_right_right at hg - 0116
rewrite hprodpart_witness_witness_right_right at hg - 0117
rewrite hprodpart_witness_witness_right_right at hg - 0118
rewrite hprodpart_witness_witness_right_right at hg - 0119
trans x3 + x2 - 0120
specialize prime_power_valuation_mul p - 0121
specialize prime_power_valuation_mul x1 - 0122
specialize prime_power_valuation_mul x - 0123
specialize prime_power_valuation_mul x3 - 0124
specialize prime_power_valuation_mul x2 - 0125
specialize prime_power_valuation_mul g - 0126
apply prime_power_valuation_mul - 0127
exact hp - 0128
intro hzero - 0129
specialize crt_positive_moduli_prefix_product_nonzero b - 0130
specialize crt_positive_moduli_prefix_product_nonzero c - 0131
specialize crt_positive_moduli_prefix_product_nonzero l - 0132
specialize crt_positive_moduli_prefix_product_nonzero x1 - 0133
apply crt_positive_moduli_prefix_product_nonzero - 0134
exact hnprev - 0135
exact hprodpart_witness_witness_right_left - 0136
exact hzero - 0137
intro hzero - 0138
specialize crt_positive_moduli_prefix_last_nonzero b - 0139
specialize crt_positive_moduli_prefix_last_nonzero c - 0140
specialize crt_positive_moduli_prefix_last_nonzero l - 0141
specialize crt_positive_moduli_prefix_last_nonzero x - 0142
apply crt_positive_moduli_prefix_last_nonzero - 0143
exact hn - 0144
exact hprodpart_witness_witness_left - 0145
exact hzero - 0146
exact hprevious_witness - 0147
exact hlast - 0148
exact hg - 0149
symm - 0150
exact hsumpart_witness_witness_right_right