-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathSP1Clean.lean
More file actions
339 lines (339 loc) · 15 KB
/
Copy pathSP1Clean.lean
File metadata and controls
339 lines (339 loc) · 15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
import SP1Clean.Proofs.Chips.AddChip.Bridge
import SP1Clean.Native.Chips.AddChip.Defs
import SP1Clean.Proofs.Chips.AddChip.Formal
import SP1Clean.Native.Chips.AddiChip.Defs
import SP1Clean.Proofs.Chips.AddiChip.Formal
import SP1Clean.Proofs.Chips.AddiChip.Bridge
import SP1Clean.Proofs.Chips.AddwChip.Bridge
import SP1Clean.Native.Chips.AddwChip.Defs
import SP1Clean.Proofs.Chips.AddwChip.Formal
import SP1Clean.Proofs.Chips.BitwiseChip.Bridge
import SP1Clean.Native.Chips.BitwiseChip.Defs
import SP1Clean.Proofs.Chips.BitwiseChip.Formal
import SP1Clean.Proofs.Chips.BranchChip.Bridge
import SP1Clean.Proofs.Chips.BranchChip.Decision
import SP1Clean.Native.Chips.BranchChip.Defs
import SP1Clean.Proofs.Chips.BranchChip.Formal
import SP1Clean.Proofs.Chips.ByteChip
import SP1Clean.Proofs.Chips.DivRemChip.Assembly
import SP1Clean.Proofs.Chips.DivRemChip.Bridge
import SP1Clean.Proofs.Chips.DivRemChip.Defs
import SP1Clean.Proofs.Chips.DivRemChip.Extract
import SP1Clean.Proofs.Chips.DivRemChip.Formal
import SP1Clean.Proofs.Chips.DivRemChip.Math
import SP1Clean.Proofs.Chips.DivRemChip.OwnAsserts
import SP1Clean.Proofs.Chips.DivRemChip.Soundness
import SP1Clean.Proofs.Chips.DivRemChip.Soundness.Div
import SP1Clean.Proofs.Chips.DivRemChip.Soundness.Divu
import SP1Clean.Proofs.Chips.DivRemChip.Soundness.Divuw
import SP1Clean.Proofs.Chips.DivRemChip.Soundness.Divw
import SP1Clean.Proofs.Chips.DivRemChip.Soundness.Rem
import SP1Clean.Proofs.Chips.DivRemChip.Soundness.Remu
import SP1Clean.Proofs.Chips.DivRemChip.Soundness.Remuw
import SP1Clean.Proofs.Chips.DivRemChip.Soundness.Remw
import SP1Clean.Proofs.Chips.DivRemChip.Soundness.Reader
import SP1Clean.Proofs.Chips.DivRemChip.Soundness.Tail
import SP1Clean.Proofs.Chips.DivRemChip.Populate
import SP1Clean.Proofs.Chips.DivRemChip.Populate.Abs
import SP1Clean.Proofs.Chips.DivRemChip.Populate.Bounds
import SP1Clean.Proofs.Chips.DivRemChip.Populate.Euclid
import SP1Clean.Proofs.Chips.DivRemChip.Populate.Glue
import SP1Clean.Proofs.Chips.DivRemChip.Populate.Shapes
import SP1Clean.Proofs.Chips.DivRemChip.Populate.Signs
import SP1Clean.Proofs.Chips.DivRemChip.Completeness.BytePulls
import SP1Clean.Proofs.Chips.DivRemChip.Completeness.Driver
import SP1Clean.Proofs.Chips.DivRemChip.Completeness.OwnComplete
import SP1Clean.Proofs.Chips.DivRemChip.Completeness.SubSpecs
import SP1Clean.Proofs.Chips.JalChip.Bridge
import SP1Clean.Native.Chips.JalChip.Defs
import SP1Clean.Proofs.Chips.JalChip.Formal
import SP1Clean.Proofs.Chips.JalrChip.Bridge
import SP1Clean.Native.Chips.JalrChip.Defs
import SP1Clean.Proofs.Chips.JalrChip.Formal
import SP1Clean.Proofs.Chips.LoadByteChip.Bridge
import SP1Clean.Native.Chips.LoadByteChip.Defs
import SP1Clean.Proofs.Chips.LoadByteChip.Formal
import SP1Clean.Proofs.Chips.LoadDoubleChip.Bridge
import SP1Clean.Native.Chips.LoadDoubleChip.Defs
import SP1Clean.Proofs.Chips.LoadDoubleChip.Formal
import SP1Clean.Proofs.Chips.LoadHalfChip.Bridge
import SP1Clean.Native.Chips.LoadHalfChip.Defs
import SP1Clean.Proofs.Chips.LoadHalfChip.Formal
import SP1Clean.Proofs.Chips.LoadWordChip.Bridge
import SP1Clean.Native.Chips.LoadWordChip.Defs
import SP1Clean.Proofs.Chips.LoadWordChip.Formal
import SP1Clean.Proofs.Chips.LoadX0Chip.Bridge
import SP1Clean.Native.Chips.LoadX0Chip.Defs
import SP1Clean.Proofs.Chips.LoadX0Chip.Formal
import SP1Clean.Proofs.Chips.LtChip.Bridge
import SP1Clean.Native.Chips.LtChip.Defs
import SP1Clean.Proofs.Chips.LtChip.Formal
import SP1Clean.Proofs.Chips.MemoryProvider
import SP1Clean.Proofs.Chips.MulChip.Bridge
import SP1Clean.Native.Chips.MulChip.Defs
import SP1Clean.Proofs.Chips.MulChip.Formal
import SP1Clean.Proofs.Chips.AluX0Chip.Bridge
import SP1Clean.Native.Chips.AluX0Chip.Defs
import SP1Clean.Proofs.Chips.AluX0Chip.Formal
import SP1Clean.Proofs.Chips.ProgramChip
import SP1Clean.Proofs.Chips.ShiftLeftChip.Bridge
import SP1Clean.Proofs.Chips.ShiftLeftChip.Core
import SP1Clean.Proofs.Chips.ShiftLeftChip.Populate
import SP1Clean.Proofs.Chips.ShiftLeftChip.Defs
import SP1Clean.Proofs.Chips.ShiftLeftChip.Soundness.Sll
import SP1Clean.Proofs.Chips.ShiftLeftChip.Soundness.Sllw
import SP1Clean.Proofs.Chips.ShiftLeftChip.Formal
import SP1Clean.Proofs.Chips.ShiftRightChip.Bridge
import SP1Clean.Proofs.Chips.ShiftRightChip.Core
import SP1Clean.Proofs.Chips.ShiftRightChip.Populate
import SP1Clean.Proofs.Chips.ShiftRightChip.Defs
import SP1Clean.Proofs.Chips.ShiftRightChip.Dispatch
import SP1Clean.Proofs.Chips.ShiftRightChip.Flags
import SP1Clean.Proofs.Chips.ShiftRightChip.Math
import SP1Clean.Proofs.Chips.ShiftRightChip.Soundness.Srl
import SP1Clean.Proofs.Chips.ShiftRightChip.Soundness.Sra
import SP1Clean.Proofs.Chips.ShiftRightChip.Soundness.Srlw
import SP1Clean.Proofs.Chips.ShiftRightChip.Soundness.Sraw
import SP1Clean.Proofs.Chips.ShiftRightChip.Formal
import SP1Clean.Proofs.Chips.StoreByteChip.Bridge
import SP1Clean.Native.Chips.StoreByteChip.Defs
import SP1Clean.Proofs.Chips.StoreByteChip.Formal
import SP1Clean.Proofs.Chips.StoreDoubleChip.Bridge
import SP1Clean.Native.Chips.StoreDoubleChip.Defs
import SP1Clean.Proofs.Chips.StoreDoubleChip.Formal
import SP1Clean.Proofs.Chips.StoreHalfChip.Bridge
import SP1Clean.Native.Chips.StoreHalfChip.Defs
import SP1Clean.Proofs.Chips.StoreHalfChip.Formal
import SP1Clean.Proofs.Chips.StoreWordChip.Bridge
import SP1Clean.Native.Chips.StoreWordChip.Defs
import SP1Clean.Proofs.Chips.StoreWordChip.Formal
import SP1Clean.Proofs.Chips.SubChip.Bridge
import SP1Clean.Native.Chips.SubChip.Defs
import SP1Clean.Proofs.Chips.SubChip.Formal
import SP1Clean.Proofs.Chips.SubwChip.Bridge
import SP1Clean.Native.Chips.SubwChip.Defs
import SP1Clean.Proofs.Chips.SubwChip.Formal
import SP1Clean.Proofs.Chips.UTypeChip.Bridge
import SP1Clean.Native.Chips.UTypeChip.Defs
import SP1Clean.Proofs.Chips.UTypeChip.Formal
import SP1Clean.Comparison
import SP1Clean.Extracted.ALUTypeReader
import SP1Clean.Extracted.AluX0Chip
import SP1Clean.Extracted.AddChip
import SP1Clean.Extracted.AddOperation
import SP1Clean.Extracted.AddiChip
import SP1Clean.Extracted.AddrAddOperation
import SP1Clean.Extracted.AddressOperation
import SP1Clean.Extracted.AddwChip
import SP1Clean.Extracted.AddwOperation
import SP1Clean.Extracted.BitwiseChip
import SP1Clean.Extracted.BitwiseOperation
import SP1Clean.Extracted.BitwiseU16Operation
import SP1Clean.Extracted.BranchChip
import SP1Clean.Extracted.CPUState
import SP1Clean.Extracted.DivRemChip
import SP1Clean.Extracted.ExtractionDSL
import SP1Clean.Extracted.ITypeReader
import SP1Clean.Extracted.ITypeReaderImmutable
import SP1Clean.Extracted.IsEqualWordOperation
import SP1Clean.Extracted.IsZeroOperation
import SP1Clean.Extracted.IsZeroWordOperation
import SP1Clean.Extracted.JTypeReader
import SP1Clean.Extracted.JalChip
import SP1Clean.Extracted.JalrChip
import SP1Clean.Extracted.LoadByteChip
import SP1Clean.Extracted.LoadDoubleChip
import SP1Clean.Extracted.LoadHalfChip
import SP1Clean.Extracted.LoadWordChip
import SP1Clean.Extracted.LoadX0Chip
import SP1Clean.Extracted.LtChip
import SP1Clean.Extracted.LtOperationSigned
import SP1Clean.Extracted.LtOperationUnsigned
import SP1Clean.Extracted.MulChip
import SP1Clean.Extracted.MulOperation
import SP1Clean.Extracted.RTypeReader
import SP1Clean.Extracted.ShiftLeftChip
import SP1Clean.Extracted.ShiftRightChip
import SP1Clean.Extracted.StoreByteChip
import SP1Clean.Extracted.StoreDoubleChip
import SP1Clean.Extracted.StoreHalfChip
import SP1Clean.Extracted.StoreWordChip
import SP1Clean.Extracted.SubChip
import SP1Clean.Extracted.SubOperation
import SP1Clean.Extracted.SubwChip
import SP1Clean.Extracted.SubwOperation
import SP1Clean.Extracted.U16CompareOperation
import SP1Clean.Extracted.U16MSBOperation
import SP1Clean.Extracted.U16toU8OperationSafe
import SP1Clean.Extracted.U16toU8OperationUnsafe
import SP1Clean.Extracted.UTypeChip
import SP1Clean.Faithful.ALUTypeReader
import SP1Clean.Faithful.AluX0
import SP1Clean.Faithful.AddChip
import SP1Clean.Faithful.AddOperation
import SP1Clean.Faithful.AddiChip
import SP1Clean.Faithful.AddrAddOperation
import SP1Clean.Faithful.AddressOperation
import SP1Clean.Faithful.Addw
import SP1Clean.Faithful.AddwChip
import SP1Clean.Faithful.BitwiseChip
import SP1Clean.Faithful.BitwiseOperation
import SP1Clean.Faithful.BitwiseU16Operation
import SP1Clean.Faithful.BranchChip
import SP1Clean.Faithful.CPUState
import SP1Clean.Faithful.ChipTactics
import SP1Clean.Faithful.ExtractedInteractionModel
import SP1Clean.Faithful.ITypeReader
import SP1Clean.Faithful.ITypeReaderImmutable
import SP1Clean.Faithful.IsEqualWordOperation
import SP1Clean.Faithful.IsZeroOperation
import SP1Clean.Faithful.IsZeroWordOperation
import SP1Clean.Faithful.JTypeReader
import SP1Clean.Faithful.JalChip
import SP1Clean.Faithful.JalrChip
import SP1Clean.Faithful.LoadByte
import SP1Clean.Faithful.LoadDouble
import SP1Clean.Faithful.LoadHalf
import SP1Clean.Faithful.LoadWord
import SP1Clean.Faithful.LoadX0
import SP1Clean.Faithful.LtChip
import SP1Clean.Faithful.LtOperationSigned
import SP1Clean.Faithful.LtOperationUnsigned
import SP1Clean.Faithful.MulChip
import SP1Clean.Faithful.MulOperation
import SP1Clean.Faithful.RTypeReader
import SP1Clean.Faithful.ShiftLeftChip
import SP1Clean.Faithful.ShiftRightChip
import SP1Clean.Faithful.StoreByte
import SP1Clean.Faithful.StoreDouble
import SP1Clean.Faithful.StoreHalf
import SP1Clean.Faithful.StoreWord
import SP1Clean.Faithful.Sub
import SP1Clean.Faithful.SubChip
import SP1Clean.Faithful.Subw
import SP1Clean.Faithful.SubwChip
import SP1Clean.Faithful.U16CompareOperation
import SP1Clean.Faithful.U16MSBOperation
import SP1Clean.Faithful.U16toU8OperationSafe
import SP1Clean.Faithful.U16toU8OperationUnsafe
import SP1Clean.Faithful.UTypeChip
import SP1Clean.Math.Bitwise
import SP1Clean.Math.EvalVec
import SP1Clean.Math.Gate
import SP1Clean.Model.ByteTable
import SP1Clean.Model.Channels
import SP1Clean.Model.ChipAir
import SP1Clean.Math.GetElemFastPath
import SP1Clean.Math.HWord
import SP1Clean.Model.InteractionBus
import SP1Clean.Model.InteractionProjection
import SP1Clean.Model.InteractionRecovery
import SP1Clean.Math.Misc
import SP1Clean.Math.MulCarryChain
import SP1Clean.Model.Register
import SP1Clean.Model.SP1Constraint
import SP1Clean.Model.SailDecode
import SP1Clean.Model.SailMemory
import SP1Clean.Model.SailWrap
import SP1Clean.Math.Word
import SP1Clean.Extracted.Circuit.AddOperation
import SP1Clean.Proofs.Operations.AddOperation.Formal
import SP1Clean.Native.Operations.AddOperation.Populate
import SP1Clean.Native.Operations.AddOperation.RawSpec
import SP1Clean.Extracted.Circuit.AddrAddOperation
import SP1Clean.Proofs.Operations.AddrAddOperation.Formal
import SP1Clean.Native.Operations.AddrAddOperation.Populate
import SP1Clean.Native.Operations.AddrAddOperation.RawSpec
import SP1Clean.Native.Operations.AddressOperation
import SP1Clean.Extracted.Circuit.AddwOperation
import SP1Clean.Proofs.Operations.AddwOperation.Formal
import SP1Clean.Native.Operations.AddwOperation.Populate
import SP1Clean.Native.Operations.AddwOperation.RawSpec
import SP1Clean.Extracted.Circuit.BitwiseOperation
import SP1Clean.Proofs.Operations.BitwiseOperation.Formal
import SP1Clean.Native.Operations.BitwiseOperation.Populate
import SP1Clean.Native.Operations.BitwiseOperation.RawSpec
import SP1Clean.Native.Operations.BitwiseU16Operation
import SP1Clean.Extracted.Circuit.IsEqualWordOperation
import SP1Clean.Proofs.Operations.IsEqualWordOperation.Formal
import SP1Clean.Native.Operations.IsEqualWordOperation.Populate
import SP1Clean.Native.Operations.IsEqualWordOperation.RawSpec
import SP1Clean.Extracted.Circuit.IsZeroOperation
import SP1Clean.Proofs.Operations.IsZeroOperation.Formal
import SP1Clean.Native.Operations.IsZeroOperation.Populate
import SP1Clean.Native.Operations.IsZeroOperation.RawSpec
import SP1Clean.Extracted.Circuit.IsZeroWordOperation
import SP1Clean.Proofs.Operations.IsZeroWordOperation.Formal
import SP1Clean.Native.Operations.IsZeroWordOperation.Populate
import SP1Clean.Native.Operations.IsZeroWordOperation.RawSpec
import SP1Clean.Extracted.Circuit.LtOperationSigned
import SP1Clean.Proofs.Operations.LtOperationSigned.Formal
import SP1Clean.Native.Operations.LtOperationSigned.Populate
import SP1Clean.Native.Operations.LtOperationSigned.RawSpec
import SP1Clean.Extracted.Circuit.LtOperationUnsigned
import SP1Clean.Proofs.Operations.LtOperationUnsigned.Formal
import SP1Clean.Native.Operations.LtOperationUnsigned.Populate
import SP1Clean.Native.Operations.LtOperationUnsigned.RawSpec
import SP1Clean.Native.Operations.MulOperation
import SP1Clean.Native.Operations.ShiftBounds
import SP1Clean.Extracted.Circuit.SubOperation
import SP1Clean.Proofs.Operations.SubOperation.Formal
import SP1Clean.Native.Operations.SubOperation.Populate
import SP1Clean.Native.Operations.SubOperation.RawSpec
import SP1Clean.Extracted.Circuit.SubwOperation
import SP1Clean.Proofs.Operations.SubwOperation.Formal
import SP1Clean.Native.Operations.SubwOperation.Populate
import SP1Clean.Native.Operations.SubwOperation.RawSpec
import SP1Clean.Extracted.Circuit.U16CompareOperation
import SP1Clean.Proofs.Operations.U16CompareOperation.Formal
import SP1Clean.Native.Operations.U16CompareOperation.Populate
import SP1Clean.Native.Operations.U16CompareOperation.RawSpec
import SP1Clean.Extracted.Circuit.U16MSBOperation
import SP1Clean.Proofs.Operations.U16MSBOperation.Formal
import SP1Clean.Native.Operations.U16MSBOperation.Populate
import SP1Clean.Native.Operations.U16MSBOperation.RawSpec
import SP1Clean.Native.Operations.U16toU8OperationSafe
import SP1Clean.Native.Operations.U16toU8OperationUnsafe
import SP1Clean.Native.Readers.ALUTypeReader
import SP1Clean.Native.Readers.ALUTypeReaderImmutable
import SP1Clean.Native.Readers.CPUState
import SP1Clean.Native.Readers.ITypeReader
import SP1Clean.Native.Readers.ITypeReaderImmutable
import SP1Clean.Native.Readers.JTypeReader
import SP1Clean.Native.Readers.MemoryAccess
import SP1Clean.Native.Readers.RTypeReader
import SP1Clean.Native.Readers.RegisterAccessCols
import SP1Clean.Native.Readers.RegisterAccessTimestamp
import SP1Clean.Soundness.AllChips
import SP1Clean.Soundness.ByteConsistency
import SP1Clean.Soundness.ChipRegistry
import SP1Clean.Soundness.ChipRow
import SP1Clean.Soundness.Completeness
import SP1Clean.Soundness.Coverage
import SP1Clean.Soundness.Decode
import SP1Clean.Soundness.ValueBound
import SP1Clean.Soundness.GatedVm.BalanceMod
import SP1Clean.Soundness.GatedVm.Bridge
import SP1Clean.Soundness.GatedVm.Capstone
import SP1Clean.Soundness.GatedVm.Chain
import SP1Clean.Soundness.GatedVm.Defs
import SP1Clean.Soundness.GatedVm.Formal
import SP1Clean.Soundness.GatedVm.SailDispatch
import SP1Clean.Soundness.GatedVm.StateBridge
import SP1Clean.Soundness.InstructionTrace
import SP1Clean.Soundness.MemoryConsistency
import SP1Clean.Soundness.MemoryGlobal
import SP1Clean.Soundness.MemoryIsU64
import SP1Clean.Soundness.Opcode
import SP1Clean.Soundness.ProgramConsistency
import SP1Clean.Soundness.ProgramProviderSpike
import SP1Clean.Soundness.SP1GatedVm
import SP1Clean.Soundness.StateConsistency
import SP1Clean.Soundness.TargetVm
import SP1Clean.FormalModel.Contracts.Chips
import SP1Clean.FormalModel.Contracts.ChipAssumptions
import SP1Clean.FormalModel.Trace.GuestProgram
import SP1Clean.FormalModel.Trace.Witness
import SP1Clean.FormalModel.Contracts.Operations
import SP1Clean.FormalModel.Contracts.Readers
import SP1Clean.Soundness.RowView