This repository has been archived by the owner on Dec 7, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMapEquivalence.fst.hints
363 lines (363 loc) · 14.6 KB
/
MapEquivalence.fst.hints
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
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
[
"®vg¤Ü¼]\ni\n–㪺\u000bá",
[
[
"MapEquivalence.uu___36",
1,
2,
1,
[ "@query", "assumption_Prims.HasEq_int" ],
0
],
[
"MapEquivalence.uu___36",
2,
2,
1,
[ "@query", "projection_inverse_BoxBool_proj_0" ],
0
],
[
"MapEquivalence.msg_to_map",
1,
2,
1,
[
"@MaxFuel_assumption", "@MaxIFuel_assumption",
"@fuel_correspondence_Prims.pow2.fuel_instrumented",
"@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query",
"Prims_pretyping_ae567c2fb75be05905677af440075565",
"equation_MapEquivalence.nat128_max",
"equation_MapEquivalence.sat_idx", "equation_MsgEquivalence.nat128",
"equation_Poly1305.Spec_s.nat128",
"equation_Poly1305.Spec_s.nat128_max", "equation_Prims.nat",
"equation_Spec.Lib.IntTypes.max_size_t",
"equation_Spec.Lib.IntTypes.size_t",
"equation_Spec.Poly1305.keysize",
"function_token_typing_Poly1305.Spec_s.nat128_max",
"function_token_typing_Spec.Poly1305.keysize", "int_inversion",
"lemma_Spec.Lib.IntTypes.pow2_values", "primitive_Prims.op_AmpAmp",
"primitive_Prims.op_Equality",
"primitive_Prims.op_GreaterThanOrEqual",
"primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0",
"projection_inverse_BoxInt_proj_0",
"refinement_interpretation_FStar.UInt_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2",
"refinement_interpretation_Poly1305.Spec_s_Tm_refine_ca59d6c748a08f1d9b598850b1f7def5",
"refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d"
],
0
],
[
"MapEquivalence.map_to_msg",
1,
2,
1,
[
"@MaxFuel_assumption", "@MaxIFuel_assumption",
"@fuel_correspondence_Prims.pow2.fuel_instrumented",
"@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query",
"Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b",
"Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion",
"equation_MapEquivalence.nat128",
"equation_MapEquivalence.nat128_max",
"equation_MsgEquivalence.sat_idx",
"equation_MsgEquivalence.vale_idx",
"equation_Poly1305.Spec_s.nat128_max", "equation_Prims.nat",
"equation_Prims.pos", "equation_Spec.Lib.IntTypes.max_size_t",
"equation_Spec.Lib.IntTypes.size_t",
"equation_Spec.Poly1305.keysize",
"equation_with_fuel_Prims.pow2.fuel_instrumented",
"function_token_typing_Poly1305.Spec_s.nat128_max",
"function_token_typing_Spec.Poly1305.keysize", "int_inversion",
"int_typing", "lemma_FStar.UInt.pow2_values",
"lemma_Spec.Lib.IntTypes.pow2_values", "primitive_Prims.op_Equality",
"primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual",
"primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply",
"projection_inverse_BoxBool_proj_0",
"projection_inverse_BoxInt_proj_0",
"refinement_interpretation_FStar.UInt_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2",
"refinement_interpretation_MsgEquivalence_Tm_refine_1e3886977a4c582293449bdd43d7f40e",
"refinement_interpretation_Poly1305.Spec_s_Tm_refine_ca59d6c748a08f1d9b598850b1f7def5",
"refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d",
"refinement_interpretation_Prims_Tm_refine_f048236b5f8051f83b495ea5eaa6127b",
"typing_MsgEquivalence.sat_idx", "typing_Prims.pow2"
],
0
],
[
"MapEquivalence.map_to_msg",
2,
2,
1,
[ "@query", "assumption_Prims.HasEq_int" ],
0
],
[
"MapEquivalence.map_to_msg",
3,
2,
1,
[ "@query", "assumption_Prims.HasEq_int" ],
0
],
[
"MapEquivalence.eq_vale_map",
1,
2,
1,
[
"@MaxIFuel_assumption", "@query",
"Prims_pretyping_ae567c2fb75be05905677af440075565",
"equation_Poly1305.Spec_s.nat128_max", "equation_Prims.nat",
"equation_Prims.pos",
"function_token_typing_Poly1305.Spec_s.nat128_max", "int_inversion",
"primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply",
"projection_inverse_BoxBool_proj_0",
"projection_inverse_BoxInt_proj_0",
"refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d",
"refinement_interpretation_Prims_Tm_refine_f048236b5f8051f83b495ea5eaa6127b"
],
0
],
[
"MapEquivalence.eq_vale_map",
2,
2,
1,
[ "@query", "projection_inverse_BoxBool_proj_0" ],
0
],
[
"MapEquivalence.eq_vale_map",
3,
2,
1,
[
"@query", "assumption_Prims.HasEq_int",
"equation_MapEquivalence.nat128",
"equation_MapEquivalence.nat128_max",
"equation_Poly1305.Spec_s.nat128_max",
"haseqPoly1305.Spec_s_Tm_refine_ca59d6c748a08f1d9b598850b1f7def5"
],
0
],
[
"MapEquivalence.eq_vale_map",
4,
2,
1,
[ "@query", "assumption_Prims.HasEq_int" ],
0
],
[
"MapEquivalence.eq_vale_map",
5,
2,
1,
[ "@query", "assumption_Prims.HasEq_int" ],
0
],
[
"MapEquivalence.forward_equiv",
1,
2,
1,
[
"@MaxFuel_assumption", "@MaxIFuel_assumption",
"@fuel_correspondence_Prims.pow2.fuel_instrumented",
"@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query",
"Prims_pretyping_ae567c2fb75be05905677af440075565",
"assumption_Prims.HasEq_int", "bool_inversion",
"equation_MsgEquivalence.sat_idx",
"equation_Poly1305.Spec_s.nat128_max", "equation_Prims.nat",
"equation_Spec.Lib.IntTypes.max_size_t",
"equation_Spec.Lib.IntTypes.size_t",
"equation_Spec.Poly1305.keysize",
"function_token_typing_Poly1305.Spec_s.nat128_max",
"function_token_typing_Spec.Poly1305.keysize", "int_inversion",
"lemma_Spec.Lib.IntTypes.pow2_values", "primitive_Prims.op_Division",
"primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual",
"primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply",
"projection_inverse_BoxBool_proj_0",
"projection_inverse_BoxInt_proj_0",
"refinement_interpretation_FStar.UInt_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2",
"refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d",
"typing_MsgEquivalence.sat_idx"
],
0
],
[
"MapEquivalence.forward_equiv",
2,
2,
1,
[
"@MaxFuel_assumption", "@MaxIFuel_assumption",
"@fuel_correspondence_Prims.pow2.fuel_instrumented",
"@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query",
"MsgEquivalence_interpretation_Tm_arrow_ae61ae78b22e2bc3949874636c85a94e",
"Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b",
"Prims_pretyping_ae567c2fb75be05905677af440075565",
"assumption_FStar.FunctionalExtensionality.Extensionality",
"b2t_def", "bool_inversion", "bool_typing",
"equation_FStar.FunctionalExtensionality.efun",
"equation_FStar.FunctionalExtensionality.feq",
"equation_MapEquivalence.eq_vale_map",
"equation_MapEquivalence.map_to_msg", "equation_MapEquivalence.msg",
"equation_MapEquivalence.msg_to_map",
"equation_MapEquivalence.nat128",
"equation_MapEquivalence.nat128_max",
"equation_MapEquivalence.sat_idx", "equation_MsgEquivalence.nat128",
"equation_MsgEquivalence.sat_idx",
"equation_MsgEquivalence.vale_idx",
"equation_MsgEquivalence.vale_msg",
"equation_Poly1305.Spec_s.nat128",
"equation_Poly1305.Spec_s.nat128_max",
"equation_Poly1305.Spec_s.uu___35", "equation_Prims._assert",
"equation_Prims.assert_norm", "equation_Prims.nat",
"equation_Prims.pos", "equation_Spec.Lib.IntTypes.max_size_t",
"equation_Spec.Lib.IntTypes.size_t",
"equation_Spec.Poly1305.keysize",
"equation_with_fuel_Prims.pow2.fuel_instrumented", "forall-interp",
"function_token_typing_Poly1305.Spec_s.nat128",
"function_token_typing_Poly1305.Spec_s.nat128_max",
"function_token_typing_Poly1305.Spec_s.uu___35",
"function_token_typing_Spec.Poly1305.keysize", "int_inversion",
"int_typing",
"interpretation_Axioms_Tm_abs_5257ef5f43a61f2804cbf6c093d19f1f",
"interpretation_MapEquivalence_Tm_abs_c52ccc3d8c6869cb72b6173f69a60ee6",
"interpretation_MapEquivalence_Tm_abs_f6bccb854b5066bc7e0da7906989d27d",
"l_and-interp", "l_imp-interp",
"lemma_Spec.Lib.IntTypes.pow2_values", "primitive_Prims.op_AmpAmp",
"primitive_Prims.op_Division", "primitive_Prims.op_Equality",
"primitive_Prims.op_GreaterThanOrEqual",
"primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual",
"primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply",
"primitive_Prims.op_Subtraction", "primitive_Prims.op_disEquality",
"projection_inverse_BoxBool_proj_0",
"projection_inverse_BoxInt_proj_0",
"refinement_interpretation_Axioms_Tm_refine_cefdde97126ccf9fdc9fdadedd730087",
"refinement_interpretation_FStar.UInt_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2",
"refinement_interpretation_MsgEquivalence_Tm_refine_1e3886977a4c582293449bdd43d7f40e",
"refinement_interpretation_MsgEquivalence_Tm_refine_cfeb9fa95c5ee27e3ceba6ad2dbfcfed",
"refinement_interpretation_Poly1305.Spec_s_Tm_refine_ca59d6c748a08f1d9b598850b1f7def5",
"refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d",
"refinement_interpretation_Prims_Tm_refine_f048236b5f8051f83b495ea5eaa6127b",
"token_correspondence_MapEquivalence.map_to_msg",
"token_correspondence_MapEquivalence.msg_to_map",
"token_correspondence_Prims.pow2.fuel_instrumented",
"typing_MapEquivalence.map_to_msg",
"typing_MapEquivalence.msg_to_map", "typing_MapEquivalence.sat_idx",
"typing_MsgEquivalence.vale_idx", "typing_Prims.pow2"
],
0
],
[
"MapEquivalence.forward_equiv",
3,
2,
1,
[ "@query", "projection_inverse_BoxBool_proj_0" ],
0
],
[
"MapEquivalence.forward_equiv",
4,
2,
1,
[
"@query", "assumption_Prims.HasEq_int",
"equation_MsgEquivalence.nat128", "equation_Poly1305.Spec_s.nat128",
"equation_Poly1305.Spec_s.nat128_max",
"haseqPoly1305.Spec_s_Tm_refine_ca59d6c748a08f1d9b598850b1f7def5"
],
0
],
[
"MapEquivalence.forward_equiv",
5,
2,
1,
[ "@query", "projection_inverse_BoxBool_proj_0" ],
0
],
[
"MapEquivalence.map_msg_equiv",
1,
2,
1,
[
"@MaxFuel_assumption", "@MaxIFuel_assumption",
"@fuel_correspondence_Prims.pow2.fuel_instrumented",
"@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query",
"Prims_pretyping_ae567c2fb75be05905677af440075565",
"assumption_Prims.HasEq_int", "bool_inversion",
"equation_MsgEquivalence.sat_idx",
"equation_Poly1305.Spec_s.nat128_max", "equation_Prims.nat",
"equation_Spec.Lib.IntTypes.max_size_t",
"equation_Spec.Lib.IntTypes.size_t",
"equation_Spec.Poly1305.keysize",
"function_token_typing_Poly1305.Spec_s.nat128_max",
"function_token_typing_Spec.Poly1305.keysize", "int_inversion",
"int_typing", "lemma_Spec.Lib.IntTypes.pow2_values",
"primitive_Prims.op_Division", "primitive_Prims.op_Equality",
"primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus",
"primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0",
"projection_inverse_BoxInt_proj_0",
"refinement_interpretation_FStar.UInt_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2",
"refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d",
"typing_MsgEquivalence.sat_idx"
],
0
],
[
"MapEquivalence.map_msg_equiv",
2,
2,
1,
[
"@MaxFuel_assumption", "@MaxIFuel_assumption",
"@fuel_correspondence_Prims.pow2.fuel_instrumented",
"@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query",
"Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def",
"equation_MapEquivalence.eq_vale_map",
"equation_MapEquivalence.map_to_msg", "equation_MapEquivalence.msg",
"equation_MapEquivalence.msg_to_map",
"equation_MapEquivalence.nat128",
"equation_MapEquivalence.nat128_max",
"equation_MapEquivalence.sat_idx", "equation_MsgEquivalence.nat128",
"equation_MsgEquivalence.sat_idx",
"equation_MsgEquivalence.vale_msg",
"equation_Poly1305.Spec_s.nat128",
"equation_Poly1305.Spec_s.nat128_max", "equation_Prims.nat",
"equation_Prims.pos", "equation_Spec.Lib.IntTypes.max_size_t",
"equation_Spec.Lib.IntTypes.size_t",
"equation_Spec.Poly1305.keysize",
"equation_with_fuel_Prims.pow2.fuel_instrumented", "forall-interp",
"function_token_typing_Poly1305.Spec_s.nat128_max",
"function_token_typing_Spec.Poly1305.keysize", "int_inversion",
"int_typing",
"interpretation_Axioms_Tm_abs_5257ef5f43a61f2804cbf6c093d19f1f",
"interpretation_MapEquivalence_Tm_abs_c52ccc3d8c6869cb72b6173f69a60ee6",
"interpretation_MapEquivalence_Tm_abs_f6bccb854b5066bc7e0da7906989d27d",
"l_and-interp", "l_imp-interp",
"lemma_Spec.Lib.IntTypes.pow2_values", "primitive_Prims.op_AmpAmp",
"primitive_Prims.op_Division", "primitive_Prims.op_Equality",
"primitive_Prims.op_GreaterThanOrEqual",
"primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual",
"primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply",
"primitive_Prims.op_Subtraction", "primitive_Prims.op_disEquality",
"projection_inverse_BoxBool_proj_0",
"projection_inverse_BoxInt_proj_0",
"refinement_interpretation_Axioms_Tm_refine_cefdde97126ccf9fdc9fdadedd730087",
"refinement_interpretation_FStar.UInt_Tm_refine_8ae4abcfc6bc8d4903b7e1f40e070ec2",
"refinement_interpretation_MsgEquivalence_Tm_refine_cfeb9fa95c5ee27e3ceba6ad2dbfcfed",
"refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d",
"refinement_interpretation_Prims_Tm_refine_f048236b5f8051f83b495ea5eaa6127b",
"token_correspondence_Prims.pow2.fuel_instrumented",
"typing_Prims.pow2"
],
0
]
]
]