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.
This is a shared constructive tool, not an additional major blueprint goal. The list covers every prime divisor, has no repeated primes, and contains actual prime-power values. One uses the empty support; zero is excluded.
Exact theorem in conservative defined notation
∀ n. ∀ u. ∀ p. ∀ k. ∀ P. ∀ pb. ∀ pc. ∀ eb. ∀ ec. ∀ vb. ∀ vc. ∀ l. ¬n = 0 → Prime(p) → ¬k = 0 → BoundedPowerValuation(p,n,n,k) → Pow(p,k,P) → ¬Dvd(p,u) → n = P · u → PrimeValuationSupport(u,pb,pc,eb,ec,vb,vc,l) → ∃ x. ∃ y. ∃ z. ∃ m. ∃ i. ∃ j. PrimeValuationSupport(n,x,y,z,m,i,j,S l)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 262 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 (5)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–20
03Separate the logical casesL21–24
04Establish hprimecodeL25–30
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta prefix extend.
- L25
have hprimecode : ∃ a. ∃ b. BetaAt(a,b,l,p) ∧ (∀ x. ∀ y. Lt(x,l) → BetaAt(pb,pc,x,y) → BetaAt(a,b,x,y))Definitions: BetaAt(a,b,l,p)Lt(x,l)BetaAt(pb,pc,x,y)BetaAt(a,b,x,y)Original native command in the exact edition - L26
specialize beta_prefix_extend (l) - L27
specialize beta_prefix_extend (pb) - L28
specialize beta_prefix_extend (pc) - L29
specialize beta_prefix_extend (p) - L30
apply beta_prefix_extend
05Separate the logical casesL31–33
06Establish hexpcodeL34–39
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta prefix extend.
- L34
have hexpcode : ∃ a. ∃ b. BetaAt(a,b,l,k) ∧ (∀ x. ∀ y. Lt(x,l) → BetaAt(eb,ec,x,y) → BetaAt(a,b,x,y))Definitions: BetaAt(a,b,l,k)Lt(x,l)BetaAt(eb,ec,x,y)BetaAt(a,b,x,y)Original native command in the exact edition - L35
specialize beta_prefix_extend (l) - L36
specialize beta_prefix_extend (eb) - L37
specialize beta_prefix_extend (ec) - L38
specialize beta_prefix_extend (k) - L39
apply beta_prefix_extend
07Separate the logical casesL40–42
08Establish hpowercodeL43–50
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta factor prefix product append.
- L43
have hpowercode : ∃ a. ∃ b. BetaAt(a,b,l,P) ∧ ((∀ x. ∀ y. Lt(x,l) → BetaAt(vb,vc,x,y) → BetaAt(a,b,x,y)) ∧ Product(a,b,S l,u · P))Definitions: BetaAt(a,b,l,P)Lt(x,l)BetaAt(vb,vc,x,y)BetaAt(a,b,x,y)Product(a,b,S l,u · P)Original native command in the exact edition - L44
specialize beta_factor_prefix_product_append (vb) - L45
specialize beta_factor_prefix_product_append (vc) - L46
specialize beta_factor_prefix_product_append (l) - L47
specialize beta_factor_prefix_product_append (u) - L48
specialize beta_factor_prefix_product_append (P) - L49
apply beta_factor_prefix_product_append - L50
exact hsupport_right_right_right_right
09Separate the logical casesL51–54
10Establish hrestoredL55–64
Establish this local claim before using it. It is not an additional assumption.
- L55
have hrestored : PrimeExponentEntries(n,pb,pc,eb,ec,vb,vc,l)Definitions: PrimeExponentEntries(n,pb,pc,eb,ec,vb,vc,l)Original native command in the exact edition - L56
specialize prime_exponent_entries_restore_prime_power (n) - L57
specialize prime_exponent_entries_restore_prime_power (u) - L58
specialize prime_exponent_entries_restore_prime_power (p) - L59
specialize prime_exponent_entries_restore_prime_power (k) - L60
specialize prime_exponent_entries_restore_prime_power (P) - L61
specialize prime_exponent_entries_restore_prime_power (pb) - L62
specialize prime_exponent_entries_restore_prime_power (pc) - L63
specialize prime_exponent_entries_restore_prime_power (eb) - L64
specialize prime_exponent_entries_restore_prime_power (ec)
11Use earlier factsL65–74
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L65
specialize prime_exponent_entries_restore_prime_power (vb) - L66
specialize prime_exponent_entries_restore_prime_power (vc) - L67
specialize prime_exponent_entries_restore_prime_power (l) - L68
apply prime_exponent_entries_restore_prime_power - L69
exact hp - L70
exact hsupport_left - L71
exact heq - L72
exact hpow - L73
exact hfresh - L74
exact hsupport_right_right_left
12Establish hnewentriesL75–84
Establish this local claim before using it. It is not an additional assumption.
- L75
have hnewentries : PrimeExponentEntries(n,x,x1,x2,x3,x4,x5,l)Definitions: PrimeExponentEntries(n,x,x1,x2,x3,x4,x5,l)Original native command in the exact edition - L76
specialize prime_exponent_entries_recode (n) - L77
specialize prime_exponent_entries_recode (pb) - L78
specialize prime_exponent_entries_recode (pc) - L79
specialize prime_exponent_entries_recode (eb) - L80
specialize prime_exponent_entries_recode (ec) - L81
specialize prime_exponent_entries_recode (vb) - L82
specialize prime_exponent_entries_recode (vc) - L83
specialize prime_exponent_entries_recode (l) - L84
specialize prime_exponent_entries_recode (x)
13Use earlier factsL85–94
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L85
specialize prime_exponent_entries_recode (x1) - L86
specialize prime_exponent_entries_recode (x2) - L87
specialize prime_exponent_entries_recode (x3) - L88
specialize prime_exponent_entries_recode (x4) - L89
specialize prime_exponent_entries_recode (x5) - L90
apply prime_exponent_entries_recode - L91
exact hrestored - L92
exact hprimecode_witness_witness_right - L93
exact hexpcode_witness_witness_right - L94
exact hpowercode_witness_witness_right_left
14Establish hinjectiveL95–104
Establish this local claim before using it. It is not an additional assumption.
15Use earlier factsL105–114
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L105
specialize hsupport_right_left (a) - L106
apply hsupport_right_left - L107
exact hi - L108
exact hj - L109
specialize factor_permutation_prefix_reflect (pb) - L110
specialize factor_permutation_prefix_reflect (pc) - L111
specialize factor_permutation_prefix_reflect (x) - L112
specialize factor_permutation_prefix_reflect (x1) - L113
specialize factor_permutation_prefix_reflect (l) - L114
specialize factor_permutation_prefix_reflect (i)
16Use earlier factsL115–124
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L115
specialize factor_permutation_prefix_reflect (a) - L116
apply factor_permutation_prefix_reflect - L117
exact hprimecode_witness_witness_right - L118
exact hi - L119
exact hfirst - L120
specialize factor_permutation_prefix_reflect (pb) - L121
specialize factor_permutation_prefix_reflect (pc) - L122
specialize factor_permutation_prefix_reflect (x) - L123
specialize factor_permutation_prefix_reflect (x1) - L124
specialize factor_permutation_prefix_reflect (l)
17Use earlier factsL125–130
Instantiate or apply named facts and discharge the corresponding proof obligations.
18Establish hnewfreshL131–132
Establish this local claim before using it. It is not an additional assumption.
- L131
have hnewfresh : ¬(∃ y. Lt(y,l) ∧ BetaAt(x,x1,y,p))Definitions: Lt(y,l)BetaAt(x,x1,y,p)Original native command in the exact edition - L132
intro hcontains
19Separate the logical casesL133–134
20Establish hdivL135–144
Establish this local claim before using it. It is not an additional assumption.
- L135
have hdiv : Prime(p) ∧ Dvd(p,u)Definitions: Prime(p)Dvd(p,u)Original native command in the exact edition - L136
specialize prime_exponent_entries_prime_divides (u) - L137
specialize prime_exponent_entries_prime_divides (pb) - L138
specialize prime_exponent_entries_prime_divides (pc) - L139
specialize prime_exponent_entries_prime_divides (eb) - L140
specialize prime_exponent_entries_prime_divides (ec) - L141
specialize prime_exponent_entries_prime_divides (vb) - L142
specialize prime_exponent_entries_prime_divides (vc) - L143
specialize prime_exponent_entries_prime_divides (l) - L144
specialize prime_exponent_entries_prime_divides (x6)
21Use earlier factsL145–154
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L145
specialize prime_exponent_entries_prime_divides (p) - L146
apply prime_exponent_entries_prime_divides - L147
exact hsupport_right_right_left - L148
exact hcontains_witness_left - L149
specialize factor_permutation_prefix_reflect (pb) - L150
specialize factor_permutation_prefix_reflect (pc) - L151
specialize factor_permutation_prefix_reflect (x) - L152
specialize factor_permutation_prefix_reflect (x1) - L153
specialize factor_permutation_prefix_reflect (l) - L154
specialize factor_permutation_prefix_reflect (x6)
22Use earlier factsL155–159
23Separate the logical casesL160–160
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L160
cases hdiv
24Use earlier factsL161–162
25Construct an explicit witnessL163–168
26Separate the logical casesL169–169
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L169
split
27Use earlier factsL170–170
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L170
exact hn
28Separate the logical casesL171–171
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L171
split
29Use earlier factsL172–179
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L172
specialize finite_prefix_injective_extend_fresh (x) - L173
specialize finite_prefix_injective_extend_fresh (x1) - L174
specialize finite_prefix_injective_extend_fresh (l) - L175
specialize finite_prefix_injective_extend_fresh (p) - L176
apply finite_prefix_injective_extend_fresh - L177
exact hinjective - L178
exact hprimecode_witness_witness_left - L179
exact hnewfresh
30Separate the logical casesL180–180
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L180
split
31Use earlier factsL181–190
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L181
specialize prime_exponent_entries_append (n) - L182
specialize prime_exponent_entries_append (x) - L183
specialize prime_exponent_entries_append (x1) - L184
specialize prime_exponent_entries_append (x2) - L185
specialize prime_exponent_entries_append (x3) - L186
specialize prime_exponent_entries_append (x4) - L187
specialize prime_exponent_entries_append (x5) - L188
specialize prime_exponent_entries_append (l) - L189
specialize prime_exponent_entries_append (p) - L190
specialize prime_exponent_entries_append (k)
32Use earlier factsL191–193
33Separate the logical casesL194–194
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L194
split
34Use earlier factsL195–195
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L195
exact hprimecode_witness_witness_left
35Separate the logical casesL196–196
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L196
split
36Use earlier factsL197–197
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L197
exact hexpcode_witness_witness_left
37Separate the logical casesL198–198
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L198
split
38Use earlier factsL199–199
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L199
exact hpowercode_witness_witness_left
39Separate the logical casesL200–200
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L200
split
40Use earlier factsL201–201
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L201
exact hp
41Separate the logical casesL202–202
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L202
split
42Use earlier factsL203–203
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L203
exact hk
43Separate the logical casesL204–204
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L204
split
44Use earlier factsL205–206
45Separate the logical casesL207–207
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L207
split
46Fix variables and assumptionsL208–210
47Calculate and transport equalitiesL211–211
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L211
rewrite heq at hdiv
48Establish hcaseL212–218
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply euclid prime dvd product.
49Separate the logical casesL219–219
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L219
cases hcase
50Establish hqeqL220–229
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime divisor of prime power.
- L220
have hqeq : q = p - L221
specialize prime_divisor_of_prime_power (p) - L222
specialize prime_divisor_of_prime_power (q) - L223
specialize prime_divisor_of_prime_power (k) - L224
specialize prime_divisor_of_prime_power (P) - L225
apply prime_divisor_of_prime_power - L226
exact hp - L227
exact hq - L228
exact hpow - L229
exact hcase_left
51Construct an explicit witnessL230–230
Supply the displayed value, then prove that it has the required property.
- L230
exists l
52Separate the logical casesL231–231
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L231
split
53Use earlier factsL232–233
54Calculate and transport equalitiesL234–235
55Use earlier factsL236–236
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L236
exact hprimecode_witness_witness_left
56Establish hmemberL237–241
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hsupport right right right left.
- L237
have hmember : ∃ i. Lt(i,l) ∧ BetaAt(pb,pc,i,q)Definitions: Lt(i,l)BetaAt(pb,pc,i,q)Original native command in the exact edition - L238
specialize hsupport_right_right_right_left (q) - L239
apply hsupport_right_right_right_left - L240
exact hq - L241
exact hcase_right
57Separate the logical casesL242–243
58Construct an explicit witnessL244–244
Supply the displayed value, then prove that it has the required property.
- L244
exists x6
59Separate the logical casesL245–245
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L245
split
60Use earlier factsL246–254
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L246
specialize le_succ (S x6) - L247
specialize le_succ (l) - L248
apply le_succ - L249
exact hmember_witness_left - L250
specialize hprimecode_witness_witness_right (x6) - L251
specialize hprimecode_witness_witness_right (q) - L252
apply hprimecode_witness_witness_right - L253
exact hmember_witness_left - L254
exact hmember_witness_right
61Establish hproducteqL255–262
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mul comm.
Original defined command ledger · 262 lines
- 0001
intro n - 0002
intro u - 0003
intro p - 0004
intro k - 0005
intro P - 0006
intro pb - 0007
intro pc - 0008
intro eb - 0009
intro ec - 0010
intro vb - 0011
intro vc - 0012
intro l - 0013
intro hn - 0014
intro hp - 0015
intro hk - 0016
intro hval - 0017
intro hpow - 0018
intro hfresh - 0019
intro heq - 0020
intro hsupport - 0021
cases hsupport - 0022
cases hsupport_right - 0023
cases hsupport_right_right - 0024
cases hsupport_right_right_right - 0025
have hprimecode : ∃ a. ∃ b. BetaAt(a,b,l,p) ∧ (∀ x. ∀ y. Lt(x,l) → BetaAt(pb,pc,x,y) → BetaAt(a,b,x,y)) - 0026
specialize beta_prefix_extend (l) - 0027
specialize beta_prefix_extend (pb) - 0028
specialize beta_prefix_extend (pc) - 0029
specialize beta_prefix_extend (p) - 0030
apply beta_prefix_extend - 0031
cases hprimecode - 0032
cases hprimecode_witness - 0033
cases hprimecode_witness_witness - 0034
have hexpcode : ∃ a. ∃ b. BetaAt(a,b,l,k) ∧ (∀ x. ∀ y. Lt(x,l) → BetaAt(eb,ec,x,y) → BetaAt(a,b,x,y)) - 0035
specialize beta_prefix_extend (l) - 0036
specialize beta_prefix_extend (eb) - 0037
specialize beta_prefix_extend (ec) - 0038
specialize beta_prefix_extend (k) - 0039
apply beta_prefix_extend - 0040
cases hexpcode - 0041
cases hexpcode_witness - 0042
cases hexpcode_witness_witness - 0043
have hpowercode : ∃ a. ∃ b. BetaAt(a,b,l,P) ∧ ((∀ x. ∀ y. Lt(x,l) → BetaAt(vb,vc,x,y) → BetaAt(a,b,x,y)) ∧ Product(a,b,S l,u · P)) - 0044
specialize beta_factor_prefix_product_append (vb) - 0045
specialize beta_factor_prefix_product_append (vc) - 0046
specialize beta_factor_prefix_product_append (l) - 0047
specialize beta_factor_prefix_product_append (u) - 0048
specialize beta_factor_prefix_product_append (P) - 0049
apply beta_factor_prefix_product_append - 0050
exact hsupport_right_right_right_right - 0051
cases hpowercode - 0052
cases hpowercode_witness - 0053
cases hpowercode_witness_witness - 0054
cases hpowercode_witness_witness_right - 0055
have hrestored : PrimeExponentEntries(n,pb,pc,eb,ec,vb,vc,l) - 0056
specialize prime_exponent_entries_restore_prime_power (n) - 0057
specialize prime_exponent_entries_restore_prime_power (u) - 0058
specialize prime_exponent_entries_restore_prime_power (p) - 0059
specialize prime_exponent_entries_restore_prime_power (k) - 0060
specialize prime_exponent_entries_restore_prime_power (P) - 0061
specialize prime_exponent_entries_restore_prime_power (pb) - 0062
specialize prime_exponent_entries_restore_prime_power (pc) - 0063
specialize prime_exponent_entries_restore_prime_power (eb) - 0064
specialize prime_exponent_entries_restore_prime_power (ec) - 0065
specialize prime_exponent_entries_restore_prime_power (vb) - 0066
specialize prime_exponent_entries_restore_prime_power (vc) - 0067
specialize prime_exponent_entries_restore_prime_power (l) - 0068
apply prime_exponent_entries_restore_prime_power - 0069
exact hp - 0070
exact hsupport_left - 0071
exact heq - 0072
exact hpow - 0073
exact hfresh - 0074
exact hsupport_right_right_left - 0075
have hnewentries : PrimeExponentEntries(n,x,x1,x2,x3,x4,x5,l) - 0076
specialize prime_exponent_entries_recode (n) - 0077
specialize prime_exponent_entries_recode (pb) - 0078
specialize prime_exponent_entries_recode (pc) - 0079
specialize prime_exponent_entries_recode (eb) - 0080
specialize prime_exponent_entries_recode (ec) - 0081
specialize prime_exponent_entries_recode (vb) - 0082
specialize prime_exponent_entries_recode (vc) - 0083
specialize prime_exponent_entries_recode (l) - 0084
specialize prime_exponent_entries_recode (x) - 0085
specialize prime_exponent_entries_recode (x1) - 0086
specialize prime_exponent_entries_recode (x2) - 0087
specialize prime_exponent_entries_recode (x3) - 0088
specialize prime_exponent_entries_recode (x4) - 0089
specialize prime_exponent_entries_recode (x5) - 0090
apply prime_exponent_entries_recode - 0091
exact hrestored - 0092
exact hprimecode_witness_witness_right - 0093
exact hexpcode_witness_witness_right - 0094
exact hpowercode_witness_witness_right_left - 0095
have hinjective : InjectivePrefix(x,x1,l) - 0096
intro i - 0097
intro j - 0098
intro a - 0099
intro hi - 0100
intro hj - 0101
intro hfirst - 0102
intro hsecond - 0103
specialize hsupport_right_left (i) - 0104
specialize hsupport_right_left (j) - 0105
specialize hsupport_right_left (a) - 0106
apply hsupport_right_left - 0107
exact hi - 0108
exact hj - 0109
specialize factor_permutation_prefix_reflect (pb) - 0110
specialize factor_permutation_prefix_reflect (pc) - 0111
specialize factor_permutation_prefix_reflect (x) - 0112
specialize factor_permutation_prefix_reflect (x1) - 0113
specialize factor_permutation_prefix_reflect (l) - 0114
specialize factor_permutation_prefix_reflect (i) - 0115
specialize factor_permutation_prefix_reflect (a) - 0116
apply factor_permutation_prefix_reflect - 0117
exact hprimecode_witness_witness_right - 0118
exact hi - 0119
exact hfirst - 0120
specialize factor_permutation_prefix_reflect (pb) - 0121
specialize factor_permutation_prefix_reflect (pc) - 0122
specialize factor_permutation_prefix_reflect (x) - 0123
specialize factor_permutation_prefix_reflect (x1) - 0124
specialize factor_permutation_prefix_reflect (l) - 0125
specialize factor_permutation_prefix_reflect (j) - 0126
specialize factor_permutation_prefix_reflect (a) - 0127
apply factor_permutation_prefix_reflect - 0128
exact hprimecode_witness_witness_right - 0129
exact hj - 0130
exact hsecond - 0131
have hnewfresh : ¬(∃ y. Lt(y,l) ∧ BetaAt(x,x1,y,p)) - 0132
intro hcontains - 0133
cases hcontains - 0134
cases hcontains_witness - 0135
have hdiv : Prime(p) ∧ Dvd(p,u) - 0136
specialize prime_exponent_entries_prime_divides (u) - 0137
specialize prime_exponent_entries_prime_divides (pb) - 0138
specialize prime_exponent_entries_prime_divides (pc) - 0139
specialize prime_exponent_entries_prime_divides (eb) - 0140
specialize prime_exponent_entries_prime_divides (ec) - 0141
specialize prime_exponent_entries_prime_divides (vb) - 0142
specialize prime_exponent_entries_prime_divides (vc) - 0143
specialize prime_exponent_entries_prime_divides (l) - 0144
specialize prime_exponent_entries_prime_divides (x6) - 0145
specialize prime_exponent_entries_prime_divides (p) - 0146
apply prime_exponent_entries_prime_divides - 0147
exact hsupport_right_right_left - 0148
exact hcontains_witness_left - 0149
specialize factor_permutation_prefix_reflect (pb) - 0150
specialize factor_permutation_prefix_reflect (pc) - 0151
specialize factor_permutation_prefix_reflect (x) - 0152
specialize factor_permutation_prefix_reflect (x1) - 0153
specialize factor_permutation_prefix_reflect (l) - 0154
specialize factor_permutation_prefix_reflect (x6) - 0155
specialize factor_permutation_prefix_reflect (p) - 0156
apply factor_permutation_prefix_reflect - 0157
exact hprimecode_witness_witness_right - 0158
exact hcontains_witness_left - 0159
exact hcontains_witness_right - 0160
cases hdiv - 0161
apply hfresh - 0162
exact hdiv_right - 0163
exists x - 0164
exists x1 - 0165
exists x2 - 0166
exists x3 - 0167
exists x4 - 0168
exists x5 - 0169
split - 0170
exact hn - 0171
split - 0172
specialize finite_prefix_injective_extend_fresh (x) - 0173
specialize finite_prefix_injective_extend_fresh (x1) - 0174
specialize finite_prefix_injective_extend_fresh (l) - 0175
specialize finite_prefix_injective_extend_fresh (p) - 0176
apply finite_prefix_injective_extend_fresh - 0177
exact hinjective - 0178
exact hprimecode_witness_witness_left - 0179
exact hnewfresh - 0180
split - 0181
specialize prime_exponent_entries_append (n) - 0182
specialize prime_exponent_entries_append (x) - 0183
specialize prime_exponent_entries_append (x1) - 0184
specialize prime_exponent_entries_append (x2) - 0185
specialize prime_exponent_entries_append (x3) - 0186
specialize prime_exponent_entries_append (x4) - 0187
specialize prime_exponent_entries_append (x5) - 0188
specialize prime_exponent_entries_append (l) - 0189
specialize prime_exponent_entries_append (p) - 0190
specialize prime_exponent_entries_append (k) - 0191
specialize prime_exponent_entries_append (P) - 0192
apply prime_exponent_entries_append - 0193
exact hnewentries - 0194
split - 0195
exact hprimecode_witness_witness_left - 0196
split - 0197
exact hexpcode_witness_witness_left - 0198
split - 0199
exact hpowercode_witness_witness_left - 0200
split - 0201
exact hp - 0202
split - 0203
exact hk - 0204
split - 0205
exact hval - 0206
exact hpow - 0207
split - 0208
intro q - 0209
intro hq - 0210
intro hdiv - 0211
rewrite heq at hdiv - 0212
have hcase : Dvd(q,P) ∨ Dvd(q,u) - 0213
specialize euclid_prime_dvd_product (q) - 0214
specialize euclid_prime_dvd_product (P) - 0215
specialize euclid_prime_dvd_product (u) - 0216
apply euclid_prime_dvd_product - 0217
exact hq - 0218
exact hdiv - 0219
cases hcase - 0220
have hqeq : q = p - 0221
specialize prime_divisor_of_prime_power (p) - 0222
specialize prime_divisor_of_prime_power (q) - 0223
specialize prime_divisor_of_prime_power (k) - 0224
specialize prime_divisor_of_prime_power (P) - 0225
apply prime_divisor_of_prime_power - 0226
exact hp - 0227
exact hq - 0228
exact hpow - 0229
exact hcase_left - 0230
exists l - 0231
split - 0232
specialize le_refl (S l) - 0233
apply le_refl - 0234
rewrite hqeq - 0235
rewrite hqeq - 0236
exact hprimecode_witness_witness_left - 0237
have hmember : ∃ i. Lt(i,l) ∧ BetaAt(pb,pc,i,q) - 0238
specialize hsupport_right_right_right_left (q) - 0239
apply hsupport_right_right_right_left - 0240
exact hq - 0241
exact hcase_right - 0242
cases hmember - 0243
cases hmember_witness - 0244
exists x6 - 0245
split - 0246
specialize le_succ (S x6) - 0247
specialize le_succ (l) - 0248
apply le_succ - 0249
exact hmember_witness_left - 0250
specialize hprimecode_witness_witness_right (x6) - 0251
specialize hprimecode_witness_witness_right (q) - 0252
apply hprimecode_witness_witness_right - 0253
exact hmember_witness_left - 0254
exact hmember_witness_right - 0255
have hproducteq : u * P = n - 0256
trans P * u - 0257
apply mul_comm - 0258
symm - 0259
exact heq - 0260
rewrite hproducteq at hpowercode_witness_witness_right_right - 0261
rewrite hproducteq at hpowercode_witness_witness_right_right - 0262
exact hpowercode_witness_witness_right_right