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.
Sets are complete characteristic-bit codes with actual finite cardinality witnesses. The proof constructs translations and the sumset; no finite-choice oracle, supplied cardinality conclusion, or unproved polynomial-method premise is used.
Exact theorem in conservative defined notation
∀ N. ∀ p. ∀ b. ∀ c. ∀ d. ∀ e. ∀ sb. ∀ sc. ∀ k. ∀ l. ∀ m. Prime(p) → BitCount(b,c,p,k) → BitCount(d,e,p,l) → BitCount(sb,sc,p,m) → ¬k = 0 → ModularSetMember(d,e,p,0) → ModularSetSumCover(b,c,d,e,sb,sc,p) → Lt(l,N) → CauchyDavenportBound(p,k,l,m)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 258 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 (7)
01Induction on NL1–10
02Fix variables and assumptionsL11–19
03Separate the logical casesL20–21
04Establish hzL22–31
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply add eq zero right.
05Fix variables and assumptionsL32–41
06Fix variables and assumptionsL42–47
07Establish hcaseL48–52
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite lt succ eq or lt.
08Separate the logical casesL53–53
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L53
cases hcase
09Use earlier factsL54–55
10Separate the logical casesL56–57
11Calculate and transport equalitiesL58–58
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L58
rewrite eq_decidable_left
12Use earlier factsL59–60
13Establish hsmallL61–64
14Separate the logical casesL65–65
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L65
cases hsmall
15Establish hloneL66–75
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le antisymm.
16Use earlier factsL76–85
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L76
specialize finite_bit_member_count_nonzero p - L77
specialize finite_bit_member_count_nonzero l - L78
specialize finite_bit_member_count_nonzero 0 - L79
apply finite_bit_member_count_nonzero - L80
exact hB - L81
exact hzero - L82
exact hz - L83
specialize finite_modular_singleton_cover_bound b - L84
specialize finite_modular_singleton_cover_bound c - L85
specialize finite_modular_singleton_cover_bound d
17Use earlier factsL86–95
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L86
specialize finite_modular_singleton_cover_bound e - L87
specialize finite_modular_singleton_cover_bound sb - L88
specialize finite_modular_singleton_cover_bound sc - L89
specialize finite_modular_singleton_cover_bound p - L90
specialize finite_modular_singleton_cover_bound k - L91
specialize finite_modular_singleton_cover_bound l - L92
specialize finite_modular_singleton_cover_bound m - L93
apply finite_modular_singleton_cover_bound - L94
exact hA - L95
exact hS
18Use earlier factsL96–98
19Establish hboundaryL99–108
Establish this local claim before using it. It is not an additional assumption.
- L99
have hboundary : ∃ h. ∃ t. ∃ r. ModularSetMember(d,e,p,h) ∧ ModularTranslationBoundary(b,c,p,h,t,r)Definitions: ModularSetMember(d,e,p,h)ModularTranslationBoundary(b,c,p,h,t,r)Original native command in the exact edition - L100
specialize prime_modular_normalized_boundary_exists b - L101
specialize prime_modular_normalized_boundary_exists c - L102
specialize prime_modular_normalized_boundary_exists d - L103
specialize prime_modular_normalized_boundary_exists e - L104
specialize prime_modular_normalized_boundary_exists sb - L105
specialize prime_modular_normalized_boundary_exists sc - L106
specialize prime_modular_normalized_boundary_exists p - L107
specialize prime_modular_normalized_boundary_exists k - L108
specialize prime_modular_normalized_boundary_exists l
20Use earlier factsL109–118
Instantiate or apply named facts and discharge the corresponding proof obligations.
21Use earlier factsL119–119
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L119
exact eq_decidable_right
22Separate the logical casesL120–123
23Establish hsourceL124–124
Establish this local claim before using it. It is not an additional assumption.
- L124
have hsource : ModularSetMember(b,c,p,x1)Definitions: ModularSetMember(b,c,p,x1)Original native command in the exact edition
24Separate the logical casesL125–125
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L125
cases hboundary_witness_witness_witness_right
25Use earlier factsL126–126
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L126
exact hboundary_witness_witness_witness_right_left
26Establish hpzeroL127–132
27Establish htransformL133–142
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite modular dyson transform exists.
- L133
have htransform : ∃ ub. ∃ uc. ∃ vb. ∃ vc. ∃ K. ∃ L. BitCount(ub,uc,p,K) ∧ (BitCount(vb,vc,p,L) ∧ (K + L = k + l ∧ ModularDysonTransform(b,c,d,e,ub,uc,vb,vc,p,x1)))Definitions: BitCount(ub,uc,p,K)BitCount(vb,vc,p,L)ModularDysonTransform(b,c,d,e,ub,uc,vb,vc,p,x1)Original native command in the exact edition - L134
specialize finite_modular_dyson_transform_exists b - L135
specialize finite_modular_dyson_transform_exists c - L136
specialize finite_modular_dyson_transform_exists d - L137
specialize finite_modular_dyson_transform_exists e - L138
specialize finite_modular_dyson_transform_exists p - L139
specialize finite_modular_dyson_transform_exists k - L140
specialize finite_modular_dyson_transform_exists l - L141
specialize finite_modular_dyson_transform_exists x1 - L142
apply finite_modular_dyson_transform_exists
28Use earlier factsL143–145
29Separate the logical casesL146–146
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L146
cases hsource
30Use earlier factsL147–147
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L147
exact hsource_left
31Separate the logical casesL148–156
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L148
cases htransform - L149
cases htransform_witness - L150
cases htransform_witness_witness - L151
cases htransform_witness_witness_witness - L152
cases htransform_witness_witness_witness_witness - L153
cases htransform_witness_witness_witness_witness_witness - L154
cases htransform_witness_witness_witness_witness_witness_witness - L155
cases htransform_witness_witness_witness_witness_witness_witness_right - L156
cases htransform_witness_witness_witness_witness_witness_witness_right_right
32Establish hstrictL157–166
Establish this local claim before using it. It is not an additional assumption.
- L157
have hstrict : ¬x7 = 0 ∧ (¬x8 = 0 ∧ Lt(x8,l))Definitions: Lt(x8,l)Original native command in the exact edition - L158
specialize finite_modular_dyson_strict_sizes b - L159
specialize finite_modular_dyson_strict_sizes c - L160
specialize finite_modular_dyson_strict_sizes d - L161
specialize finite_modular_dyson_strict_sizes e - L162
specialize finite_modular_dyson_strict_sizes x3 - L163
specialize finite_modular_dyson_strict_sizes x4 - L164
specialize finite_modular_dyson_strict_sizes x5 - L165
specialize finite_modular_dyson_strict_sizes x6 - L166
specialize finite_modular_dyson_strict_sizes p
33Use earlier factsL167–176
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L167
specialize finite_modular_dyson_strict_sizes x1 - L168
specialize finite_modular_dyson_strict_sizes x - L169
specialize finite_modular_dyson_strict_sizes x2 - L170
specialize finite_modular_dyson_strict_sizes x7 - L171
specialize finite_modular_dyson_strict_sizes x8 - L172
specialize finite_modular_dyson_strict_sizes l - L173
apply finite_modular_dyson_strict_sizes - L174
exact htransform_witness_witness_witness_witness_witness_witness_left - L175
exact htransform_witness_witness_witness_witness_witness_witness_right_left - L176
exact hB
34Use earlier factsL177–180
35Separate the logical casesL181–182
36Establish hzeroVL183–192
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite modular dyson lower zero member.
- L183
have hzeroV : ModularSetMember(x5,x6,p,0)Definitions: ModularSetMember(x5,x6,p,0)Original native command in the exact edition - L184
specialize finite_modular_dyson_lower_zero_member b - L185
specialize finite_modular_dyson_lower_zero_member c - L186
specialize finite_modular_dyson_lower_zero_member d - L187
specialize finite_modular_dyson_lower_zero_member e - L188
specialize finite_modular_dyson_lower_zero_member x5 - L189
specialize finite_modular_dyson_lower_zero_member x6 - L190
specialize finite_modular_dyson_lower_zero_member p - L191
specialize finite_modular_dyson_lower_zero_member x1 - L192
apply finite_modular_dyson_lower_zero_member
37Separate the logical casesL193–193
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L193
cases htransform_witness_witness_witness_witness_witness_witness_right_right_right
38Use earlier factsL194–196
39Establish hnewcoverL197–206
Establish this local claim before using it. It is not an additional assumption.
- L197
have hnewcover : ModularSetSumCover(x3,x4,x5,x6,sb,sc,p)Definitions: ModularSetSumCover(x3,x4,x5,x6,sb,sc,p)Original native command in the exact edition - L198
specialize finite_modular_dyson_sum_cover b - L199
specialize finite_modular_dyson_sum_cover c - L200
specialize finite_modular_dyson_sum_cover d - L201
specialize finite_modular_dyson_sum_cover e - L202
specialize finite_modular_dyson_sum_cover x3 - L203
specialize finite_modular_dyson_sum_cover x4 - L204
specialize finite_modular_dyson_sum_cover x5 - L205
specialize finite_modular_dyson_sum_cover x6 - L206
specialize finite_modular_dyson_sum_cover sb
40Use earlier factsL207–212
Instantiate or apply named facts and discharge the corresponding proof obligations.
41Establish hresultL213–222
Establish this local claim before using it. It is not an additional assumption.
- L213
have hresult : CauchyDavenportBound(p,x7,x8,m)Definitions: CauchyDavenportBound(p,x7,x8,m)Original native command in the exact edition - L214
specialize IH p - L215
specialize IH x3 - L216
specialize IH x4 - L217
specialize IH x5 - L218
specialize IH x6 - L219
specialize IH sb - L220
specialize IH sc - L221
specialize IH x7 - L222
specialize IH x8
42Use earlier factsL223–231
Instantiate or apply named facts and discharge the corresponding proof obligations.
43Calculate and transport equalitiesL232–232
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L232
rewrite hcase_left at hstrict_right_right
44Use earlier factsL233–233
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L233
exact hstrict_right_right
45Separate the logical casesL234–235
46Use earlier factsL236–236
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L236
exact hresult_left
47Separate the logical casesL237–237
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L237
right
48Calculate and transport equalitiesL238–238
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L238
rewrite htransform_witness_witness_witness_witness_witness_witness_right_right_left at hresult_right
49Use earlier factsL239–248
Original defined command ledger · 258 lines
- 0001
induction N - 0002
intro p - 0003
intro b - 0004
intro c - 0005
intro d - 0006
intro e - 0007
intro sb - 0008
intro sc - 0009
intro k - 0010
intro l - 0011
intro m - 0012
intro hprime - 0013
intro hA - 0014
intro hB - 0015
intro hS - 0016
intro hk - 0017
intro hzero - 0018
intro hcover - 0019
intro hbound - 0020
exfalso - 0021
cases hbound - 0022
have hz : S l=0 - 0023
specialize add_eq_zero_right x - 0024
specialize add_eq_zero_right S l - 0025
apply add_eq_zero_right - 0026
exact hbound_witness - 0027
specialize succ_ne_zero l - 0028
apply succ_ne_zero - 0029
exact hz - 0030
intro p - 0031
intro b - 0032
intro c - 0033
intro d - 0034
intro e - 0035
intro sb - 0036
intro sc - 0037
intro k - 0038
intro l - 0039
intro m - 0040
intro hprime - 0041
intro hA - 0042
intro hB - 0043
intro hS - 0044
intro hk - 0045
intro hzero - 0046
intro hcover - 0047
intro hbound - 0048
have hcase : l = N ∨ Lt(l,N) - 0049
specialize finite_lt_succ_eq_or_lt N - 0050
specialize finite_lt_succ_eq_or_lt l - 0051
apply finite_lt_succ_eq_or_lt - 0052
exact hbound - 0053
cases hcase - 0054
specialize eq_decidable m - 0055
specialize eq_decidable p - 0056
cases eq_decidable - 0057
left - 0058
rewrite eq_decidable_left - 0059
specialize le_refl p - 0060
apply le_refl - 0061
have hsmall : Le(l,1) ∨ Lt(1,l) - 0062
specialize le_or_lt l - 0063
specialize le_or_lt 1 - 0064
apply le_or_lt - 0065
cases hsmall - 0066
have hlone : l=1 - 0067
specialize le_antisymm l - 0068
specialize le_antisymm 1 - 0069
apply le_antisymm - 0070
exact hsmall_left - 0071
specialize one_le_of_ne_zero l - 0072
apply one_le_of_ne_zero - 0073
intro hz - 0074
specialize finite_bit_member_count_nonzero d - 0075
specialize finite_bit_member_count_nonzero e - 0076
specialize finite_bit_member_count_nonzero p - 0077
specialize finite_bit_member_count_nonzero l - 0078
specialize finite_bit_member_count_nonzero 0 - 0079
apply finite_bit_member_count_nonzero - 0080
exact hB - 0081
exact hzero - 0082
exact hz - 0083
specialize finite_modular_singleton_cover_bound b - 0084
specialize finite_modular_singleton_cover_bound c - 0085
specialize finite_modular_singleton_cover_bound d - 0086
specialize finite_modular_singleton_cover_bound e - 0087
specialize finite_modular_singleton_cover_bound sb - 0088
specialize finite_modular_singleton_cover_bound sc - 0089
specialize finite_modular_singleton_cover_bound p - 0090
specialize finite_modular_singleton_cover_bound k - 0091
specialize finite_modular_singleton_cover_bound l - 0092
specialize finite_modular_singleton_cover_bound m - 0093
apply finite_modular_singleton_cover_bound - 0094
exact hA - 0095
exact hS - 0096
exact hcover - 0097
exact hzero - 0098
exact hlone - 0099
have hboundary : ∃ h. ∃ t. ∃ r. ModularSetMember(d,e,p,h) ∧ ModularTranslationBoundary(b,c,p,h,t,r) - 0100
specialize prime_modular_normalized_boundary_exists b - 0101
specialize prime_modular_normalized_boundary_exists c - 0102
specialize prime_modular_normalized_boundary_exists d - 0103
specialize prime_modular_normalized_boundary_exists e - 0104
specialize prime_modular_normalized_boundary_exists sb - 0105
specialize prime_modular_normalized_boundary_exists sc - 0106
specialize prime_modular_normalized_boundary_exists p - 0107
specialize prime_modular_normalized_boundary_exists k - 0108
specialize prime_modular_normalized_boundary_exists l - 0109
specialize prime_modular_normalized_boundary_exists m - 0110
apply prime_modular_normalized_boundary_exists - 0111
exact hprime - 0112
exact hA - 0113
exact hB - 0114
exact hS - 0115
exact hk - 0116
exact hsmall_right - 0117
exact hzero - 0118
exact hcover - 0119
exact eq_decidable_right - 0120
cases hboundary - 0121
cases hboundary_witness - 0122
cases hboundary_witness_witness - 0123
cases hboundary_witness_witness_witness - 0124
have hsource : ModularSetMember(b,c,p,x1) - 0125
cases hboundary_witness_witness_witness_right - 0126
exact hboundary_witness_witness_witness_right_left - 0127
have hpzero : ~(p=0) - 0128
intro he - 0129
specialize prime_nonzero p - 0130
apply prime_nonzero - 0131
exact hprime - 0132
exact he - 0133
have htransform : ∃ ub. ∃ uc. ∃ vb. ∃ vc. ∃ K. ∃ L. BitCount(ub,uc,p,K) ∧ (BitCount(vb,vc,p,L) ∧ (K + L = k + l ∧ ModularDysonTransform(b,c,d,e,ub,uc,vb,vc,p,x1))) - 0134
specialize finite_modular_dyson_transform_exists b - 0135
specialize finite_modular_dyson_transform_exists c - 0136
specialize finite_modular_dyson_transform_exists d - 0137
specialize finite_modular_dyson_transform_exists e - 0138
specialize finite_modular_dyson_transform_exists p - 0139
specialize finite_modular_dyson_transform_exists k - 0140
specialize finite_modular_dyson_transform_exists l - 0141
specialize finite_modular_dyson_transform_exists x1 - 0142
apply finite_modular_dyson_transform_exists - 0143
exact hpzero - 0144
exact hA - 0145
exact hB - 0146
cases hsource - 0147
exact hsource_left - 0148
cases htransform - 0149
cases htransform_witness - 0150
cases htransform_witness_witness - 0151
cases htransform_witness_witness_witness - 0152
cases htransform_witness_witness_witness_witness - 0153
cases htransform_witness_witness_witness_witness_witness - 0154
cases htransform_witness_witness_witness_witness_witness_witness - 0155
cases htransform_witness_witness_witness_witness_witness_witness_right - 0156
cases htransform_witness_witness_witness_witness_witness_witness_right_right - 0157
have hstrict : ¬x7 = 0 ∧ (¬x8 = 0 ∧ Lt(x8,l)) - 0158
specialize finite_modular_dyson_strict_sizes b - 0159
specialize finite_modular_dyson_strict_sizes c - 0160
specialize finite_modular_dyson_strict_sizes d - 0161
specialize finite_modular_dyson_strict_sizes e - 0162
specialize finite_modular_dyson_strict_sizes x3 - 0163
specialize finite_modular_dyson_strict_sizes x4 - 0164
specialize finite_modular_dyson_strict_sizes x5 - 0165
specialize finite_modular_dyson_strict_sizes x6 - 0166
specialize finite_modular_dyson_strict_sizes p - 0167
specialize finite_modular_dyson_strict_sizes x1 - 0168
specialize finite_modular_dyson_strict_sizes x - 0169
specialize finite_modular_dyson_strict_sizes x2 - 0170
specialize finite_modular_dyson_strict_sizes x7 - 0171
specialize finite_modular_dyson_strict_sizes x8 - 0172
specialize finite_modular_dyson_strict_sizes l - 0173
apply finite_modular_dyson_strict_sizes - 0174
exact htransform_witness_witness_witness_witness_witness_witness_left - 0175
exact htransform_witness_witness_witness_witness_witness_witness_right_left - 0176
exact hB - 0177
exact htransform_witness_witness_witness_witness_witness_witness_right_right_right - 0178
exact hzero - 0179
exact hboundary_witness_witness_witness_left - 0180
exact hboundary_witness_witness_witness_right - 0181
cases hstrict - 0182
cases hstrict_right - 0183
have hzeroV : ModularSetMember(x5,x6,p,0) - 0184
specialize finite_modular_dyson_lower_zero_member b - 0185
specialize finite_modular_dyson_lower_zero_member c - 0186
specialize finite_modular_dyson_lower_zero_member d - 0187
specialize finite_modular_dyson_lower_zero_member e - 0188
specialize finite_modular_dyson_lower_zero_member x5 - 0189
specialize finite_modular_dyson_lower_zero_member x6 - 0190
specialize finite_modular_dyson_lower_zero_member p - 0191
specialize finite_modular_dyson_lower_zero_member x1 - 0192
apply finite_modular_dyson_lower_zero_member - 0193
cases htransform_witness_witness_witness_witness_witness_witness_right_right_right - 0194
exact htransform_witness_witness_witness_witness_witness_witness_right_right_right_right - 0195
exact hzero - 0196
exact hsource - 0197
have hnewcover : ModularSetSumCover(x3,x4,x5,x6,sb,sc,p) - 0198
specialize finite_modular_dyson_sum_cover b - 0199
specialize finite_modular_dyson_sum_cover c - 0200
specialize finite_modular_dyson_sum_cover d - 0201
specialize finite_modular_dyson_sum_cover e - 0202
specialize finite_modular_dyson_sum_cover x3 - 0203
specialize finite_modular_dyson_sum_cover x4 - 0204
specialize finite_modular_dyson_sum_cover x5 - 0205
specialize finite_modular_dyson_sum_cover x6 - 0206
specialize finite_modular_dyson_sum_cover sb - 0207
specialize finite_modular_dyson_sum_cover sc - 0208
specialize finite_modular_dyson_sum_cover p - 0209
specialize finite_modular_dyson_sum_cover x1 - 0210
apply finite_modular_dyson_sum_cover - 0211
exact htransform_witness_witness_witness_witness_witness_witness_right_right_right - 0212
exact hcover - 0213
have hresult : CauchyDavenportBound(p,x7,x8,m) - 0214
specialize IH p - 0215
specialize IH x3 - 0216
specialize IH x4 - 0217
specialize IH x5 - 0218
specialize IH x6 - 0219
specialize IH sb - 0220
specialize IH sc - 0221
specialize IH x7 - 0222
specialize IH x8 - 0223
specialize IH m - 0224
apply IH - 0225
exact hprime - 0226
exact htransform_witness_witness_witness_witness_witness_witness_left - 0227
exact htransform_witness_witness_witness_witness_witness_witness_right_left - 0228
exact hS - 0229
exact hstrict_left - 0230
exact hzeroV - 0231
exact hnewcover - 0232
rewrite hcase_left at hstrict_right_right - 0233
exact hstrict_right_right - 0234
cases hresult - 0235
left - 0236
exact hresult_left - 0237
right - 0238
rewrite htransform_witness_witness_witness_witness_witness_witness_right_right_left at hresult_right - 0239
exact hresult_right - 0240
specialize IH p - 0241
specialize IH b - 0242
specialize IH c - 0243
specialize IH d - 0244
specialize IH e - 0245
specialize IH sb - 0246
specialize IH sc - 0247
specialize IH k - 0248
specialize IH l - 0249
specialize IH m - 0250
apply IH - 0251
exact hprime - 0252
exact hA - 0253
exact hB - 0254
exact hS - 0255
exact hk - 0256
exact hzero - 0257
exact hcover - 0258
exact hcase_right