PROOF.bend
bend-osdev-aria@0.1.0.0 · 6,717 lines · 0 definitions
1import Base
2import bend-osdev-bytes@0.1.1.0/bytes.bend as B
3import bend-osdev-mode-core@0.1.0.0/mode_core.bend as M
4import bend-osdev-cipher-core@0.1.0.0/cipher_core.bend as L
5import bend-osdev-cipher-core@0.1.0.0/LAWS.bend as CoreL
6import bend-osdev-cipher-core@0.1.0.0/PROOF.bend as CoreP
7import bend-osdev-aria@0.1.0.0/aria.bend as A
8import bend-osdev-aria@0.1.0.0/LAWS.bend as Laws
9
10# ARIA: each step of the cipher undone (the "aria" lemmas below), so the
11# list of steps is; and a block survives its bytes
12
13# BEGIN GENERATED by gen/proof.py: aria
14# each S-box and its inverse undo each other on every byte
15def aria_sb31(w0: Word(8n)) -> {w0 == A.aria.sb3(A.aria.sb1(w0)) : Word(8n)}:
16 match w0:
17 case WCon{False{}, w1}:
18 match w1:
19 case WCon{False{}, w2}:
20 match w2:
21 case WCon{False{}, w3}:
22 match w3:
23 case WCon{False{}, w4}:
24 match w4:
25 case WCon{False{}, w5}:
26 match w5:
27 case WCon{False{}, w6}:
28 match w6:
29 case WCon{False{}, w7}:
30 match w7:
31 case WCon{False{}, w8}:
32 match w8:
33 case WNil{}:
34 {==}
35 case WCon{True{}, w8}:
36 match w8:
37 case WNil{}:
38 {==}
39 case WCon{True{}, w7}:
40 match w7:
41 case WCon{False{}, w8}:
42 match w8:
43 case WNil{}:
44 {==}
45 case WCon{True{}, w8}:
46 match w8:
47 case WNil{}:
48 {==}
49 case WCon{True{}, w6}:
50 match w6:
51 case WCon{False{}, w7}:
52 match w7:
53 case WCon{False{}, w8}:
54 match w8:
55 case WNil{}:
56 {==}
57 case WCon{True{}, w8}:
58 match w8:
59 case WNil{}:
60 {==}
61 case WCon{True{}, w7}:
62 match w7:
63 case WCon{False{}, w8}:
64 match w8:
65 case WNil{}:
66 {==}
67 case WCon{True{}, w8}:
68 match w8:
69 case WNil{}:
70 {==}
71 case WCon{True{}, w5}:
72 match w5:
73 case WCon{False{}, w6}:
74 match w6:
75 case WCon{False{}, w7}:
76 match w7:
77 case WCon{False{}, w8}:
78 match w8:
79 case WNil{}:
80 {==}
81 case WCon{True{}, w8}:
82 match w8:
83 case WNil{}:
84 {==}
85 case WCon{True{}, w7}:
86 match w7:
87 case WCon{False{}, w8}:
88 match w8:
89 case WNil{}:
90 {==}
91 case WCon{True{}, w8}:
92 match w8:
93 case WNil{}:
94 {==}
95 case WCon{True{}, w6}:
96 match w6:
97 case WCon{False{}, w7}:
98 match w7:
99 case WCon{False{}, w8}:
100 match w8:
101 case WNil{}:
102 {==}
103 case WCon{True{}, w8}:
104 match w8:
105 case WNil{}:
106 {==}
107 case WCon{True{}, w7}:
108 match w7:
109 case WCon{False{}, w8}:
110 match w8:
111 case WNil{}:
112 {==}
113 case WCon{True{}, w8}:
114 match w8:
115 case WNil{}:
116 {==}
117 case WCon{True{}, w4}:
118 match w4:
119 case WCon{False{}, w5}:
120 match w5:
121 case WCon{False{}, w6}:
122 match w6:
123 case WCon{False{}, w7}:
124 match w7:
125 case WCon{False{}, w8}:
126 match w8:
127 case WNil{}:
128 {==}
129 case WCon{True{}, w8}:
130 match w8:
131 case WNil{}:
132 {==}
133 case WCon{True{}, w7}:
134 match w7:
135 case WCon{False{}, w8}:
136 match w8:
137 case WNil{}:
138 {==}
139 case WCon{True{}, w8}:
140 match w8:
141 case WNil{}:
142 {==}
143 case WCon{True{}, w6}:
144 match w6:
145 case WCon{False{}, w7}:
146 match w7:
147 case WCon{False{}, w8}:
148 match w8:
149 case WNil{}:
150 {==}
151 case WCon{True{}, w8}:
152 match w8:
153 case WNil{}:
154 {==}
155 case WCon{True{}, w7}:
156 match w7:
157 case WCon{False{}, w8}:
158 match w8:
159 case WNil{}:
160 {==}
161 case WCon{True{}, w8}:
162 match w8:
163 case WNil{}:
164 {==}
165 case WCon{True{}, w5}:
166 match w5:
167 case WCon{False{}, w6}:
168 match w6:
169 case WCon{False{}, w7}:
170 match w7:
171 case WCon{False{}, w8}:
172 match w8:
173 case WNil{}:
174 {==}
175 case WCon{True{}, w8}:
176 match w8:
177 case WNil{}:
178 {==}
179 case WCon{True{}, w7}:
180 match w7:
181 case WCon{False{}, w8}:
182 match w8:
183 case WNil{}:
184 {==}
185 case WCon{True{}, w8}:
186 match w8:
187 case WNil{}:
188 {==}
189 case WCon{True{}, w6}:
190 match w6:
191 case WCon{False{}, w7}:
192 match w7:
193 case WCon{False{}, w8}:
194 match w8:
195 case WNil{}:
196 {==}
197 case WCon{True{}, w8}:
198 match w8:
199 case WNil{}:
200 {==}
201 case WCon{True{}, w7}:
202 match w7:
203 case WCon{False{}, w8}:
204 match w8:
205 case WNil{}:
206 {==}
207 case WCon{True{}, w8}:
208 match w8:
209 case WNil{}:
210 {==}
211 case WCon{True{}, w3}:
212 match w3:
213 case WCon{False{}, w4}:
214 match w4:
215 case WCon{False{}, w5}:
216 match w5:
217 case WCon{False{}, w6}:
218 match w6:
219 case WCon{False{}, w7}:
220 match w7:
221 case WCon{False{}, w8}:
222 match w8:
223 case WNil{}:
224 {==}
225 case WCon{True{}, w8}:
226 match w8:
227 case WNil{}:
228 {==}
229 case WCon{True{}, w7}:
230 match w7:
231 case WCon{False{}, w8}:
232 match w8:
233 case WNil{}:
234 {==}
235 case WCon{True{}, w8}:
236 match w8:
237 case WNil{}:
238 {==}
239 case WCon{True{}, w6}:
240 match w6:
241 case WCon{False{}, w7}:
242 match w7:
243 case WCon{False{}, w8}:
244 match w8:
245 case WNil{}:
246 {==}
247 case WCon{True{}, w8}:
248 match w8:
249 case WNil{}:
250 {==}
251 case WCon{True{}, w7}:
252 match w7:
253 case WCon{False{}, w8}:
254 match w8:
255 case WNil{}:
256 {==}
257 case WCon{True{}, w8}:
258 match w8:
259 case WNil{}:
260 {==}
261 case WCon{True{}, w5}:
262 match w5:
263 case WCon{False{}, w6}:
264 match w6:
265 case WCon{False{}, w7}:
266 match w7:
267 case WCon{False{}, w8}:
268 match w8:
269 case WNil{}:
270 {==}
271 case WCon{True{}, w8}:
272 match w8:
273 case WNil{}:
274 {==}
275 case WCon{True{}, w7}:
276 match w7:
277 case WCon{False{}, w8}:
278 match w8:
279 case WNil{}:
280 {==}
281 case WCon{True{}, w8}:
282 match w8:
283 case WNil{}:
284 {==}
285 case WCon{True{}, w6}:
286 match w6:
287 case WCon{False{}, w7}:
288 match w7:
289 case WCon{False{}, w8}:
290 match w8:
291 case WNil{}:
292 {==}
293 case WCon{True{}, w8}:
294 match w8:
295 case WNil{}:
296 {==}
297 case WCon{True{}, w7}:
298 match w7:
299 case WCon{False{}, w8}:
300 match w8:
301 case WNil{}:
302 {==}
303 case WCon{True{}, w8}:
304 match w8:
305 case WNil{}:
306 {==}
307 case WCon{True{}, w4}:
308 match w4:
309 case WCon{False{}, w5}:
310 match w5:
311 case WCon{False{}, w6}:
312 match w6:
313 case WCon{False{}, w7}:
314 match w7:
315 case WCon{False{}, w8}:
316 match w8:
317 case WNil{}:
318 {==}
319 case WCon{True{}, w8}:
320 match w8:
321 case WNil{}:
322 {==}
323 case WCon{True{}, w7}:
324 match w7:
325 case WCon{False{}, w8}:
326 match w8:
327 case WNil{}:
328 {==}
329 case WCon{True{}, w8}:
330 match w8:
331 case WNil{}:
332 {==}
333 case WCon{True{}, w6}:
334 match w6:
335 case WCon{False{}, w7}:
336 match w7:
337 case WCon{False{}, w8}:
338 match w8:
339 case WNil{}:
340 {==}
341 case WCon{True{}, w8}:
342 match w8:
343 case WNil{}:
344 {==}
345 case WCon{True{}, w7}:
346 match w7:
347 case WCon{False{}, w8}:
348 match w8:
349 case WNil{}:
350 {==}
351 case WCon{True{}, w8}:
352 match w8:
353 case WNil{}:
354 {==}
355 case WCon{True{}, w5}:
356 match w5:
357 case WCon{False{}, w6}:
358 match w6:
359 case WCon{False{}, w7}:
360 match w7:
361 case WCon{False{}, w8}:
362 match w8:
363 case WNil{}:
364 {==}
365 case WCon{True{}, w8}:
366 match w8:
367 case WNil{}:
368 {==}
369 case WCon{True{}, w7}:
370 match w7:
371 case WCon{False{}, w8}:
372 match w8:
373 case WNil{}:
374 {==}
375 case WCon{True{}, w8}:
376 match w8:
377 case WNil{}:
378 {==}
379 case WCon{True{}, w6}:
380 match w6:
381 case WCon{False{}, w7}:
382 match w7:
383 case WCon{False{}, w8}:
384 match w8:
385 case WNil{}:
386 {==}
387 case WCon{True{}, w8}:
388 match w8:
389 case WNil{}:
390 {==}
391 case WCon{True{}, w7}:
392 match w7:
393 case WCon{False{}, w8}:
394 match w8:
395 case WNil{}:
396 {==}
397 case WCon{True{}, w8}:
398 match w8:
399 case WNil{}:
400 {==}
401 case WCon{True{}, w2}:
402 match w2:
403 case WCon{False{}, w3}:
404 match w3:
405 case WCon{False{}, w4}:
406 match w4:
407 case WCon{False{}, w5}:
408 match w5:
409 case WCon{False{}, w6}:
410 match w6:
411 case WCon{False{}, w7}:
412 match w7:
413 case WCon{False{}, w8}:
414 match w8:
415 case WNil{}:
416 {==}
417 case WCon{True{}, w8}:
418 match w8:
419 case WNil{}:
420 {==}
421 case WCon{True{}, w7}:
422 match w7:
423 case WCon{False{}, w8}:
424 match w8:
425 case WNil{}:
426 {==}
427 case WCon{True{}, w8}:
428 match w8:
429 case WNil{}:
430 {==}
431 case WCon{True{}, w6}:
432 match w6:
433 case WCon{False{}, w7}:
434 match w7:
435 case WCon{False{}, w8}:
436 match w8:
437 case WNil{}:
438 {==}
439 case WCon{True{}, w8}:
440 match w8:
441 case WNil{}:
442 {==}
443 case WCon{True{}, w7}:
444 match w7:
445 case WCon{False{}, w8}:
446 match w8:
447 case WNil{}:
448 {==}
449 case WCon{True{}, w8}:
450 match w8:
451 case WNil{}:
452 {==}
453 case WCon{True{}, w5}:
454 match w5:
455 case WCon{False{}, w6}:
456 match w6:
457 case WCon{False{}, w7}:
458 match w7:
459 case WCon{False{}, w8}:
460 match w8:
461 case WNil{}:
462 {==}
463 case WCon{True{}, w8}:
464 match w8:
465 case WNil{}:
466 {==}
467 case WCon{True{}, w7}:
468 match w7:
469 case WCon{False{}, w8}:
470 match w8:
471 case WNil{}:
472 {==}
473 case WCon{True{}, w8}:
474 match w8:
475 case WNil{}:
476 {==}
477 case WCon{True{}, w6}:
478 match w6:
479 case WCon{False{}, w7}:
480 match w7:
481 case WCon{False{}, w8}:
482 match w8:
483 case WNil{}:
484 {==}
485 case WCon{True{}, w8}:
486 match w8:
487 case WNil{}:
488 {==}
489 case WCon{True{}, w7}:
490 match w7:
491 case WCon{False{}, w8}:
492 match w8:
493 case WNil{}:
494 {==}
495 case WCon{True{}, w8}:
496 match w8:
497 case WNil{}:
498 {==}
499 case WCon{True{}, w4}:
500 match w4:
501 case WCon{False{}, w5}:
502 match w5:
503 case WCon{False{}, w6}:
504 match w6:
505 case WCon{False{}, w7}:
506 match w7:
507 case WCon{False{}, w8}:
508 match w8:
509 case WNil{}:
510 {==}
511 case WCon{True{}, w8}:
512 match w8:
513 case WNil{}:
514 {==}
515 case WCon{True{}, w7}:
516 match w7:
517 case WCon{False{}, w8}:
518 match w8:
519 case WNil{}:
520 {==}
521 case WCon{True{}, w8}:
522 match w8:
523 case WNil{}:
524 {==}
525 case WCon{True{}, w6}:
526 match w6:
527 case WCon{False{}, w7}:
528 match w7:
529 case WCon{False{}, w8}:
530 match w8:
531 case WNil{}:
532 {==}
533 case WCon{True{}, w8}:
534 match w8:
535 case WNil{}:
536 {==}
537 case WCon{True{}, w7}:
538 match w7:
539 case WCon{False{}, w8}:
540 match w8:
541 case WNil{}:
542 {==}
543 case WCon{True{}, w8}:
544 match w8:
545 case WNil{}:
546 {==}
547 case WCon{True{}, w5}:
548 match w5:
549 case WCon{False{}, w6}:
550 match w6:
551 case WCon{False{}, w7}:
552 match w7:
553 case WCon{False{}, w8}:
554 match w8:
555 case WNil{}:
556 {==}
557 case WCon{True{}, w8}:
558 match w8:
559 case WNil{}:
560 {==}
561 case WCon{True{}, w7}:
562 match w7:
563 case WCon{False{}, w8}:
564 match w8:
565 case WNil{}:
566 {==}
567 case WCon{True{}, w8}:
568 match w8:
569 case WNil{}:
570 {==}
571 case WCon{True{}, w6}:
572 match w6:
573 case WCon{False{}, w7}:
574 match w7:
575 case WCon{False{}, w8}:
576 match w8:
577 case WNil{}:
578 {==}
579 case WCon{True{}, w8}:
580 match w8:
581 case WNil{}:
582 {==}
583 case WCon{True{}, w7}:
584 match w7:
585 case WCon{False{}, w8}:
586 match w8:
587 case WNil{}:
588 {==}
589 case WCon{True{}, w8}:
590 match w8:
591 case WNil{}:
592 {==}
593 case WCon{True{}, w3}:
594 match w3:
595 case WCon{False{}, w4}:
596 match w4:
597 case WCon{False{}, w5}:
598 match w5:
599 case WCon{False{}, w6}:
600 match w6:
601 case WCon{False{}, w7}:
602 match w7:
603 case WCon{False{}, w8}:
604 match w8:
605 case WNil{}:
606 {==}
607 case WCon{True{}, w8}:
608 match w8:
609 case WNil{}:
610 {==}
611 case WCon{True{}, w7}:
612 match w7:
613 case WCon{False{}, w8}:
614 match w8:
615 case WNil{}:
616 {==}
617 case WCon{True{}, w8}:
618 match w8:
619 case WNil{}:
620 {==}
621 case WCon{True{}, w6}:
622 match w6:
623 case WCon{False{}, w7}:
624 match w7:
625 case WCon{False{}, w8}:
626 match w8:
627 case WNil{}:
628 {==}
629 case WCon{True{}, w8}:
630 match w8:
631 case WNil{}:
632 {==}
633 case WCon{True{}, w7}:
634 match w7:
635 case WCon{False{}, w8}:
636 match w8:
637 case WNil{}:
638 {==}
639 case WCon{True{}, w8}:
640 match w8:
641 case WNil{}:
642 {==}
643 case WCon{True{}, w5}:
644 match w5:
645 case WCon{False{}, w6}:
646 match w6:
647 case WCon{False{}, w7}:
648 match w7:
649 case WCon{False{}, w8}:
650 match w8:
651 case WNil{}:
652 {==}
653 case WCon{True{}, w8}:
654 match w8:
655 case WNil{}:
656 {==}
657 case WCon{True{}, w7}:
658 match w7:
659 case WCon{False{}, w8}:
660 match w8:
661 case WNil{}:
662 {==}
663 case WCon{True{}, w8}:
664 match w8:
665 case WNil{}:
666 {==}
667 case WCon{True{}, w6}:
668 match w6:
669 case WCon{False{}, w7}:
670 match w7:
671 case WCon{False{}, w8}:
672 match w8:
673 case WNil{}:
674 {==}
675 case WCon{True{}, w8}:
676 match w8:
677 case WNil{}:
678 {==}
679 case WCon{True{}, w7}:
680 match w7:
681 case WCon{False{}, w8}:
682 match w8:
683 case WNil{}:
684 {==}
685 case WCon{True{}, w8}:
686 match w8:
687 case WNil{}:
688 {==}
689 case WCon{True{}, w4}:
690 match w4:
691 case WCon{False{}, w5}:
692 match w5:
693 case WCon{False{}, w6}:
694 match w6:
695 case WCon{False{}, w7}:
696 match w7:
697 case WCon{False{}, w8}:
698 match w8:
699 case WNil{}:
700 {==}
701 case WCon{True{}, w8}:
702 match w8:
703 case WNil{}:
704 {==}
705 case WCon{True{}, w7}:
706 match w7:
707 case WCon{False{}, w8}:
708 match w8:
709 case WNil{}:
710 {==}
711 case WCon{True{}, w8}:
712 match w8:
713 case WNil{}:
714 {==}
715 case WCon{True{}, w6}:
716 match w6:
717 case WCon{False{}, w7}:
718 match w7:
719 case WCon{False{}, w8}:
720 match w8:
721 case WNil{}:
722 {==}
723 case WCon{True{}, w8}:
724 match w8:
725 case WNil{}:
726 {==}
727 case WCon{True{}, w7}:
728 match w7:
729 case WCon{False{}, w8}:
730 match w8:
731 case WNil{}:
732 {==}
733 case WCon{True{}, w8}:
734 match w8:
735 case WNil{}:
736 {==}
737 case WCon{True{}, w5}:
738 match w5:
739 case WCon{False{}, w6}:
740 match w6:
741 case WCon{False{}, w7}:
742 match w7:
743 case WCon{False{}, w8}:
744 match w8:
745 case WNil{}:
746 {==}
747 case WCon{True{}, w8}:
748 match w8:
749 case WNil{}:
750 {==}
751 case WCon{True{}, w7}:
752 match w7:
753 case WCon{False{}, w8}:
754 match w8:
755 case WNil{}:
756 {==}
757 case WCon{True{}, w8}:
758 match w8:
759 case WNil{}:
760 {==}
761 case WCon{True{}, w6}:
762 match w6:
763 case WCon{False{}, w7}:
764 match w7:
765 case WCon{False{}, w8}:
766 match w8:
767 case WNil{}:
768 {==}
769 case WCon{True{}, w8}:
770 match w8:
771 case WNil{}:
772 {==}
773 case WCon{True{}, w7}:
774 match w7:
775 case WCon{False{}, w8}:
776 match w8:
777 case WNil{}:
778 {==}
779 case WCon{True{}, w8}:
780 match w8:
781 case WNil{}:
782 {==}
783 case WCon{True{}, w1}:
784 match w1:
785 case WCon{False{}, w2}:
786 match w2:
787 case WCon{False{}, w3}:
788 match w3:
789 case WCon{False{}, w4}:
790 match w4:
791 case WCon{False{}, w5}:
792 match w5:
793 case WCon{False{}, w6}:
794 match w6:
795 case WCon{False{}, w7}:
796 match w7:
797 case WCon{False{}, w8}:
798 match w8:
799 case WNil{}:
800 {==}
801 case WCon{True{}, w8}:
802 match w8:
803 case WNil{}:
804 {==}
805 case WCon{True{}, w7}:
806 match w7:
807 case WCon{False{}, w8}:
808 match w8:
809 case WNil{}:
810 {==}
811 case WCon{True{}, w8}:
812 match w8:
813 case WNil{}:
814 {==}
815 case WCon{True{}, w6}:
816 match w6:
817 case WCon{False{}, w7}:
818 match w7:
819 case WCon{False{}, w8}:
820 match w8:
821 case WNil{}:
822 {==}
823 case WCon{True{}, w8}:
824 match w8:
825 case WNil{}:
826 {==}
827 case WCon{True{}, w7}:
828 match w7:
829 case WCon{False{}, w8}:
830 match w8:
831 case WNil{}:
832 {==}
833 case WCon{True{}, w8}:
834 match w8:
835 case WNil{}:
836 {==}
837 case WCon{True{}, w5}:
838 match w5:
839 case WCon{False{}, w6}:
840 match w6:
841 case WCon{False{}, w7}:
842 match w7:
843 case WCon{False{}, w8}:
844 match w8:
845 case WNil{}:
846 {==}
847 case WCon{True{}, w8}:
848 match w8:
849 case WNil{}:
850 {==}
851 case WCon{True{}, w7}:
852 match w7:
853 case WCon{False{}, w8}:
854 match w8:
855 case WNil{}:
856 {==}
857 case WCon{True{}, w8}:
858 match w8:
859 case WNil{}:
860 {==}
861 case WCon{True{}, w6}:
862 match w6:
863 case WCon{False{}, w7}:
864 match w7:
865 case WCon{False{}, w8}:
866 match w8:
867 case WNil{}:
868 {==}
869 case WCon{True{}, w8}:
870 match w8:
871 case WNil{}:
872 {==}
873 case WCon{True{}, w7}:
874 match w7:
875 case WCon{False{}, w8}:
876 match w8:
877 case WNil{}:
878 {==}
879 case WCon{True{}, w8}:
880 match w8:
881 case WNil{}:
882 {==}
883 case WCon{True{}, w4}:
884 match w4:
885 case WCon{False{}, w5}:
886 match w5:
887 case WCon{False{}, w6}:
888 match w6:
889 case WCon{False{}, w7}:
890 match w7:
891 case WCon{False{}, w8}:
892 match w8:
893 case WNil{}:
894 {==}
895 case WCon{True{}, w8}:
896 match w8:
897 case WNil{}:
898 {==}
899 case WCon{True{}, w7}:
900 match w7:
901 case WCon{False{}, w8}:
902 match w8:
903 case WNil{}:
904 {==}
905 case WCon{True{}, w8}:
906 match w8:
907 case WNil{}:
908 {==}
909 case WCon{True{}, w6}:
910 match w6:
911 case WCon{False{}, w7}:
912 match w7:
913 case WCon{False{}, w8}:
914 match w8:
915 case WNil{}:
916 {==}
917 case WCon{True{}, w8}:
918 match w8:
919 case WNil{}:
920 {==}
921 case WCon{True{}, w7}:
922 match w7:
923 case WCon{False{}, w8}:
924 match w8:
925 case WNil{}:
926 {==}
927 case WCon{True{}, w8}:
928 match w8:
929 case WNil{}:
930 {==}
931 case WCon{True{}, w5}:
932 match w5:
933 case WCon{False{}, w6}:
934 match w6:
935 case WCon{False{}, w7}:
936 match w7:
937 case WCon{False{}, w8}:
938 match w8:
939 case WNil{}:
940 {==}
941 case WCon{True{}, w8}:
942 match w8:
943 case WNil{}:
944 {==}
945 case WCon{True{}, w7}:
946 match w7:
947 case WCon{False{}, w8}:
948 match w8:
949 case WNil{}:
950 {==}
951 case WCon{True{}, w8}:
952 match w8:
953 case WNil{}:
954 {==}
955 case WCon{True{}, w6}:
956 match w6:
957 case WCon{False{}, w7}:
958 match w7:
959 case WCon{False{}, w8}:
960 match w8:
961 case WNil{}:
962 {==}
963 case WCon{True{}, w8}:
964 match w8:
965 case WNil{}:
966 {==}
967 case WCon{True{}, w7}:
968 match w7:
969 case WCon{False{}, w8}:
970 match w8:
971 case WNil{}:
972 {==}
973 case WCon{True{}, w8}:
974 match w8:
975 case WNil{}:
976 {==}
977 case WCon{True{}, w3}:
978 match w3:
979 case WCon{False{}, w4}:
980 match w4:
981 case WCon{False{}, w5}:
982 match w5:
983 case WCon{False{}, w6}:
984 match w6:
985 case WCon{False{}, w7}:
986 match w7:
987 case WCon{False{}, w8}:
988 match w8:
989 case WNil{}:
990 {==}
991 case WCon{True{}, w8}:
992 match w8:
993 case WNil{}:
994 {==}
995 case WCon{True{}, w7}:
996 match w7:
997 case WCon{False{}, w8}:
998 match w8:
999 case WNil{}:
1000 {==}
1001 case WCon{True{}, w8}:
1002 match w8:
1003 case WNil{}:
1004 {==}
1005 case WCon{True{}, w6}:
1006 match w6:
1007 case WCon{False{}, w7}:
1008 match w7:
1009 case WCon{False{}, w8}:
1010 match w8:
1011 case WNil{}:
1012 {==}
1013 case WCon{True{}, w8}:
1014 match w8:
1015 case WNil{}:
1016 {==}
1017 case WCon{True{}, w7}:
1018 match w7:
1019 case WCon{False{}, w8}:
1020 match w8:
1021 case WNil{}:
1022 {==}
1023 case WCon{True{}, w8}:
1024 match w8:
1025 case WNil{}:
1026 {==}
1027 case WCon{True{}, w5}:
1028 match w5:
1029 case WCon{False{}, w6}:
1030 match w6:
1031 case WCon{False{}, w7}:
1032 match w7:
1033 case WCon{False{}, w8}:
1034 match w8:
1035 case WNil{}:
1036 {==}
1037 case WCon{True{}, w8}:
1038 match w8:
1039 case WNil{}:
1040 {==}
1041 case WCon{True{}, w7}:
1042 match w7:
1043 case WCon{False{}, w8}:
1044 match w8:
1045 case WNil{}:
1046 {==}
1047 case WCon{True{}, w8}:
1048 match w8:
1049 case WNil{}:
1050 {==}
1051 case WCon{True{}, w6}:
1052 match w6:
1053 case WCon{False{}, w7}:
1054 match w7:
1055 case WCon{False{}, w8}:
1056 match w8:
1057 case WNil{}:
1058 {==}
1059 case WCon{True{}, w8}:
1060 match w8:
1061 case WNil{}:
1062 {==}
1063 case WCon{True{}, w7}:
1064 match w7:
1065 case WCon{False{}, w8}:
1066 match w8:
1067 case WNil{}:
1068 {==}
1069 case WCon{True{}, w8}:
1070 match w8:
1071 case WNil{}:
1072 {==}
1073 case WCon{True{}, w4}:
1074 match w4:
1075 case WCon{False{}, w5}:
1076 match w5:
1077 case WCon{False{}, w6}:
1078 match w6:
1079 case WCon{False{}, w7}:
1080 match w7:
1081 case WCon{False{}, w8}:
1082 match w8:
1083 case WNil{}:
1084 {==}
1085 case WCon{True{}, w8}:
1086 match w8:
1087 case WNil{}:
1088 {==}
1089 case WCon{True{}, w7}:
1090 match w7:
1091 case WCon{False{}, w8}:
1092 match w8:
1093 case WNil{}:
1094 {==}
1095 case WCon{True{}, w8}:
1096 match w8:
1097 case WNil{}:
1098 {==}
1099 case WCon{True{}, w6}:
1100 match w6:
1101 case WCon{False{}, w7}:
1102 match w7:
1103 case WCon{False{}, w8}:
1104 match w8:
1105 case WNil{}:
1106 {==}
1107 case WCon{True{}, w8}:
1108 match w8:
1109 case WNil{}:
1110 {==}
1111 case WCon{True{}, w7}:
1112 match w7:
1113 case WCon{False{}, w8}:
1114 match w8:
1115 case WNil{}:
1116 {==}
1117 case WCon{True{}, w8}:
1118 match w8:
1119 case WNil{}:
1120 {==}
1121 case WCon{True{}, w5}:
1122 match w5:
1123 case WCon{False{}, w6}:
1124 match w6:
1125 case WCon{False{}, w7}:
1126 match w7:
1127 case WCon{False{}, w8}:
1128 match w8:
1129 case WNil{}:
1130 {==}
1131 case WCon{True{}, w8}:
1132 match w8:
1133 case WNil{}:
1134 {==}
1135 case WCon{True{}, w7}:
1136 match w7:
1137 case WCon{False{}, w8}:
1138 match w8:
1139 case WNil{}:
1140 {==}
1141 case WCon{True{}, w8}:
1142 match w8:
1143 case WNil{}:
1144 {==}
1145 case WCon{True{}, w6}:
1146 match w6:
1147 case WCon{False{}, w7}:
1148 match w7:
1149 case WCon{False{}, w8}:
1150 match w8:
1151 case WNil{}:
1152 {==}
1153 case WCon{True{}, w8}:
1154 match w8:
1155 case WNil{}:
1156 {==}
1157 case WCon{True{}, w7}:
1158 match w7:
1159 case WCon{False{}, w8}:
1160 match w8:
1161 case WNil{}:
1162 {==}
1163 case WCon{True{}, w8}:
1164 match w8:
1165 case WNil{}:
1166 {==}
1167 case WCon{True{}, w2}:
1168 match w2:
1169 case WCon{False{}, w3}:
1170 match w3:
1171 case WCon{False{}, w4}:
1172 match w4:
1173 case WCon{False{}, w5}:
1174 match w5:
1175 case WCon{False{}, w6}:
1176 match w6:
1177 case WCon{False{}, w7}:
1178 match w7:
1179 case WCon{False{}, w8}:
1180 match w8:
1181 case WNil{}:
1182 {==}
1183 case WCon{True{}, w8}:
1184 match w8:
1185 case WNil{}:
1186 {==}
1187 case WCon{True{}, w7}:
1188 match w7:
1189 case WCon{False{}, w8}:
1190 match w8:
1191 case WNil{}:
1192 {==}
1193 case WCon{True{}, w8}:
1194 match w8:
1195 case WNil{}:
1196 {==}
1197 case WCon{True{}, w6}:
1198 match w6:
1199 case WCon{False{}, w7}:
1200 match w7:
1201 case WCon{False{}, w8}:
1202 match w8:
1203 case WNil{}:
1204 {==}
1205 case WCon{True{}, w8}:
1206 match w8:
1207 case WNil{}:
1208 {==}
1209 case WCon{True{}, w7}:
1210 match w7:
1211 case WCon{False{}, w8}:
1212 match w8:
1213 case WNil{}:
1214 {==}
1215 case WCon{True{}, w8}:
1216 match w8:
1217 case WNil{}:
1218 {==}
1219 case WCon{True{}, w5}:
1220 match w5:
1221 case WCon{False{}, w6}:
1222 match w6:
1223 case WCon{False{}, w7}:
1224 match w7:
1225 case WCon{False{}, w8}:
1226 match w8:
1227 case WNil{}:
1228 {==}
1229 case WCon{True{}, w8}:
1230 match w8:
1231 case WNil{}:
1232 {==}
1233 case WCon{True{}, w7}:
1234 match w7:
1235 case WCon{False{}, w8}:
1236 match w8:
1237 case WNil{}:
1238 {==}
1239 case WCon{True{}, w8}:
1240 match w8:
1241 case WNil{}:
1242 {==}
1243 case WCon{True{}, w6}:
1244 match w6:
1245 case WCon{False{}, w7}:
1246 match w7:
1247 case WCon{False{}, w8}:
1248 match w8:
1249 case WNil{}:
1250 {==}
1251 case WCon{True{}, w8}:
1252 match w8:
1253 case WNil{}:
1254 {==}
1255 case WCon{True{}, w7}:
1256 match w7:
1257 case WCon{False{}, w8}:
1258 match w8:
1259 case WNil{}:
1260 {==}
1261 case WCon{True{}, w8}:
1262 match w8:
1263 case WNil{}:
1264 {==}
1265 case WCon{True{}, w4}:
1266 match w4:
1267 case WCon{False{}, w5}:
1268 match w5:
1269 case WCon{False{}, w6}:
1270 match w6:
1271 case WCon{False{}, w7}:
1272 match w7:
1273 case WCon{False{}, w8}:
1274 match w8:
1275 case WNil{}:
1276 {==}
1277 case WCon{True{}, w8}:
1278 match w8:
1279 case WNil{}:
1280 {==}
1281 case WCon{True{}, w7}:
1282 match w7:
1283 case WCon{False{}, w8}:
1284 match w8:
1285 case WNil{}:
1286 {==}
1287 case WCon{True{}, w8}:
1288 match w8:
1289 case WNil{}:
1290 {==}
1291 case WCon{True{}, w6}:
1292 match w6:
1293 case WCon{False{}, w7}:
1294 match w7:
1295 case WCon{False{}, w8}:
1296 match w8:
1297 case WNil{}:
1298 {==}
1299 case WCon{True{}, w8}:
1300 match w8:
1301 case WNil{}:
1302 {==}
1303 case WCon{True{}, w7}:
1304 match w7:
1305 case WCon{False{}, w8}:
1306 match w8:
1307 case WNil{}:
1308 {==}
1309 case WCon{True{}, w8}:
1310 match w8:
1311 case WNil{}:
1312 {==}
1313 case WCon{True{}, w5}:
1314 match w5:
1315 case WCon{False{}, w6}:
1316 match w6:
1317 case WCon{False{}, w7}:
1318 match w7:
1319 case WCon{False{}, w8}:
1320 match w8:
1321 case WNil{}:
1322 {==}
1323 case WCon{True{}, w8}:
1324 match w8:
1325 case WNil{}:
1326 {==}
1327 case WCon{True{}, w7}:
1328 match w7:
1329 case WCon{False{}, w8}:
1330 match w8:
1331 case WNil{}:
1332 {==}
1333 case WCon{True{}, w8}:
1334 match w8:
1335 case WNil{}:
1336 {==}
1337 case WCon{True{}, w6}:
1338 match w6:
1339 case WCon{False{}, w7}:
1340 match w7:
1341 case WCon{False{}, w8}:
1342 match w8:
1343 case WNil{}:
1344 {==}
1345 case WCon{True{}, w8}:
1346 match w8:
1347 case WNil{}:
1348 {==}
1349 case WCon{True{}, w7}:
1350 match w7:
1351 case WCon{False{}, w8}:
1352 match w8:
1353 case WNil{}:
1354 {==}
1355 case WCon{True{}, w8}:
1356 match w8:
1357 case WNil{}:
1358 {==}
1359 case WCon{True{}, w3}:
1360 match w3:
1361 case WCon{False{}, w4}:
1362 match w4:
1363 case WCon{False{}, w5}:
1364 match w5:
1365 case WCon{False{}, w6}:
1366 match w6:
1367 case WCon{False{}, w7}:
1368 match w7:
1369 case WCon{False{}, w8}:
1370 match w8:
1371 case WNil{}:
1372 {==}
1373 case WCon{True{}, w8}:
1374 match w8:
1375 case WNil{}:
1376 {==}
1377 case WCon{True{}, w7}:
1378 match w7:
1379 case WCon{False{}, w8}:
1380 match w8:
1381 case WNil{}:
1382 {==}
1383 case WCon{True{}, w8}:
1384 match w8:
1385 case WNil{}:
1386 {==}
1387 case WCon{True{}, w6}:
1388 match w6:
1389 case WCon{False{}, w7}:
1390 match w7:
1391 case WCon{False{}, w8}:
1392 match w8:
1393 case WNil{}:
1394 {==}
1395 case WCon{True{}, w8}:
1396 match w8:
1397 case WNil{}:
1398 {==}
1399 case WCon{True{}, w7}:
1400 match w7:
1401 case WCon{False{}, w8}:
1402 match w8:
1403 case WNil{}:
1404 {==}
1405 case WCon{True{}, w8}:
1406 match w8:
1407 case WNil{}:
1408 {==}
1409 case WCon{True{}, w5}:
1410 match w5:
1411 case WCon{False{}, w6}:
1412 match w6:
1413 case WCon{False{}, w7}:
1414 match w7:
1415 case WCon{False{}, w8}:
1416 match w8:
1417 case WNil{}:
1418 {==}
1419 case WCon{True{}, w8}:
1420 match w8:
1421 case WNil{}:
1422 {==}
1423 case WCon{True{}, w7}:
1424 match w7:
1425 case WCon{False{}, w8}:
1426 match w8:
1427 case WNil{}:
1428 {==}
1429 case WCon{True{}, w8}:
1430 match w8:
1431 case WNil{}:
1432 {==}
1433 case WCon{True{}, w6}:
1434 match w6:
1435 case WCon{False{}, w7}:
1436 match w7:
1437 case WCon{False{}, w8}:
1438 match w8:
1439 case WNil{}:
1440 {==}
1441 case WCon{True{}, w8}:
1442 match w8:
1443 case WNil{}:
1444 {==}
1445 case WCon{True{}, w7}:
1446 match w7:
1447 case WCon{False{}, w8}:
1448 match w8:
1449 case WNil{}:
1450 {==}
1451 case WCon{True{}, w8}:
1452 match w8:
1453 case WNil{}:
1454 {==}
1455 case WCon{True{}, w4}:
1456 match w4:
1457 case WCon{False{}, w5}:
1458 match w5:
1459 case WCon{False{}, w6}:
1460 match w6:
1461 case WCon{False{}, w7}:
1462 match w7:
1463 case WCon{False{}, w8}:
1464 match w8:
1465 case WNil{}:
1466 {==}
1467 case WCon{True{}, w8}:
1468 match w8:
1469 case WNil{}:
1470 {==}
1471 case WCon{True{}, w7}:
1472 match w7:
1473 case WCon{False{}, w8}:
1474 match w8:
1475 case WNil{}:
1476 {==}
1477 case WCon{True{}, w8}:
1478 match w8:
1479 case WNil{}:
1480 {==}
1481 case WCon{True{}, w6}:
1482 match w6:
1483 case WCon{False{}, w7}:
1484 match w7:
1485 case WCon{False{}, w8}:
1486 match w8:
1487 case WNil{}:
1488 {==}
1489 case WCon{True{}, w8}:
1490 match w8:
1491 case WNil{}:
1492 {==}
1493 case WCon{True{}, w7}:
1494 match w7:
1495 case WCon{False{}, w8}:
1496 match w8:
1497 case WNil{}:
1498 {==}
1499 case WCon{True{}, w8}:
1500 match w8:
1501 case WNil{}:
1502 {==}
1503 case WCon{True{}, w5}:
1504 match w5:
1505 case WCon{False{}, w6}:
1506 match w6:
1507 case WCon{False{}, w7}:
1508 match w7:
1509 case WCon{False{}, w8}:
1510 match w8:
1511 case WNil{}:
1512 {==}
1513 case WCon{True{}, w8}:
1514 match w8:
1515 case WNil{}:
1516 {==}
1517 case WCon{True{}, w7}:
1518 match w7:
1519 case WCon{False{}, w8}:
1520 match w8:
1521 case WNil{}:
1522 {==}
1523 case WCon{True{}, w8}:
1524 match w8:
1525 case WNil{}:
1526 {==}
1527 case WCon{True{}, w6}:
1528 match w6:
1529 case WCon{False{}, w7}:
1530 match w7:
1531 case WCon{False{}, w8}:
1532 match w8:
1533 case WNil{}:
1534 {==}
1535 case WCon{True{}, w8}:
1536 match w8:
1537 case WNil{}:
1538 {==}
1539 case WCon{True{}, w7}:
1540 match w7:
1541 case WCon{False{}, w8}:
1542 match w8:
1543 case WNil{}:
1544 {==}
1545 case WCon{True{}, w8}:
1546 match w8:
1547 case WNil{}:
1548 {==}
1549
1550def aria_sb13(w0: Word(8n)) -> {w0 == A.aria.sb1(A.aria.sb3(w0)) : Word(8n)}:
1551 match w0:
1552 case WCon{False{}, w1}:
1553 match w1:
1554 case WCon{False{}, w2}:
1555 match w2:
1556 case WCon{False{}, w3}:
1557 match w3:
1558 case WCon{False{}, w4}:
1559 match w4:
1560 case WCon{False{}, w5}:
1561 match w5:
1562 case WCon{False{}, w6}:
1563 match w6:
1564 case WCon{False{}, w7}:
1565 match w7:
1566 case WCon{False{}, w8}:
1567 match w8:
1568 case WNil{}:
1569 {==}
1570 case WCon{True{}, w8}:
1571 match w8:
1572 case WNil{}:
1573 {==}
1574 case WCon{True{}, w7}:
1575 match w7:
1576 case WCon{False{}, w8}:
1577 match w8:
1578 case WNil{}:
1579 {==}
1580 case WCon{True{}, w8}:
1581 match w8:
1582 case WNil{}:
1583 {==}
1584 case WCon{True{}, w6}:
1585 match w6:
1586 case WCon{False{}, w7}:
1587 match w7:
1588 case WCon{False{}, w8}:
1589 match w8:
1590 case WNil{}:
1591 {==}
1592 case WCon{True{}, w8}:
1593 match w8:
1594 case WNil{}:
1595 {==}
1596 case WCon{True{}, w7}:
1597 match w7:
1598 case WCon{False{}, w8}:
1599 match w8:
1600 case WNil{}:
1601 {==}
1602 case WCon{True{}, w8}:
1603 match w8:
1604 case WNil{}:
1605 {==}
1606 case WCon{True{}, w5}:
1607 match w5:
1608 case WCon{False{}, w6}:
1609 match w6:
1610 case WCon{False{}, w7}:
1611 match w7:
1612 case WCon{False{}, w8}:
1613 match w8:
1614 case WNil{}:
1615 {==}
1616 case WCon{True{}, w8}:
1617 match w8:
1618 case WNil{}:
1619 {==}
1620 case WCon{True{}, w7}:
1621 match w7:
1622 case WCon{False{}, w8}:
1623 match w8:
1624 case WNil{}:
1625 {==}
1626 case WCon{True{}, w8}:
1627 match w8:
1628 case WNil{}:
1629 {==}
1630 case WCon{True{}, w6}:
1631 match w6:
1632 case WCon{False{}, w7}:
1633 match w7:
1634 case WCon{False{}, w8}:
1635 match w8:
1636 case WNil{}:
1637 {==}
1638 case WCon{True{}, w8}:
1639 match w8:
1640 case WNil{}:
1641 {==}
1642 case WCon{True{}, w7}:
1643 match w7:
1644 case WCon{False{}, w8}:
1645 match w8:
1646 case WNil{}:
1647 {==}
1648 case WCon{True{}, w8}:
1649 match w8:
1650 case WNil{}:
1651 {==}
1652 case WCon{True{}, w4}:
1653 match w4:
1654 case WCon{False{}, w5}:
1655 match w5:
1656 case WCon{False{}, w6}:
1657 match w6:
1658 case WCon{False{}, w7}:
1659 match w7:
1660 case WCon{False{}, w8}:
1661 match w8:
1662 case WNil{}:
1663 {==}
1664 case WCon{True{}, w8}:
1665 match w8:
1666 case WNil{}:
1667 {==}
1668 case WCon{True{}, w7}:
1669 match w7:
1670 case WCon{False{}, w8}:
1671 match w8:
1672 case WNil{}:
1673 {==}
1674 case WCon{True{}, w8}:
1675 match w8:
1676 case WNil{}:
1677 {==}
1678 case WCon{True{}, w6}:
1679 match w6:
1680 case WCon{False{}, w7}:
1681 match w7:
1682 case WCon{False{}, w8}:
1683 match w8:
1684 case WNil{}:
1685 {==}
1686 case WCon{True{}, w8}:
1687 match w8:
1688 case WNil{}:
1689 {==}
1690 case WCon{True{}, w7}:
1691 match w7:
1692 case WCon{False{}, w8}:
1693 match w8:
1694 case WNil{}:
1695 {==}
1696 case WCon{True{}, w8}:
1697 match w8:
1698 case WNil{}:
1699 {==}
1700 case WCon{True{}, w5}:
1701 match w5:
1702 case WCon{False{}, w6}:
1703 match w6:
1704 case WCon{False{}, w7}:
1705 match w7:
1706 case WCon{False{}, w8}:
1707 match w8:
1708 case WNil{}:
1709 {==}
1710 case WCon{True{}, w8}:
1711 match w8:
1712 case WNil{}:
1713 {==}
1714 case WCon{True{}, w7}:
1715 match w7:
1716 case WCon{False{}, w8}:
1717 match w8:
1718 case WNil{}:
1719 {==}
1720 case WCon{True{}, w8}:
1721 match w8:
1722 case WNil{}:
1723 {==}
1724 case WCon{True{}, w6}:
1725 match w6:
1726 case WCon{False{}, w7}:
1727 match w7:
1728 case WCon{False{}, w8}:
1729 match w8:
1730 case WNil{}:
1731 {==}
1732 case WCon{True{}, w8}:
1733 match w8:
1734 case WNil{}:
1735 {==}
1736 case WCon{True{}, w7}:
1737 match w7:
1738 case WCon{False{}, w8}:
1739 match w8:
1740 case WNil{}:
1741 {==}
1742 case WCon{True{}, w8}:
1743 match w8:
1744 case WNil{}:
1745 {==}
1746 case WCon{True{}, w3}:
1747 match w3:
1748 case WCon{False{}, w4}:
1749 match w4:
1750 case WCon{False{}, w5}:
1751 match w5:
1752 case WCon{False{}, w6}:
1753 match w6:
1754 case WCon{False{}, w7}:
1755 match w7:
1756 case WCon{False{}, w8}:
1757 match w8:
1758 case WNil{}:
1759 {==}
1760 case WCon{True{}, w8}:
1761 match w8:
1762 case WNil{}:
1763 {==}
1764 case WCon{True{}, w7}:
1765 match w7:
1766 case WCon{False{}, w8}:
1767 match w8:
1768 case WNil{}:
1769 {==}
1770 case WCon{True{}, w8}:
1771 match w8:
1772 case WNil{}:
1773 {==}
1774 case WCon{True{}, w6}:
1775 match w6:
1776 case WCon{False{}, w7}:
1777 match w7:
1778 case WCon{False{}, w8}:
1779 match w8:
1780 case WNil{}:
1781 {==}
1782 case WCon{True{}, w8}:
1783 match w8:
1784 case WNil{}:
1785 {==}
1786 case WCon{True{}, w7}:
1787 match w7:
1788 case WCon{False{}, w8}:
1789 match w8:
1790 case WNil{}:
1791 {==}
1792 case WCon{True{}, w8}:
1793 match w8:
1794 case WNil{}:
1795 {==}
1796 case WCon{True{}, w5}:
1797 match w5:
1798 case WCon{False{}, w6}:
1799 match w6:
1800 case WCon{False{}, w7}:
1801 match w7:
1802 case WCon{False{}, w8}:
1803 match w8:
1804 case WNil{}:
1805 {==}
1806 case WCon{True{}, w8}:
1807 match w8:
1808 case WNil{}:
1809 {==}
1810 case WCon{True{}, w7}:
1811 match w7:
1812 case WCon{False{}, w8}:
1813 match w8:
1814 case WNil{}:
1815 {==}
1816 case WCon{True{}, w8}:
1817 match w8:
1818 case WNil{}:
1819 {==}
1820 case WCon{True{}, w6}:
1821 match w6:
1822 case WCon{False{}, w7}:
1823 match w7:
1824 case WCon{False{}, w8}:
1825 match w8:
1826 case WNil{}:
1827 {==}
1828 case WCon{True{}, w8}:
1829 match w8:
1830 case WNil{}:
1831 {==}
1832 case WCon{True{}, w7}:
1833 match w7:
1834 case WCon{False{}, w8}:
1835 match w8:
1836 case WNil{}:
1837 {==}
1838 case WCon{True{}, w8}:
1839 match w8:
1840 case WNil{}:
1841 {==}
1842 case WCon{True{}, w4}:
1843 match w4:
1844 case WCon{False{}, w5}:
1845 match w5:
1846 case WCon{False{}, w6}:
1847 match w6:
1848 case WCon{False{}, w7}:
1849 match w7:
1850 case WCon{False{}, w8}:
1851 match w8:
1852 case WNil{}:
1853 {==}
1854 case WCon{True{}, w8}:
1855 match w8:
1856 case WNil{}:
1857 {==}
1858 case WCon{True{}, w7}:
1859 match w7:
1860 case WCon{False{}, w8}:
1861 match w8:
1862 case WNil{}:
1863 {==}
1864 case WCon{True{}, w8}:
1865 match w8:
1866 case WNil{}:
1867 {==}
1868 case WCon{True{}, w6}:
1869 match w6:
1870 case WCon{False{}, w7}:
1871 match w7:
1872 case WCon{False{}, w8}:
1873 match w8:
1874 case WNil{}:
1875 {==}
1876 case WCon{True{}, w8}:
1877 match w8:
1878 case WNil{}:
1879 {==}
1880 case WCon{True{}, w7}:
1881 match w7:
1882 case WCon{False{}, w8}:
1883 match w8:
1884 case WNil{}:
1885 {==}
1886 case WCon{True{}, w8}:
1887 match w8:
1888 case WNil{}:
1889 {==}
1890 case WCon{True{}, w5}:
1891 match w5:
1892 case WCon{False{}, w6}:
1893 match w6:
1894 case WCon{False{}, w7}:
1895 match w7:
1896 case WCon{False{}, w8}:
1897 match w8:
1898 case WNil{}:
1899 {==}
1900 case WCon{True{}, w8}:
1901 match w8:
1902 case WNil{}:
1903 {==}
1904 case WCon{True{}, w7}:
1905 match w7:
1906 case WCon{False{}, w8}:
1907 match w8:
1908 case WNil{}:
1909 {==}
1910 case WCon{True{}, w8}:
1911 match w8:
1912 case WNil{}:
1913 {==}
1914 case WCon{True{}, w6}:
1915 match w6:
1916 case WCon{False{}, w7}:
1917 match w7:
1918 case WCon{False{}, w8}:
1919 match w8:
1920 case WNil{}:
1921 {==}
1922 case WCon{True{}, w8}:
1923 match w8:
1924 case WNil{}:
1925 {==}
1926 case WCon{True{}, w7}:
1927 match w7:
1928 case WCon{False{}, w8}:
1929 match w8:
1930 case WNil{}:
1931 {==}
1932 case WCon{True{}, w8}:
1933 match w8:
1934 case WNil{}:
1935 {==}
1936 case WCon{True{}, w2}:
1937 match w2:
1938 case WCon{False{}, w3}:
1939 match w3:
1940 case WCon{False{}, w4}:
1941 match w4:
1942 case WCon{False{}, w5}:
1943 match w5:
1944 case WCon{False{}, w6}:
1945 match w6:
1946 case WCon{False{}, w7}:
1947 match w7:
1948 case WCon{False{}, w8}:
1949 match w8:
1950 case WNil{}:
1951 {==}
1952 case WCon{True{}, w8}:
1953 match w8:
1954 case WNil{}:
1955 {==}
1956 case WCon{True{}, w7}:
1957 match w7:
1958 case WCon{False{}, w8}:
1959 match w8:
1960 case WNil{}:
1961 {==}
1962 case WCon{True{}, w8}:
1963 match w8:
1964 case WNil{}:
1965 {==}
1966 case WCon{True{}, w6}:
1967 match w6:
1968 case WCon{False{}, w7}:
1969 match w7:
1970 case WCon{False{}, w8}:
1971 match w8:
1972 case WNil{}:
1973 {==}
1974 case WCon{True{}, w8}:
1975 match w8:
1976 case WNil{}:
1977 {==}
1978 case WCon{True{}, w7}:
1979 match w7:
1980 case WCon{False{}, w8}:
1981 match w8:
1982 case WNil{}:
1983 {==}
1984 case WCon{True{}, w8}:
1985 match w8:
1986 case WNil{}:
1987 {==}
1988 case WCon{True{}, w5}:
1989 match w5:
1990 case WCon{False{}, w6}:
1991 match w6:
1992 case WCon{False{}, w7}:
1993 match w7:
1994 case WCon{False{}, w8}:
1995 match w8:
1996 case WNil{}:
1997 {==}
1998 case WCon{True{}, w8}:
1999 match w8:
2000 case WNil{}:
2001 {==}
2002 case WCon{True{}, w7}:
2003 match w7:
2004 case WCon{False{}, w8}:
2005 match w8:
2006 case WNil{}:
2007 {==}
2008 case WCon{True{}, w8}:
2009 match w8:
2010 case WNil{}:
2011 {==}
2012 case WCon{True{}, w6}:
2013 match w6:
2014 case WCon{False{}, w7}:
2015 match w7:
2016 case WCon{False{}, w8}:
2017 match w8:
2018 case WNil{}:
2019 {==}
2020 case WCon{True{}, w8}:
2021 match w8:
2022 case WNil{}:
2023 {==}
2024 case WCon{True{}, w7}:
2025 match w7:
2026 case WCon{False{}, w8}:
2027 match w8:
2028 case WNil{}:
2029 {==}
2030 case WCon{True{}, w8}:
2031 match w8:
2032 case WNil{}:
2033 {==}
2034 case WCon{True{}, w4}:
2035 match w4:
2036 case WCon{False{}, w5}:
2037 match w5:
2038 case WCon{False{}, w6}:
2039 match w6:
2040 case WCon{False{}, w7}:
2041 match w7:
2042 case WCon{False{}, w8}:
2043 match w8:
2044 case WNil{}:
2045 {==}
2046 case WCon{True{}, w8}:
2047 match w8:
2048 case WNil{}:
2049 {==}
2050 case WCon{True{}, w7}:
2051 match w7:
2052 case WCon{False{}, w8}:
2053 match w8:
2054 case WNil{}:
2055 {==}
2056 case WCon{True{}, w8}:
2057 match w8:
2058 case WNil{}:
2059 {==}
2060 case WCon{True{}, w6}:
2061 match w6:
2062 case WCon{False{}, w7}:
2063 match w7:
2064 case WCon{False{}, w8}:
2065 match w8:
2066 case WNil{}:
2067 {==}
2068 case WCon{True{}, w8}:
2069 match w8:
2070 case WNil{}:
2071 {==}
2072 case WCon{True{}, w7}:
2073 match w7:
2074 case WCon{False{}, w8}:
2075 match w8:
2076 case WNil{}:
2077 {==}
2078 case WCon{True{}, w8}:
2079 match w8:
2080 case WNil{}:
2081 {==}
2082 case WCon{True{}, w5}:
2083 match w5:
2084 case WCon{False{}, w6}:
2085 match w6:
2086 case WCon{False{}, w7}:
2087 match w7:
2088 case WCon{False{}, w8}:
2089 match w8:
2090 case WNil{}:
2091 {==}
2092 case WCon{True{}, w8}:
2093 match w8:
2094 case WNil{}:
2095 {==}
2096 case WCon{True{}, w7}:
2097 match w7:
2098 case WCon{False{}, w8}:
2099 match w8:
2100 case WNil{}:
2101 {==}
2102 case WCon{True{}, w8}:
2103 match w8:
2104 case WNil{}:
2105 {==}
2106 case WCon{True{}, w6}:
2107 match w6:
2108 case WCon{False{}, w7}:
2109 match w7:
2110 case WCon{False{}, w8}:
2111 match w8:
2112 case WNil{}:
2113 {==}
2114 case WCon{True{}, w8}:
2115 match w8:
2116 case WNil{}:
2117 {==}
2118 case WCon{True{}, w7}:
2119 match w7:
2120 case WCon{False{}, w8}:
2121 match w8:
2122 case WNil{}:
2123 {==}
2124 case WCon{True{}, w8}:
2125 match w8:
2126 case WNil{}:
2127 {==}
2128 case WCon{True{}, w3}:
2129 match w3:
2130 case WCon{False{}, w4}:
2131 match w4:
2132 case WCon{False{}, w5}:
2133 match w5:
2134 case WCon{False{}, w6}:
2135 match w6:
2136 case WCon{False{}, w7}:
2137 match w7:
2138 case WCon{False{}, w8}:
2139 match w8:
2140 case WNil{}:
2141 {==}
2142 case WCon{True{}, w8}:
2143 match w8:
2144 case WNil{}:
2145 {==}
2146 case WCon{True{}, w7}:
2147 match w7:
2148 case WCon{False{}, w8}:
2149 match w8:
2150 case WNil{}:
2151 {==}
2152 case WCon{True{}, w8}:
2153 match w8:
2154 case WNil{}:
2155 {==}
2156 case WCon{True{}, w6}:
2157 match w6:
2158 case WCon{False{}, w7}:
2159 match w7:
2160 case WCon{False{}, w8}:
2161 match w8:
2162 case WNil{}:
2163 {==}
2164 case WCon{True{}, w8}:
2165 match w8:
2166 case WNil{}:
2167 {==}
2168 case WCon{True{}, w7}:
2169 match w7:
2170 case WCon{False{}, w8}:
2171 match w8:
2172 case WNil{}:
2173 {==}
2174 case WCon{True{}, w8}:
2175 match w8:
2176 case WNil{}:
2177 {==}
2178 case WCon{True{}, w5}:
2179 match w5:
2180 case WCon{False{}, w6}:
2181 match w6:
2182 case WCon{False{}, w7}:
2183 match w7:
2184 case WCon{False{}, w8}:
2185 match w8:
2186 case WNil{}:
2187 {==}
2188 case WCon{True{}, w8}:
2189 match w8:
2190 case WNil{}:
2191 {==}
2192 case WCon{True{}, w7}:
2193 match w7:
2194 case WCon{False{}, w8}:
2195 match w8:
2196 case WNil{}:
2197 {==}
2198 case WCon{True{}, w8}:
2199 match w8:
2200 case WNil{}:
2201 {==}
2202 case WCon{True{}, w6}:
2203 match w6:
2204 case WCon{False{}, w7}:
2205 match w7:
2206 case WCon{False{}, w8}:
2207 match w8:
2208 case WNil{}:
2209 {==}
2210 case WCon{True{}, w8}:
2211 match w8:
2212 case WNil{}:
2213 {==}
2214 case WCon{True{}, w7}:
2215 match w7:
2216 case WCon{False{}, w8}:
2217 match w8:
2218 case WNil{}:
2219 {==}
2220 case WCon{True{}, w8}:
2221 match w8:
2222 case WNil{}:
2223 {==}
2224 case WCon{True{}, w4}:
2225 match w4:
2226 case WCon{False{}, w5}:
2227 match w5:
2228 case WCon{False{}, w6}:
2229 match w6:
2230 case WCon{False{}, w7}:
2231 match w7:
2232 case WCon{False{}, w8}:
2233 match w8:
2234 case WNil{}:
2235 {==}
2236 case WCon{True{}, w8}:
2237 match w8:
2238 case WNil{}:
2239 {==}
2240 case WCon{True{}, w7}:
2241 match w7:
2242 case WCon{False{}, w8}:
2243 match w8:
2244 case WNil{}:
2245 {==}
2246 case WCon{True{}, w8}:
2247 match w8:
2248 case WNil{}:
2249 {==}
2250 case WCon{True{}, w6}:
2251 match w6:
2252 case WCon{False{}, w7}:
2253 match w7:
2254 case WCon{False{}, w8}:
2255 match w8:
2256 case WNil{}:
2257 {==}
2258 case WCon{True{}, w8}:
2259 match w8:
2260 case WNil{}:
2261 {==}
2262 case WCon{True{}, w7}:
2263 match w7:
2264 case WCon{False{}, w8}:
2265 match w8:
2266 case WNil{}:
2267 {==}
2268 case WCon{True{}, w8}:
2269 match w8:
2270 case WNil{}:
2271 {==}
2272 case WCon{True{}, w5}:
2273 match w5:
2274 case WCon{False{}, w6}:
2275 match w6:
2276 case WCon{False{}, w7}:
2277 match w7:
2278 case WCon{False{}, w8}:
2279 match w8:
2280 case WNil{}:
2281 {==}
2282 case WCon{True{}, w8}:
2283 match w8:
2284 case WNil{}:
2285 {==}
2286 case WCon{True{}, w7}:
2287 match w7:
2288 case WCon{False{}, w8}:
2289 match w8:
2290 case WNil{}:
2291 {==}
2292 case WCon{True{}, w8}:
2293 match w8:
2294 case WNil{}:
2295 {==}
2296 case WCon{True{}, w6}:
2297 match w6:
2298 case WCon{False{}, w7}:
2299 match w7:
2300 case WCon{False{}, w8}:
2301 match w8:
2302 case WNil{}:
2303 {==}
2304 case WCon{True{}, w8}:
2305 match w8:
2306 case WNil{}:
2307 {==}
2308 case WCon{True{}, w7}:
2309 match w7:
2310 case WCon{False{}, w8}:
2311 match w8:
2312 case WNil{}:
2313 {==}
2314 case WCon{True{}, w8}:
2315 match w8:
2316 case WNil{}:
2317 {==}
2318 case WCon{True{}, w1}:
2319 match w1:
2320 case WCon{False{}, w2}:
2321 match w2:
2322 case WCon{False{}, w3}:
2323 match w3:
2324 case WCon{False{}, w4}:
2325 match w4:
2326 case WCon{False{}, w5}:
2327 match w5:
2328 case WCon{False{}, w6}:
2329 match w6:
2330 case WCon{False{}, w7}:
2331 match w7:
2332 case WCon{False{}, w8}:
2333 match w8:
2334 case WNil{}:
2335 {==}
2336 case WCon{True{}, w8}:
2337 match w8:
2338 case WNil{}:
2339 {==}
2340 case WCon{True{}, w7}:
2341 match w7:
2342 case WCon{False{}, w8}:
2343 match w8:
2344 case WNil{}:
2345 {==}
2346 case WCon{True{}, w8}:
2347 match w8:
2348 case WNil{}:
2349 {==}
2350 case WCon{True{}, w6}:
2351 match w6:
2352 case WCon{False{}, w7}:
2353 match w7:
2354 case WCon{False{}, w8}:
2355 match w8:
2356 case WNil{}:
2357 {==}
2358 case WCon{True{}, w8}:
2359 match w8:
2360 case WNil{}:
2361 {==}
2362 case WCon{True{}, w7}:
2363 match w7:
2364 case WCon{False{}, w8}:
2365 match w8:
2366 case WNil{}:
2367 {==}
2368 case WCon{True{}, w8}:
2369 match w8:
2370 case WNil{}:
2371 {==}
2372 case WCon{True{}, w5}:
2373 match w5:
2374 case WCon{False{}, w6}:
2375 match w6:
2376 case WCon{False{}, w7}:
2377 match w7:
2378 case WCon{False{}, w8}:
2379 match w8:
2380 case WNil{}:
2381 {==}
2382 case WCon{True{}, w8}:
2383 match w8:
2384 case WNil{}:
2385 {==}
2386 case WCon{True{}, w7}:
2387 match w7:
2388 case WCon{False{}, w8}:
2389 match w8:
2390 case WNil{}:
2391 {==}
2392 case WCon{True{}, w8}:
2393 match w8:
2394 case WNil{}:
2395 {==}
2396 case WCon{True{}, w6}:
2397 match w6:
2398 case WCon{False{}, w7}:
2399 match w7:
2400 case WCon{False{}, w8}:
2401 match w8:
2402 case WNil{}:
2403 {==}
2404 case WCon{True{}, w8}:
2405 match w8:
2406 case WNil{}:
2407 {==}
2408 case WCon{True{}, w7}:
2409 match w7:
2410 case WCon{False{}, w8}:
2411 match w8:
2412 case WNil{}:
2413 {==}
2414 case WCon{True{}, w8}:
2415 match w8:
2416 case WNil{}:
2417 {==}
2418 case WCon{True{}, w4}:
2419 match w4:
2420 case WCon{False{}, w5}:
2421 match w5:
2422 case WCon{False{}, w6}:
2423 match w6:
2424 case WCon{False{}, w7}:
2425 match w7:
2426 case WCon{False{}, w8}:
2427 match w8:
2428 case WNil{}:
2429 {==}
2430 case WCon{True{}, w8}:
2431 match w8:
2432 case WNil{}:
2433 {==}
2434 case WCon{True{}, w7}:
2435 match w7:
2436 case WCon{False{}, w8}:
2437 match w8:
2438 case WNil{}:
2439 {==}
2440 case WCon{True{}, w8}:
2441 match w8:
2442 case WNil{}:
2443 {==}
2444 case WCon{True{}, w6}:
2445 match w6:
2446 case WCon{False{}, w7}:
2447 match w7:
2448 case WCon{False{}, w8}:
2449 match w8:
2450 case WNil{}:
2451 {==}
2452 case WCon{True{}, w8}:
2453 match w8:
2454 case WNil{}:
2455 {==}
2456 case WCon{True{}, w7}:
2457 match w7:
2458 case WCon{False{}, w8}:
2459 match w8:
2460 case WNil{}:
2461 {==}
2462 case WCon{True{}, w8}:
2463 match w8:
2464 case WNil{}:
2465 {==}
2466 case WCon{True{}, w5}:
2467 match w5:
2468 case WCon{False{}, w6}:
2469 match w6:
2470 case WCon{False{}, w7}:
2471 match w7:
2472 case WCon{False{}, w8}:
2473 match w8:
2474 case WNil{}:
2475 {==}
2476 case WCon{True{}, w8}:
2477 match w8:
2478 case WNil{}:
2479 {==}
2480 case WCon{True{}, w7}:
2481 match w7:
2482 case WCon{False{}, w8}:
2483 match w8:
2484 case WNil{}:
2485 {==}
2486 case WCon{True{}, w8}:
2487 match w8:
2488 case WNil{}:
2489 {==}
2490 case WCon{True{}, w6}:
2491 match w6:
2492 case WCon{False{}, w7}:
2493 match w7:
2494 case WCon{False{}, w8}:
2495 match w8:
2496 case WNil{}:
2497 {==}
2498 case WCon{True{}, w8}:
2499 match w8:
2500 case WNil{}:
2501 {==}
2502 case WCon{True{}, w7}:
2503 match w7:
2504 case WCon{False{}, w8}:
2505 match w8:
2506 case WNil{}:
2507 {==}
2508 case WCon{True{}, w8}:
2509 match w8:
2510 case WNil{}:
2511 {==}
2512 case WCon{True{}, w3}:
2513 match w3:
2514 case WCon{False{}, w4}:
2515 match w4:
2516 case WCon{False{}, w5}:
2517 match w5:
2518 case WCon{False{}, w6}:
2519 match w6:
2520 case WCon{False{}, w7}:
2521 match w7:
2522 case WCon{False{}, w8}:
2523 match w8:
2524 case WNil{}:
2525 {==}
2526 case WCon{True{}, w8}:
2527 match w8:
2528 case WNil{}:
2529 {==}
2530 case WCon{True{}, w7}:
2531 match w7:
2532 case WCon{False{}, w8}:
2533 match w8:
2534 case WNil{}:
2535 {==}
2536 case WCon{True{}, w8}:
2537 match w8:
2538 case WNil{}:
2539 {==}
2540 case WCon{True{}, w6}:
2541 match w6:
2542 case WCon{False{}, w7}:
2543 match w7:
2544 case WCon{False{}, w8}:
2545 match w8:
2546 case WNil{}:
2547 {==}
2548 case WCon{True{}, w8}:
2549 match w8:
2550 case WNil{}:
2551 {==}
2552 case WCon{True{}, w7}:
2553 match w7:
2554 case WCon{False{}, w8}:
2555 match w8:
2556 case WNil{}:
2557 {==}
2558 case WCon{True{}, w8}:
2559 match w8:
2560 case WNil{}:
2561 {==}
2562 case WCon{True{}, w5}:
2563 match w5:
2564 case WCon{False{}, w6}:
2565 match w6:
2566 case WCon{False{}, w7}:
2567 match w7:
2568 case WCon{False{}, w8}:
2569 match w8:
2570 case WNil{}:
2571 {==}
2572 case WCon{True{}, w8}:
2573 match w8:
2574 case WNil{}:
2575 {==}
2576 case WCon{True{}, w7}:
2577 match w7:
2578 case WCon{False{}, w8}:
2579 match w8:
2580 case WNil{}:
2581 {==}
2582 case WCon{True{}, w8}:
2583 match w8:
2584 case WNil{}:
2585 {==}
2586 case WCon{True{}, w6}:
2587 match w6:
2588 case WCon{False{}, w7}:
2589 match w7:
2590 case WCon{False{}, w8}:
2591 match w8:
2592 case WNil{}:
2593 {==}
2594 case WCon{True{}, w8}:
2595 match w8:
2596 case WNil{}:
2597 {==}
2598 case WCon{True{}, w7}:
2599 match w7:
2600 case WCon{False{}, w8}:
2601 match w8:
2602 case WNil{}:
2603 {==}
2604 case WCon{True{}, w8}:
2605 match w8:
2606 case WNil{}:
2607 {==}
2608 case WCon{True{}, w4}:
2609 match w4:
2610 case WCon{False{}, w5}:
2611 match w5:
2612 case WCon{False{}, w6}:
2613 match w6:
2614 case WCon{False{}, w7}:
2615 match w7:
2616 case WCon{False{}, w8}:
2617 match w8:
2618 case WNil{}:
2619 {==}
2620 case WCon{True{}, w8}:
2621 match w8:
2622 case WNil{}:
2623 {==}
2624 case WCon{True{}, w7}:
2625 match w7:
2626 case WCon{False{}, w8}:
2627 match w8:
2628 case WNil{}:
2629 {==}
2630 case WCon{True{}, w8}:
2631 match w8:
2632 case WNil{}:
2633 {==}
2634 case WCon{True{}, w6}:
2635 match w6:
2636 case WCon{False{}, w7}:
2637 match w7:
2638 case WCon{False{}, w8}:
2639 match w8:
2640 case WNil{}:
2641 {==}
2642 case WCon{True{}, w8}:
2643 match w8:
2644 case WNil{}:
2645 {==}
2646 case WCon{True{}, w7}:
2647 match w7:
2648 case WCon{False{}, w8}:
2649 match w8:
2650 case WNil{}:
2651 {==}
2652 case WCon{True{}, w8}:
2653 match w8:
2654 case WNil{}:
2655 {==}
2656 case WCon{True{}, w5}:
2657 match w5:
2658 case WCon{False{}, w6}:
2659 match w6:
2660 case WCon{False{}, w7}:
2661 match w7:
2662 case WCon{False{}, w8}:
2663 match w8:
2664 case WNil{}:
2665 {==}
2666 case WCon{True{}, w8}:
2667 match w8:
2668 case WNil{}:
2669 {==}
2670 case WCon{True{}, w7}:
2671 match w7:
2672 case WCon{False{}, w8}:
2673 match w8:
2674 case WNil{}:
2675 {==}
2676 case WCon{True{}, w8}:
2677 match w8:
2678 case WNil{}:
2679 {==}
2680 case WCon{True{}, w6}:
2681 match w6:
2682 case WCon{False{}, w7}:
2683 match w7:
2684 case WCon{False{}, w8}:
2685 match w8:
2686 case WNil{}:
2687 {==}
2688 case WCon{True{}, w8}:
2689 match w8:
2690 case WNil{}:
2691 {==}
2692 case WCon{True{}, w7}:
2693 match w7:
2694 case WCon{False{}, w8}:
2695 match w8:
2696 case WNil{}:
2697 {==}
2698 case WCon{True{}, w8}:
2699 match w8:
2700 case WNil{}:
2701 {==}
2702 case WCon{True{}, w2}:
2703 match w2:
2704 case WCon{False{}, w3}:
2705 match w3:
2706 case WCon{False{}, w4}:
2707 match w4:
2708 case WCon{False{}, w5}:
2709 match w5:
2710 case WCon{False{}, w6}:
2711 match w6:
2712 case WCon{False{}, w7}:
2713 match w7:
2714 case WCon{False{}, w8}:
2715 match w8:
2716 case WNil{}:
2717 {==}
2718 case WCon{True{}, w8}:
2719 match w8:
2720 case WNil{}:
2721 {==}
2722 case WCon{True{}, w7}:
2723 match w7:
2724 case WCon{False{}, w8}:
2725 match w8:
2726 case WNil{}:
2727 {==}
2728 case WCon{True{}, w8}:
2729 match w8:
2730 case WNil{}:
2731 {==}
2732 case WCon{True{}, w6}:
2733 match w6:
2734 case WCon{False{}, w7}:
2735 match w7:
2736 case WCon{False{}, w8}:
2737 match w8:
2738 case WNil{}:
2739 {==}
2740 case WCon{True{}, w8}:
2741 match w8:
2742 case WNil{}:
2743 {==}
2744 case WCon{True{}, w7}:
2745 match w7:
2746 case WCon{False{}, w8}:
2747 match w8:
2748 case WNil{}:
2749 {==}
2750 case WCon{True{}, w8}:
2751 match w8:
2752 case WNil{}:
2753 {==}
2754 case WCon{True{}, w5}:
2755 match w5:
2756 case WCon{False{}, w6}:
2757 match w6:
2758 case WCon{False{}, w7}:
2759 match w7:
2760 case WCon{False{}, w8}:
2761 match w8:
2762 case WNil{}:
2763 {==}
2764 case WCon{True{}, w8}:
2765 match w8:
2766 case WNil{}:
2767 {==}
2768 case WCon{True{}, w7}:
2769 match w7:
2770 case WCon{False{}, w8}:
2771 match w8:
2772 case WNil{}:
2773 {==}
2774 case WCon{True{}, w8}:
2775 match w8:
2776 case WNil{}:
2777 {==}
2778 case WCon{True{}, w6}:
2779 match w6:
2780 case WCon{False{}, w7}:
2781 match w7:
2782 case WCon{False{}, w8}:
2783 match w8:
2784 case WNil{}:
2785 {==}
2786 case WCon{True{}, w8}:
2787 match w8:
2788 case WNil{}:
2789 {==}
2790 case WCon{True{}, w7}:
2791 match w7:
2792 case WCon{False{}, w8}:
2793 match w8:
2794 case WNil{}:
2795 {==}
2796 case WCon{True{}, w8}:
2797 match w8:
2798 case WNil{}:
2799 {==}
2800 case WCon{True{}, w4}:
2801 match w4:
2802 case WCon{False{}, w5}:
2803 match w5:
2804 case WCon{False{}, w6}:
2805 match w6:
2806 case WCon{False{}, w7}:
2807 match w7:
2808 case WCon{False{}, w8}:
2809 match w8:
2810 case WNil{}:
2811 {==}
2812 case WCon{True{}, w8}:
2813 match w8:
2814 case WNil{}:
2815 {==}
2816 case WCon{True{}, w7}:
2817 match w7:
2818 case WCon{False{}, w8}:
2819 match w8:
2820 case WNil{}:
2821 {==}
2822 case WCon{True{}, w8}:
2823 match w8:
2824 case WNil{}:
2825 {==}
2826 case WCon{True{}, w6}:
2827 match w6:
2828 case WCon{False{}, w7}:
2829 match w7:
2830 case WCon{False{}, w8}:
2831 match w8:
2832 case WNil{}:
2833 {==}
2834 case WCon{True{}, w8}:
2835 match w8:
2836 case WNil{}:
2837 {==}
2838 case WCon{True{}, w7}:
2839 match w7:
2840 case WCon{False{}, w8}:
2841 match w8:
2842 case WNil{}:
2843 {==}
2844 case WCon{True{}, w8}:
2845 match w8:
2846 case WNil{}:
2847 {==}
2848 case WCon{True{}, w5}:
2849 match w5:
2850 case WCon{False{}, w6}:
2851 match w6:
2852 case WCon{False{}, w7}:
2853 match w7:
2854 case WCon{False{}, w8}:
2855 match w8:
2856 case WNil{}:
2857 {==}
2858 case WCon{True{}, w8}:
2859 match w8:
2860 case WNil{}:
2861 {==}
2862 case WCon{True{}, w7}:
2863 match w7:
2864 case WCon{False{}, w8}:
2865 match w8:
2866 case WNil{}:
2867 {==}
2868 case WCon{True{}, w8}:
2869 match w8:
2870 case WNil{}:
2871 {==}
2872 case WCon{True{}, w6}:
2873 match w6:
2874 case WCon{False{}, w7}:
2875 match w7:
2876 case WCon{False{}, w8}:
2877 match w8:
2878 case WNil{}:
2879 {==}
2880 case WCon{True{}, w8}:
2881 match w8:
2882 case WNil{}:
2883 {==}
2884 case WCon{True{}, w7}:
2885 match w7:
2886 case WCon{False{}, w8}:
2887 match w8:
2888 case WNil{}:
2889 {==}
2890 case WCon{True{}, w8}:
2891 match w8:
2892 case WNil{}:
2893 {==}
2894 case WCon{True{}, w3}:
2895 match w3:
2896 case WCon{False{}, w4}:
2897 match w4:
2898 case WCon{False{}, w5}:
2899 match w5:
2900 case WCon{False{}, w6}:
2901 match w6:
2902 case WCon{False{}, w7}:
2903 match w7:
2904 case WCon{False{}, w8}:
2905 match w8:
2906 case WNil{}:
2907 {==}
2908 case WCon{True{}, w8}:
2909 match w8:
2910 case WNil{}:
2911 {==}
2912 case WCon{True{}, w7}:
2913 match w7:
2914 case WCon{False{}, w8}:
2915 match w8:
2916 case WNil{}:
2917 {==}
2918 case WCon{True{}, w8}:
2919 match w8:
2920 case WNil{}:
2921 {==}
2922 case WCon{True{}, w6}:
2923 match w6:
2924 case WCon{False{}, w7}:
2925 match w7:
2926 case WCon{False{}, w8}:
2927 match w8:
2928 case WNil{}:
2929 {==}
2930 case WCon{True{}, w8}:
2931 match w8:
2932 case WNil{}:
2933 {==}
2934 case WCon{True{}, w7}:
2935 match w7:
2936 case WCon{False{}, w8}:
2937 match w8:
2938 case WNil{}:
2939 {==}
2940 case WCon{True{}, w8}:
2941 match w8:
2942 case WNil{}:
2943 {==}
2944 case WCon{True{}, w5}:
2945 match w5:
2946 case WCon{False{}, w6}:
2947 match w6:
2948 case WCon{False{}, w7}:
2949 match w7:
2950 case WCon{False{}, w8}:
2951 match w8:
2952 case WNil{}:
2953 {==}
2954 case WCon{True{}, w8}:
2955 match w8:
2956 case WNil{}:
2957 {==}
2958 case WCon{True{}, w7}:
2959 match w7:
2960 case WCon{False{}, w8}:
2961 match w8:
2962 case WNil{}:
2963 {==}
2964 case WCon{True{}, w8}:
2965 match w8:
2966 case WNil{}:
2967 {==}
2968 case WCon{True{}, w6}:
2969 match w6:
2970 case WCon{False{}, w7}:
2971 match w7:
2972 case WCon{False{}, w8}:
2973 match w8:
2974 case WNil{}:
2975 {==}
2976 case WCon{True{}, w8}:
2977 match w8:
2978 case WNil{}:
2979 {==}
2980 case WCon{True{}, w7}:
2981 match w7:
2982 case WCon{False{}, w8}:
2983 match w8:
2984 case WNil{}:
2985 {==}
2986 case WCon{True{}, w8}:
2987 match w8:
2988 case WNil{}:
2989 {==}
2990 case WCon{True{}, w4}:
2991 match w4:
2992 case WCon{False{}, w5}:
2993 match w5:
2994 case WCon{False{}, w6}:
2995 match w6:
2996 case WCon{False{}, w7}:
2997 match w7:
2998 case WCon{False{}, w8}:
2999 match w8:
3000 case WNil{}:
3001 {==}
3002 case WCon{True{}, w8}:
3003 match w8:
3004 case WNil{}:
3005 {==}
3006 case WCon{True{}, w7}:
3007 match w7:
3008 case WCon{False{}, w8}:
3009 match w8:
3010 case WNil{}:
3011 {==}
3012 case WCon{True{}, w8}:
3013 match w8:
3014 case WNil{}:
3015 {==}
3016 case WCon{True{}, w6}:
3017 match w6:
3018 case WCon{False{}, w7}:
3019 match w7:
3020 case WCon{False{}, w8}:
3021 match w8:
3022 case WNil{}:
3023 {==}
3024 case WCon{True{}, w8}:
3025 match w8:
3026 case WNil{}:
3027 {==}
3028 case WCon{True{}, w7}:
3029 match w7:
3030 case WCon{False{}, w8}:
3031 match w8:
3032 case WNil{}:
3033 {==}
3034 case WCon{True{}, w8}:
3035 match w8:
3036 case WNil{}:
3037 {==}
3038 case WCon{True{}, w5}:
3039 match w5:
3040 case WCon{False{}, w6}:
3041 match w6:
3042 case WCon{False{}, w7}:
3043 match w7:
3044 case WCon{False{}, w8}:
3045 match w8:
3046 case WNil{}:
3047 {==}
3048 case WCon{True{}, w8}:
3049 match w8:
3050 case WNil{}:
3051 {==}
3052 case WCon{True{}, w7}:
3053 match w7:
3054 case WCon{False{}, w8}:
3055 match w8:
3056 case WNil{}:
3057 {==}
3058 case WCon{True{}, w8}:
3059 match w8:
3060 case WNil{}:
3061 {==}
3062 case WCon{True{}, w6}:
3063 match w6:
3064 case WCon{False{}, w7}:
3065 match w7:
3066 case WCon{False{}, w8}:
3067 match w8:
3068 case WNil{}:
3069 {==}
3070 case WCon{True{}, w8}:
3071 match w8:
3072 case WNil{}:
3073 {==}
3074 case WCon{True{}, w7}:
3075 match w7:
3076 case WCon{False{}, w8}:
3077 match w8:
3078 case WNil{}:
3079 {==}
3080 case WCon{True{}, w8}:
3081 match w8:
3082 case WNil{}:
3083 {==}
3084
3085def aria_sb42(w0: Word(8n)) -> {w0 == A.aria.sb4(A.aria.sb2(w0)) : Word(8n)}:
3086 match w0:
3087 case WCon{False{}, w1}:
3088 match w1:
3089 case WCon{False{}, w2}:
3090 match w2:
3091 case WCon{False{}, w3}:
3092 match w3:
3093 case WCon{False{}, w4}:
3094 match w4:
3095 case WCon{False{}, w5}:
3096 match w5:
3097 case WCon{False{}, w6}:
3098 match w6:
3099 case WCon{False{}, w7}:
3100 match w7:
3101 case WCon{False{}, w8}:
3102 match w8:
3103 case WNil{}:
3104 {==}
3105 case WCon{True{}, w8}:
3106 match w8:
3107 case WNil{}:
3108 {==}
3109 case WCon{True{}, w7}:
3110 match w7:
3111 case WCon{False{}, w8}:
3112 match w8:
3113 case WNil{}:
3114 {==}
3115 case WCon{True{}, w8}:
3116 match w8:
3117 case WNil{}:
3118 {==}
3119 case WCon{True{}, w6}:
3120 match w6:
3121 case WCon{False{}, w7}:
3122 match w7:
3123 case WCon{False{}, w8}:
3124 match w8:
3125 case WNil{}:
3126 {==}
3127 case WCon{True{}, w8}:
3128 match w8:
3129 case WNil{}:
3130 {==}
3131 case WCon{True{}, w7}:
3132 match w7:
3133 case WCon{False{}, w8}:
3134 match w8:
3135 case WNil{}:
3136 {==}
3137 case WCon{True{}, w8}:
3138 match w8:
3139 case WNil{}:
3140 {==}
3141 case WCon{True{}, w5}:
3142 match w5:
3143 case WCon{False{}, w6}:
3144 match w6:
3145 case WCon{False{}, w7}:
3146 match w7:
3147 case WCon{False{}, w8}:
3148 match w8:
3149 case WNil{}:
3150 {==}
3151 case WCon{True{}, w8}:
3152 match w8:
3153 case WNil{}:
3154 {==}
3155 case WCon{True{}, w7}:
3156 match w7:
3157 case WCon{False{}, w8}:
3158 match w8:
3159 case WNil{}:
3160 {==}
3161 case WCon{True{}, w8}:
3162 match w8:
3163 case WNil{}:
3164 {==}
3165 case WCon{True{}, w6}:
3166 match w6:
3167 case WCon{False{}, w7}:
3168 match w7:
3169 case WCon{False{}, w8}:
3170 match w8:
3171 case WNil{}:
3172 {==}
3173 case WCon{True{}, w8}:
3174 match w8:
3175 case WNil{}:
3176 {==}
3177 case WCon{True{}, w7}:
3178 match w7:
3179 case WCon{False{}, w8}:
3180 match w8:
3181 case WNil{}:
3182 {==}
3183 case WCon{True{}, w8}:
3184 match w8:
3185 case WNil{}:
3186 {==}
3187 case WCon{True{}, w4}:
3188 match w4:
3189 case WCon{False{}, w5}:
3190 match w5:
3191 case WCon{False{}, w6}:
3192 match w6:
3193 case WCon{False{}, w7}:
3194 match w7:
3195 case WCon{False{}, w8}:
3196 match w8:
3197 case WNil{}:
3198 {==}
3199 case WCon{True{}, w8}:
3200 match w8:
3201 case WNil{}:
3202 {==}
3203 case WCon{True{}, w7}:
3204 match w7:
3205 case WCon{False{}, w8}:
3206 match w8:
3207 case WNil{}:
3208 {==}
3209 case WCon{True{}, w8}:
3210 match w8:
3211 case WNil{}:
3212 {==}
3213 case WCon{True{}, w6}:
3214 match w6:
3215 case WCon{False{}, w7}:
3216 match w7:
3217 case WCon{False{}, w8}:
3218 match w8:
3219 case WNil{}:
3220 {==}
3221 case WCon{True{}, w8}:
3222 match w8:
3223 case WNil{}:
3224 {==}
3225 case WCon{True{}, w7}:
3226 match w7:
3227 case WCon{False{}, w8}:
3228 match w8:
3229 case WNil{}:
3230 {==}
3231 case WCon{True{}, w8}:
3232 match w8:
3233 case WNil{}:
3234 {==}
3235 case WCon{True{}, w5}:
3236 match w5:
3237 case WCon{False{}, w6}:
3238 match w6:
3239 case WCon{False{}, w7}:
3240 match w7:
3241 case WCon{False{}, w8}:
3242 match w8:
3243 case WNil{}:
3244 {==}
3245 case WCon{True{}, w8}:
3246 match w8:
3247 case WNil{}:
3248 {==}
3249 case WCon{True{}, w7}:
3250 match w7:
3251 case WCon{False{}, w8}:
3252 match w8:
3253 case WNil{}:
3254 {==}
3255 case WCon{True{}, w8}:
3256 match w8:
3257 case WNil{}:
3258 {==}
3259 case WCon{True{}, w6}:
3260 match w6:
3261 case WCon{False{}, w7}:
3262 match w7:
3263 case WCon{False{}, w8}:
3264 match w8:
3265 case WNil{}:
3266 {==}
3267 case WCon{True{}, w8}:
3268 match w8:
3269 case WNil{}:
3270 {==}
3271 case WCon{True{}, w7}:
3272 match w7:
3273 case WCon{False{}, w8}:
3274 match w8:
3275 case WNil{}:
3276 {==}
3277 case WCon{True{}, w8}:
3278 match w8:
3279 case WNil{}:
3280 {==}
3281 case WCon{True{}, w3}:
3282 match w3:
3283 case WCon{False{}, w4}:
3284 match w4:
3285 case WCon{False{}, w5}:
3286 match w5:
3287 case WCon{False{}, w6}:
3288 match w6:
3289 case WCon{False{}, w7}:
3290 match w7:
3291 case WCon{False{}, w8}:
3292 match w8:
3293 case WNil{}:
3294 {==}
3295 case WCon{True{}, w8}:
3296 match w8:
3297 case WNil{}:
3298 {==}
3299 case WCon{True{}, w7}:
3300 match w7:
3301 case WCon{False{}, w8}:
3302 match w8:
3303 case WNil{}:
3304 {==}
3305 case WCon{True{}, w8}:
3306 match w8:
3307 case WNil{}:
3308 {==}
3309 case WCon{True{}, w6}:
3310 match w6:
3311 case WCon{False{}, w7}:
3312 match w7:
3313 case WCon{False{}, w8}:
3314 match w8:
3315 case WNil{}:
3316 {==}
3317 case WCon{True{}, w8}:
3318 match w8:
3319 case WNil{}:
3320 {==}
3321 case WCon{True{}, w7}:
3322 match w7:
3323 case WCon{False{}, w8}:
3324 match w8:
3325 case WNil{}:
3326 {==}
3327 case WCon{True{}, w8}:
3328 match w8:
3329 case WNil{}:
3330 {==}
3331 case WCon{True{}, w5}:
3332 match w5:
3333 case WCon{False{}, w6}:
3334 match w6:
3335 case WCon{False{}, w7}:
3336 match w7:
3337 case WCon{False{}, w8}:
3338 match w8:
3339 case WNil{}:
3340 {==}
3341 case WCon{True{}, w8}:
3342 match w8:
3343 case WNil{}:
3344 {==}
3345 case WCon{True{}, w7}:
3346 match w7:
3347 case WCon{False{}, w8}:
3348 match w8:
3349 case WNil{}:
3350 {==}
3351 case WCon{True{}, w8}:
3352 match w8:
3353 case WNil{}:
3354 {==}
3355 case WCon{True{}, w6}:
3356 match w6:
3357 case WCon{False{}, w7}:
3358 match w7:
3359 case WCon{False{}, w8}:
3360 match w8:
3361 case WNil{}:
3362 {==}
3363 case WCon{True{}, w8}:
3364 match w8:
3365 case WNil{}:
3366 {==}
3367 case WCon{True{}, w7}:
3368 match w7:
3369 case WCon{False{}, w8}:
3370 match w8:
3371 case WNil{}:
3372 {==}
3373 case WCon{True{}, w8}:
3374 match w8:
3375 case WNil{}:
3376 {==}
3377 case WCon{True{}, w4}:
3378 match w4:
3379 case WCon{False{}, w5}:
3380 match w5:
3381 case WCon{False{}, w6}:
3382 match w6:
3383 case WCon{False{}, w7}:
3384 match w7:
3385 case WCon{False{}, w8}:
3386 match w8:
3387 case WNil{}:
3388 {==}
3389 case WCon{True{}, w8}:
3390 match w8:
3391 case WNil{}:
3392 {==}
3393 case WCon{True{}, w7}:
3394 match w7:
3395 case WCon{False{}, w8}:
3396 match w8:
3397 case WNil{}:
3398 {==}
3399 case WCon{True{}, w8}:
3400 match w8:
3401 case WNil{}:
3402 {==}
3403 case WCon{True{}, w6}:
3404 match w6:
3405 case WCon{False{}, w7}:
3406 match w7:
3407 case WCon{False{}, w8}:
3408 match w8:
3409 case WNil{}:
3410 {==}
3411 case WCon{True{}, w8}:
3412 match w8:
3413 case WNil{}:
3414 {==}
3415 case WCon{True{}, w7}:
3416 match w7:
3417 case WCon{False{}, w8}:
3418 match w8:
3419 case WNil{}:
3420 {==}
3421 case WCon{True{}, w8}:
3422 match w8:
3423 case WNil{}:
3424 {==}
3425 case WCon{True{}, w5}:
3426 match w5:
3427 case WCon{False{}, w6}:
3428 match w6:
3429 case WCon{False{}, w7}:
3430 match w7:
3431 case WCon{False{}, w8}:
3432 match w8:
3433 case WNil{}:
3434 {==}
3435 case WCon{True{}, w8}:
3436 match w8:
3437 case WNil{}:
3438 {==}
3439 case WCon{True{}, w7}:
3440 match w7:
3441 case WCon{False{}, w8}:
3442 match w8:
3443 case WNil{}:
3444 {==}
3445 case WCon{True{}, w8}:
3446 match w8:
3447 case WNil{}:
3448 {==}
3449 case WCon{True{}, w6}:
3450 match w6:
3451 case WCon{False{}, w7}:
3452 match w7:
3453 case WCon{False{}, w8}:
3454 match w8:
3455 case WNil{}:
3456 {==}
3457 case WCon{True{}, w8}:
3458 match w8:
3459 case WNil{}:
3460 {==}
3461 case WCon{True{}, w7}:
3462 match w7:
3463 case WCon{False{}, w8}:
3464 match w8:
3465 case WNil{}:
3466 {==}
3467 case WCon{True{}, w8}:
3468 match w8:
3469 case WNil{}:
3470 {==}
3471 case WCon{True{}, w2}:
3472 match w2:
3473 case WCon{False{}, w3}:
3474 match w3:
3475 case WCon{False{}, w4}:
3476 match w4:
3477 case WCon{False{}, w5}:
3478 match w5:
3479 case WCon{False{}, w6}:
3480 match w6:
3481 case WCon{False{}, w7}:
3482 match w7:
3483 case WCon{False{}, w8}:
3484 match w8:
3485 case WNil{}:
3486 {==}
3487 case WCon{True{}, w8}:
3488 match w8:
3489 case WNil{}:
3490 {==}
3491 case WCon{True{}, w7}:
3492 match w7:
3493 case WCon{False{}, w8}:
3494 match w8:
3495 case WNil{}:
3496 {==}
3497 case WCon{True{}, w8}:
3498 match w8:
3499 case WNil{}:
3500 {==}
3501 case WCon{True{}, w6}:
3502 match w6:
3503 case WCon{False{}, w7}:
3504 match w7:
3505 case WCon{False{}, w8}:
3506 match w8:
3507 case WNil{}:
3508 {==}
3509 case WCon{True{}, w8}:
3510 match w8:
3511 case WNil{}:
3512 {==}
3513 case WCon{True{}, w7}:
3514 match w7:
3515 case WCon{False{}, w8}:
3516 match w8:
3517 case WNil{}:
3518 {==}
3519 case WCon{True{}, w8}:
3520 match w8:
3521 case WNil{}:
3522 {==}
3523 case WCon{True{}, w5}:
3524 match w5:
3525 case WCon{False{}, w6}:
3526 match w6:
3527 case WCon{False{}, w7}:
3528 match w7:
3529 case WCon{False{}, w8}:
3530 match w8:
3531 case WNil{}:
3532 {==}
3533 case WCon{True{}, w8}:
3534 match w8:
3535 case WNil{}:
3536 {==}
3537 case WCon{True{}, w7}:
3538 match w7:
3539 case WCon{False{}, w8}:
3540 match w8:
3541 case WNil{}:
3542 {==}
3543 case WCon{True{}, w8}:
3544 match w8:
3545 case WNil{}:
3546 {==}
3547 case WCon{True{}, w6}:
3548 match w6:
3549 case WCon{False{}, w7}:
3550 match w7:
3551 case WCon{False{}, w8}:
3552 match w8:
3553 case WNil{}:
3554 {==}
3555 case WCon{True{}, w8}:
3556 match w8:
3557 case WNil{}:
3558 {==}
3559 case WCon{True{}, w7}:
3560 match w7:
3561 case WCon{False{}, w8}:
3562 match w8:
3563 case WNil{}:
3564 {==}
3565 case WCon{True{}, w8}:
3566 match w8:
3567 case WNil{}:
3568 {==}
3569 case WCon{True{}, w4}:
3570 match w4:
3571 case WCon{False{}, w5}:
3572 match w5:
3573 case WCon{False{}, w6}:
3574 match w6:
3575 case WCon{False{}, w7}:
3576 match w7:
3577 case WCon{False{}, w8}:
3578 match w8:
3579 case WNil{}:
3580 {==}
3581 case WCon{True{}, w8}:
3582 match w8:
3583 case WNil{}:
3584 {==}
3585 case WCon{True{}, w7}:
3586 match w7:
3587 case WCon{False{}, w8}:
3588 match w8:
3589 case WNil{}:
3590 {==}
3591 case WCon{True{}, w8}:
3592 match w8:
3593 case WNil{}:
3594 {==}
3595 case WCon{True{}, w6}:
3596 match w6:
3597 case WCon{False{}, w7}:
3598 match w7:
3599 case WCon{False{}, w8}:
3600 match w8:
3601 case WNil{}:
3602 {==}
3603 case WCon{True{}, w8}:
3604 match w8:
3605 case WNil{}:
3606 {==}
3607 case WCon{True{}, w7}:
3608 match w7:
3609 case WCon{False{}, w8}:
3610 match w8:
3611 case WNil{}:
3612 {==}
3613 case WCon{True{}, w8}:
3614 match w8:
3615 case WNil{}:
3616 {==}
3617 case WCon{True{}, w5}:
3618 match w5:
3619 case WCon{False{}, w6}:
3620 match w6:
3621 case WCon{False{}, w7}:
3622 match w7:
3623 case WCon{False{}, w8}:
3624 match w8:
3625 case WNil{}:
3626 {==}
3627 case WCon{True{}, w8}:
3628 match w8:
3629 case WNil{}:
3630 {==}
3631 case WCon{True{}, w7}:
3632 match w7:
3633 case WCon{False{}, w8}:
3634 match w8:
3635 case WNil{}:
3636 {==}
3637 case WCon{True{}, w8}:
3638 match w8:
3639 case WNil{}:
3640 {==}
3641 case WCon{True{}, w6}:
3642 match w6:
3643 case WCon{False{}, w7}:
3644 match w7:
3645 case WCon{False{}, w8}:
3646 match w8:
3647 case WNil{}:
3648 {==}
3649 case WCon{True{}, w8}:
3650 match w8:
3651 case WNil{}:
3652 {==}
3653 case WCon{True{}, w7}:
3654 match w7:
3655 case WCon{False{}, w8}:
3656 match w8:
3657 case WNil{}:
3658 {==}
3659 case WCon{True{}, w8}:
3660 match w8:
3661 case WNil{}:
3662 {==}
3663 case WCon{True{}, w3}:
3664 match w3:
3665 case WCon{False{}, w4}:
3666 match w4:
3667 case WCon{False{}, w5}:
3668 match w5:
3669 case WCon{False{}, w6}:
3670 match w6:
3671 case WCon{False{}, w7}:
3672 match w7:
3673 case WCon{False{}, w8}:
3674 match w8:
3675 case WNil{}:
3676 {==}
3677 case WCon{True{}, w8}:
3678 match w8:
3679 case WNil{}:
3680 {==}
3681 case WCon{True{}, w7}:
3682 match w7:
3683 case WCon{False{}, w8}:
3684 match w8:
3685 case WNil{}:
3686 {==}
3687 case WCon{True{}, w8}:
3688 match w8:
3689 case WNil{}:
3690 {==}
3691 case WCon{True{}, w6}:
3692 match w6:
3693 case WCon{False{}, w7}:
3694 match w7:
3695 case WCon{False{}, w8}:
3696 match w8:
3697 case WNil{}:
3698 {==}
3699 case WCon{True{}, w8}:
3700 match w8:
3701 case WNil{}:
3702 {==}
3703 case WCon{True{}, w7}:
3704 match w7:
3705 case WCon{False{}, w8}:
3706 match w8:
3707 case WNil{}:
3708 {==}
3709 case WCon{True{}, w8}:
3710 match w8:
3711 case WNil{}:
3712 {==}
3713 case WCon{True{}, w5}:
3714 match w5:
3715 case WCon{False{}, w6}:
3716 match w6:
3717 case WCon{False{}, w7}:
3718 match w7:
3719 case WCon{False{}, w8}:
3720 match w8:
3721 case WNil{}:
3722 {==}
3723 case WCon{True{}, w8}:
3724 match w8:
3725 case WNil{}:
3726 {==}
3727 case WCon{True{}, w7}:
3728 match w7:
3729 case WCon{False{}, w8}:
3730 match w8:
3731 case WNil{}:
3732 {==}
3733 case WCon{True{}, w8}:
3734 match w8:
3735 case WNil{}:
3736 {==}
3737 case WCon{True{}, w6}:
3738 match w6:
3739 case WCon{False{}, w7}:
3740 match w7:
3741 case WCon{False{}, w8}:
3742 match w8:
3743 case WNil{}:
3744 {==}
3745 case WCon{True{}, w8}:
3746 match w8:
3747 case WNil{}:
3748 {==}
3749 case WCon{True{}, w7}:
3750 match w7:
3751 case WCon{False{}, w8}:
3752 match w8:
3753 case WNil{}:
3754 {==}
3755 case WCon{True{}, w8}:
3756 match w8:
3757 case WNil{}:
3758 {==}
3759 case WCon{True{}, w4}:
3760 match w4:
3761 case WCon{False{}, w5}:
3762 match w5:
3763 case WCon{False{}, w6}:
3764 match w6:
3765 case WCon{False{}, w7}:
3766 match w7:
3767 case WCon{False{}, w8}:
3768 match w8:
3769 case WNil{}:
3770 {==}
3771 case WCon{True{}, w8}:
3772 match w8:
3773 case WNil{}:
3774 {==}
3775 case WCon{True{}, w7}:
3776 match w7:
3777 case WCon{False{}, w8}:
3778 match w8:
3779 case WNil{}:
3780 {==}
3781 case WCon{True{}, w8}:
3782 match w8:
3783 case WNil{}:
3784 {==}
3785 case WCon{True{}, w6}:
3786 match w6:
3787 case WCon{False{}, w7}:
3788 match w7:
3789 case WCon{False{}, w8}:
3790 match w8:
3791 case WNil{}:
3792 {==}
3793 case WCon{True{}, w8}:
3794 match w8:
3795 case WNil{}:
3796 {==}
3797 case WCon{True{}, w7}:
3798 match w7:
3799 case WCon{False{}, w8}:
3800 match w8:
3801 case WNil{}:
3802 {==}
3803 case WCon{True{}, w8}:
3804 match w8:
3805 case WNil{}:
3806 {==}
3807 case WCon{True{}, w5}:
3808 match w5:
3809 case WCon{False{}, w6}:
3810 match w6:
3811 case WCon{False{}, w7}:
3812 match w7:
3813 case WCon{False{}, w8}:
3814 match w8:
3815 case WNil{}:
3816 {==}
3817 case WCon{True{}, w8}:
3818 match w8:
3819 case WNil{}:
3820 {==}
3821 case WCon{True{}, w7}:
3822 match w7:
3823 case WCon{False{}, w8}:
3824 match w8:
3825 case WNil{}:
3826 {==}
3827 case WCon{True{}, w8}:
3828 match w8:
3829 case WNil{}:
3830 {==}
3831 case WCon{True{}, w6}:
3832 match w6:
3833 case WCon{False{}, w7}:
3834 match w7:
3835 case WCon{False{}, w8}:
3836 match w8:
3837 case WNil{}:
3838 {==}
3839 case WCon{True{}, w8}:
3840 match w8:
3841 case WNil{}:
3842 {==}
3843 case WCon{True{}, w7}:
3844 match w7:
3845 case WCon{False{}, w8}:
3846 match w8:
3847 case WNil{}:
3848 {==}
3849 case WCon{True{}, w8}:
3850 match w8:
3851 case WNil{}:
3852 {==}
3853 case WCon{True{}, w1}:
3854 match w1:
3855 case WCon{False{}, w2}:
3856 match w2:
3857 case WCon{False{}, w3}:
3858 match w3:
3859 case WCon{False{}, w4}:
3860 match w4:
3861 case WCon{False{}, w5}:
3862 match w5:
3863 case WCon{False{}, w6}:
3864 match w6:
3865 case WCon{False{}, w7}:
3866 match w7:
3867 case WCon{False{}, w8}:
3868 match w8:
3869 case WNil{}:
3870 {==}
3871 case WCon{True{}, w8}:
3872 match w8:
3873 case WNil{}:
3874 {==}
3875 case WCon{True{}, w7}:
3876 match w7:
3877 case WCon{False{}, w8}:
3878 match w8:
3879 case WNil{}:
3880 {==}
3881 case WCon{True{}, w8}:
3882 match w8:
3883 case WNil{}:
3884 {==}
3885 case WCon{True{}, w6}:
3886 match w6:
3887 case WCon{False{}, w7}:
3888 match w7:
3889 case WCon{False{}, w8}:
3890 match w8:
3891 case WNil{}:
3892 {==}
3893 case WCon{True{}, w8}:
3894 match w8:
3895 case WNil{}:
3896 {==}
3897 case WCon{True{}, w7}:
3898 match w7:
3899 case WCon{False{}, w8}:
3900 match w8:
3901 case WNil{}:
3902 {==}
3903 case WCon{True{}, w8}:
3904 match w8:
3905 case WNil{}:
3906 {==}
3907 case WCon{True{}, w5}:
3908 match w5:
3909 case WCon{False{}, w6}:
3910 match w6:
3911 case WCon{False{}, w7}:
3912 match w7:
3913 case WCon{False{}, w8}:
3914 match w8:
3915 case WNil{}:
3916 {==}
3917 case WCon{True{}, w8}:
3918 match w8:
3919 case WNil{}:
3920 {==}
3921 case WCon{True{}, w7}:
3922 match w7:
3923 case WCon{False{}, w8}:
3924 match w8:
3925 case WNil{}:
3926 {==}
3927 case WCon{True{}, w8}:
3928 match w8:
3929 case WNil{}:
3930 {==}
3931 case WCon{True{}, w6}:
3932 match w6:
3933 case WCon{False{}, w7}:
3934 match w7:
3935 case WCon{False{}, w8}:
3936 match w8:
3937 case WNil{}:
3938 {==}
3939 case WCon{True{}, w8}:
3940 match w8:
3941 case WNil{}:
3942 {==}
3943 case WCon{True{}, w7}:
3944 match w7:
3945 case WCon{False{}, w8}:
3946 match w8:
3947 case WNil{}:
3948 {==}
3949 case WCon{True{}, w8}:
3950 match w8:
3951 case WNil{}:
3952 {==}
3953 case WCon{True{}, w4}:
3954 match w4:
3955 case WCon{False{}, w5}:
3956 match w5:
3957 case WCon{False{}, w6}:
3958 match w6:
3959 case WCon{False{}, w7}:
3960 match w7:
3961 case WCon{False{}, w8}:
3962 match w8:
3963 case WNil{}:
3964 {==}
3965 case WCon{True{}, w8}:
3966 match w8:
3967 case WNil{}:
3968 {==}
3969 case WCon{True{}, w7}:
3970 match w7:
3971 case WCon{False{}, w8}:
3972 match w8:
3973 case WNil{}:
3974 {==}
3975 case WCon{True{}, w8}:
3976 match w8:
3977 case WNil{}:
3978 {==}
3979 case WCon{True{}, w6}:
3980 match w6:
3981 case WCon{False{}, w7}:
3982 match w7:
3983 case WCon{False{}, w8}:
3984 match w8:
3985 case WNil{}:
3986 {==}
3987 case WCon{True{}, w8}:
3988 match w8:
3989 case WNil{}:
3990 {==}
3991 case WCon{True{}, w7}:
3992 match w7:
3993 case WCon{False{}, w8}:
3994 match w8:
3995 case WNil{}:
3996 {==}
3997 case WCon{True{}, w8}:
3998 match w8:
3999 case WNil{}:
4000 {==}
4001 case WCon{True{}, w5}:
4002 match w5:
4003 case WCon{False{}, w6}:
4004 match w6:
4005 case WCon{False{}, w7}:
4006 match w7:
4007 case WCon{False{}, w8}:
4008 match w8:
4009 case WNil{}:
4010 {==}
4011 case WCon{True{}, w8}:
4012 match w8:
4013 case WNil{}:
4014 {==}
4015 case WCon{True{}, w7}:
4016 match w7:
4017 case WCon{False{}, w8}:
4018 match w8:
4019 case WNil{}:
4020 {==}
4021 case WCon{True{}, w8}:
4022 match w8:
4023 case WNil{}:
4024 {==}
4025 case WCon{True{}, w6}:
4026 match w6:
4027 case WCon{False{}, w7}:
4028 match w7:
4029 case WCon{False{}, w8}:
4030 match w8:
4031 case WNil{}:
4032 {==}
4033 case WCon{True{}, w8}:
4034 match w8:
4035 case WNil{}:
4036 {==}
4037 case WCon{True{}, w7}:
4038 match w7:
4039 case WCon{False{}, w8}:
4040 match w8:
4041 case WNil{}:
4042 {==}
4043 case WCon{True{}, w8}:
4044 match w8:
4045 case WNil{}:
4046 {==}
4047 case WCon{True{}, w3}:
4048 match w3:
4049 case WCon{False{}, w4}:
4050 match w4:
4051 case WCon{False{}, w5}:
4052 match w5:
4053 case WCon{False{}, w6}:
4054 match w6:
4055 case WCon{False{}, w7}:
4056 match w7:
4057 case WCon{False{}, w8}:
4058 match w8:
4059 case WNil{}:
4060 {==}
4061 case WCon{True{}, w8}:
4062 match w8:
4063 case WNil{}:
4064 {==}
4065 case WCon{True{}, w7}:
4066 match w7:
4067 case WCon{False{}, w8}:
4068 match w8:
4069 case WNil{}:
4070 {==}
4071 case WCon{True{}, w8}:
4072 match w8:
4073 case WNil{}:
4074 {==}
4075 case WCon{True{}, w6}:
4076 match w6:
4077 case WCon{False{}, w7}:
4078 match w7:
4079 case WCon{False{}, w8}:
4080 match w8:
4081 case WNil{}:
4082 {==}
4083 case WCon{True{}, w8}:
4084 match w8:
4085 case WNil{}:
4086 {==}
4087 case WCon{True{}, w7}:
4088 match w7:
4089 case WCon{False{}, w8}:
4090 match w8:
4091 case WNil{}:
4092 {==}
4093 case WCon{True{}, w8}:
4094 match w8:
4095 case WNil{}:
4096 {==}
4097 case WCon{True{}, w5}:
4098 match w5:
4099 case WCon{False{}, w6}:
4100 match w6:
4101 case WCon{False{}, w7}:
4102 match w7:
4103 case WCon{False{}, w8}:
4104 match w8:
4105 case WNil{}:
4106 {==}
4107 case WCon{True{}, w8}:
4108 match w8:
4109 case WNil{}:
4110 {==}
4111 case WCon{True{}, w7}:
4112 match w7:
4113 case WCon{False{}, w8}:
4114 match w8:
4115 case WNil{}:
4116 {==}
4117 case WCon{True{}, w8}:
4118 match w8:
4119 case WNil{}:
4120 {==}
4121 case WCon{True{}, w6}:
4122 match w6:
4123 case WCon{False{}, w7}:
4124 match w7:
4125 case WCon{False{}, w8}:
4126 match w8:
4127 case WNil{}:
4128 {==}
4129 case WCon{True{}, w8}:
4130 match w8:
4131 case WNil{}:
4132 {==}
4133 case WCon{True{}, w7}:
4134 match w7:
4135 case WCon{False{}, w8}:
4136 match w8:
4137 case WNil{}:
4138 {==}
4139 case WCon{True{}, w8}:
4140 match w8:
4141 case WNil{}:
4142 {==}
4143 case WCon{True{}, w4}:
4144 match w4:
4145 case WCon{False{}, w5}:
4146 match w5:
4147 case WCon{False{}, w6}:
4148 match w6:
4149 case WCon{False{}, w7}:
4150 match w7:
4151 case WCon{False{}, w8}:
4152 match w8:
4153 case WNil{}:
4154 {==}
4155 case WCon{True{}, w8}:
4156 match w8:
4157 case WNil{}:
4158 {==}
4159 case WCon{True{}, w7}:
4160 match w7:
4161 case WCon{False{}, w8}:
4162 match w8:
4163 case WNil{}:
4164 {==}
4165 case WCon{True{}, w8}:
4166 match w8:
4167 case WNil{}:
4168 {==}
4169 case WCon{True{}, w6}:
4170 match w6:
4171 case WCon{False{}, w7}:
4172 match w7:
4173 case WCon{False{}, w8}:
4174 match w8:
4175 case WNil{}:
4176 {==}
4177 case WCon{True{}, w8}:
4178 match w8:
4179 case WNil{}:
4180 {==}
4181 case WCon{True{}, w7}:
4182 match w7:
4183 case WCon{False{}, w8}:
4184 match w8:
4185 case WNil{}:
4186 {==}
4187 case WCon{True{}, w8}:
4188 match w8:
4189 case WNil{}:
4190 {==}
4191 case WCon{True{}, w5}:
4192 match w5:
4193 case WCon{False{}, w6}:
4194 match w6:
4195 case WCon{False{}, w7}:
4196 match w7:
4197 case WCon{False{}, w8}:
4198 match w8:
4199 case WNil{}:
4200 {==}
4201 case WCon{True{}, w8}:
4202 match w8:
4203 case WNil{}:
4204 {==}
4205 case WCon{True{}, w7}:
4206 match w7:
4207 case WCon{False{}, w8}:
4208 match w8:
4209 case WNil{}:
4210 {==}
4211 case WCon{True{}, w8}:
4212 match w8:
4213 case WNil{}:
4214 {==}
4215 case WCon{True{}, w6}:
4216 match w6:
4217 case WCon{False{}, w7}:
4218 match w7:
4219 case WCon{False{}, w8}:
4220 match w8:
4221 case WNil{}:
4222 {==}
4223 case WCon{True{}, w8}:
4224 match w8:
4225 case WNil{}:
4226 {==}
4227 case WCon{True{}, w7}:
4228 match w7:
4229 case WCon{False{}, w8}:
4230 match w8:
4231 case WNil{}:
4232 {==}
4233 case WCon{True{}, w8}:
4234 match w8:
4235 case WNil{}:
4236 {==}
4237 case WCon{True{}, w2}:
4238 match w2:
4239 case WCon{False{}, w3}:
4240 match w3:
4241 case WCon{False{}, w4}:
4242 match w4:
4243 case WCon{False{}, w5}:
4244 match w5:
4245 case WCon{False{}, w6}:
4246 match w6:
4247 case WCon{False{}, w7}:
4248 match w7:
4249 case WCon{False{}, w8}:
4250 match w8:
4251 case WNil{}:
4252 {==}
4253 case WCon{True{}, w8}:
4254 match w8:
4255 case WNil{}:
4256 {==}
4257 case WCon{True{}, w7}:
4258 match w7:
4259 case WCon{False{}, w8}:
4260 match w8:
4261 case WNil{}:
4262 {==}
4263 case WCon{True{}, w8}:
4264 match w8:
4265 case WNil{}:
4266 {==}
4267 case WCon{True{}, w6}:
4268 match w6:
4269 case WCon{False{}, w7}:
4270 match w7:
4271 case WCon{False{}, w8}:
4272 match w8:
4273 case WNil{}:
4274 {==}
4275 case WCon{True{}, w8}:
4276 match w8:
4277 case WNil{}:
4278 {==}
4279 case WCon{True{}, w7}:
4280 match w7:
4281 case WCon{False{}, w8}:
4282 match w8:
4283 case WNil{}:
4284 {==}
4285 case WCon{True{}, w8}:
4286 match w8:
4287 case WNil{}:
4288 {==}
4289 case WCon{True{}, w5}:
4290 match w5:
4291 case WCon{False{}, w6}:
4292 match w6:
4293 case WCon{False{}, w7}:
4294 match w7:
4295 case WCon{False{}, w8}:
4296 match w8:
4297 case WNil{}:
4298 {==}
4299 case WCon{True{}, w8}:
4300 match w8:
4301 case WNil{}:
4302 {==}
4303 case WCon{True{}, w7}:
4304 match w7:
4305 case WCon{False{}, w8}:
4306 match w8:
4307 case WNil{}:
4308 {==}
4309 case WCon{True{}, w8}:
4310 match w8:
4311 case WNil{}:
4312 {==}
4313 case WCon{True{}, w6}:
4314 match w6:
4315 case WCon{False{}, w7}:
4316 match w7:
4317 case WCon{False{}, w8}:
4318 match w8:
4319 case WNil{}:
4320 {==}
4321 case WCon{True{}, w8}:
4322 match w8:
4323 case WNil{}:
4324 {==}
4325 case WCon{True{}, w7}:
4326 match w7:
4327 case WCon{False{}, w8}:
4328 match w8:
4329 case WNil{}:
4330 {==}
4331 case WCon{True{}, w8}:
4332 match w8:
4333 case WNil{}:
4334 {==}
4335 case WCon{True{}, w4}:
4336 match w4:
4337 case WCon{False{}, w5}:
4338 match w5:
4339 case WCon{False{}, w6}:
4340 match w6:
4341 case WCon{False{}, w7}:
4342 match w7:
4343 case WCon{False{}, w8}:
4344 match w8:
4345 case WNil{}:
4346 {==}
4347 case WCon{True{}, w8}:
4348 match w8:
4349 case WNil{}:
4350 {==}
4351 case WCon{True{}, w7}:
4352 match w7:
4353 case WCon{False{}, w8}:
4354 match w8:
4355 case WNil{}:
4356 {==}
4357 case WCon{True{}, w8}:
4358 match w8:
4359 case WNil{}:
4360 {==}
4361 case WCon{True{}, w6}:
4362 match w6:
4363 case WCon{False{}, w7}:
4364 match w7:
4365 case WCon{False{}, w8}:
4366 match w8:
4367 case WNil{}:
4368 {==}
4369 case WCon{True{}, w8}:
4370 match w8:
4371 case WNil{}:
4372 {==}
4373 case WCon{True{}, w7}:
4374 match w7:
4375 case WCon{False{}, w8}:
4376 match w8:
4377 case WNil{}:
4378 {==}
4379 case WCon{True{}, w8}:
4380 match w8:
4381 case WNil{}:
4382 {==}
4383 case WCon{True{}, w5}:
4384 match w5:
4385 case WCon{False{}, w6}:
4386 match w6:
4387 case WCon{False{}, w7}:
4388 match w7:
4389 case WCon{False{}, w8}:
4390 match w8:
4391 case WNil{}:
4392 {==}
4393 case WCon{True{}, w8}:
4394 match w8:
4395 case WNil{}:
4396 {==}
4397 case WCon{True{}, w7}:
4398 match w7:
4399 case WCon{False{}, w8}:
4400 match w8:
4401 case WNil{}:
4402 {==}
4403 case WCon{True{}, w8}:
4404 match w8:
4405 case WNil{}:
4406 {==}
4407 case WCon{True{}, w6}:
4408 match w6:
4409 case WCon{False{}, w7}:
4410 match w7:
4411 case WCon{False{}, w8}:
4412 match w8:
4413 case WNil{}:
4414 {==}
4415 case WCon{True{}, w8}:
4416 match w8:
4417 case WNil{}:
4418 {==}
4419 case WCon{True{}, w7}:
4420 match w7:
4421 case WCon{False{}, w8}:
4422 match w8:
4423 case WNil{}:
4424 {==}
4425 case WCon{True{}, w8}:
4426 match w8:
4427 case WNil{}:
4428 {==}
4429 case WCon{True{}, w3}:
4430 match w3:
4431 case WCon{False{}, w4}:
4432 match w4:
4433 case WCon{False{}, w5}:
4434 match w5:
4435 case WCon{False{}, w6}:
4436 match w6:
4437 case WCon{False{}, w7}:
4438 match w7:
4439 case WCon{False{}, w8}:
4440 match w8:
4441 case WNil{}:
4442 {==}
4443 case WCon{True{}, w8}:
4444 match w8:
4445 case WNil{}:
4446 {==}
4447 case WCon{True{}, w7}:
4448 match w7:
4449 case WCon{False{}, w8}:
4450 match w8:
4451 case WNil{}:
4452 {==}
4453 case WCon{True{}, w8}:
4454 match w8:
4455 case WNil{}:
4456 {==}
4457 case WCon{True{}, w6}:
4458 match w6:
4459 case WCon{False{}, w7}:
4460 match w7:
4461 case WCon{False{}, w8}:
4462 match w8:
4463 case WNil{}:
4464 {==}
4465 case WCon{True{}, w8}:
4466 match w8:
4467 case WNil{}:
4468 {==}
4469 case WCon{True{}, w7}:
4470 match w7:
4471 case WCon{False{}, w8}:
4472 match w8:
4473 case WNil{}:
4474 {==}
4475 case WCon{True{}, w8}:
4476 match w8:
4477 case WNil{}:
4478 {==}
4479 case WCon{True{}, w5}:
4480 match w5:
4481 case WCon{False{}, w6}:
4482 match w6:
4483 case WCon{False{}, w7}:
4484 match w7:
4485 case WCon{False{}, w8}:
4486 match w8:
4487 case WNil{}:
4488 {==}
4489 case WCon{True{}, w8}:
4490 match w8:
4491 case WNil{}:
4492 {==}
4493 case WCon{True{}, w7}:
4494 match w7:
4495 case WCon{False{}, w8}:
4496 match w8:
4497 case WNil{}:
4498 {==}
4499 case WCon{True{}, w8}:
4500 match w8:
4501 case WNil{}:
4502 {==}
4503 case WCon{True{}, w6}:
4504 match w6:
4505 case WCon{False{}, w7}:
4506 match w7:
4507 case WCon{False{}, w8}:
4508 match w8:
4509 case WNil{}:
4510 {==}
4511 case WCon{True{}, w8}:
4512 match w8:
4513 case WNil{}:
4514 {==}
4515 case WCon{True{}, w7}:
4516 match w7:
4517 case WCon{False{}, w8}:
4518 match w8:
4519 case WNil{}:
4520 {==}
4521 case WCon{True{}, w8}:
4522 match w8:
4523 case WNil{}:
4524 {==}
4525 case WCon{True{}, w4}:
4526 match w4:
4527 case WCon{False{}, w5}:
4528 match w5:
4529 case WCon{False{}, w6}:
4530 match w6:
4531 case WCon{False{}, w7}:
4532 match w7:
4533 case WCon{False{}, w8}:
4534 match w8:
4535 case WNil{}:
4536 {==}
4537 case WCon{True{}, w8}:
4538 match w8:
4539 case WNil{}:
4540 {==}
4541 case WCon{True{}, w7}:
4542 match w7:
4543 case WCon{False{}, w8}:
4544 match w8:
4545 case WNil{}:
4546 {==}
4547 case WCon{True{}, w8}:
4548 match w8:
4549 case WNil{}:
4550 {==}
4551 case WCon{True{}, w6}:
4552 match w6:
4553 case WCon{False{}, w7}:
4554 match w7:
4555 case WCon{False{}, w8}:
4556 match w8:
4557 case WNil{}:
4558 {==}
4559 case WCon{True{}, w8}:
4560 match w8:
4561 case WNil{}:
4562 {==}
4563 case WCon{True{}, w7}:
4564 match w7:
4565 case WCon{False{}, w8}:
4566 match w8:
4567 case WNil{}:
4568 {==}
4569 case WCon{True{}, w8}:
4570 match w8:
4571 case WNil{}:
4572 {==}
4573 case WCon{True{}, w5}:
4574 match w5:
4575 case WCon{False{}, w6}:
4576 match w6:
4577 case WCon{False{}, w7}:
4578 match w7:
4579 case WCon{False{}, w8}:
4580 match w8:
4581 case WNil{}:
4582 {==}
4583 case WCon{True{}, w8}:
4584 match w8:
4585 case WNil{}:
4586 {==}
4587 case WCon{True{}, w7}:
4588 match w7:
4589 case WCon{False{}, w8}:
4590 match w8:
4591 case WNil{}:
4592 {==}
4593 case WCon{True{}, w8}:
4594 match w8:
4595 case WNil{}:
4596 {==}
4597 case WCon{True{}, w6}:
4598 match w6:
4599 case WCon{False{}, w7}:
4600 match w7:
4601 case WCon{False{}, w8}:
4602 match w8:
4603 case WNil{}:
4604 {==}
4605 case WCon{True{}, w8}:
4606 match w8:
4607 case WNil{}:
4608 {==}
4609 case WCon{True{}, w7}:
4610 match w7:
4611 case WCon{False{}, w8}:
4612 match w8:
4613 case WNil{}:
4614 {==}
4615 case WCon{True{}, w8}:
4616 match w8:
4617 case WNil{}:
4618 {==}
4619
4620def aria_sb24(w0: Word(8n)) -> {w0 == A.aria.sb2(A.aria.sb4(w0)) : Word(8n)}:
4621 match w0:
4622 case WCon{False{}, w1}:
4623 match w1:
4624 case WCon{False{}, w2}:
4625 match w2:
4626 case WCon{False{}, w3}:
4627 match w3:
4628 case WCon{False{}, w4}:
4629 match w4:
4630 case WCon{False{}, w5}:
4631 match w5:
4632 case WCon{False{}, w6}:
4633 match w6:
4634 case WCon{False{}, w7}:
4635 match w7:
4636 case WCon{False{}, w8}:
4637 match w8:
4638 case WNil{}:
4639 {==}
4640 case WCon{True{}, w8}:
4641 match w8:
4642 case WNil{}:
4643 {==}
4644 case WCon{True{}, w7}:
4645 match w7:
4646 case WCon{False{}, w8}:
4647 match w8:
4648 case WNil{}:
4649 {==}
4650 case WCon{True{}, w8}:
4651 match w8:
4652 case WNil{}:
4653 {==}
4654 case WCon{True{}, w6}:
4655 match w6:
4656 case WCon{False{}, w7}:
4657 match w7:
4658 case WCon{False{}, w8}:
4659 match w8:
4660 case WNil{}:
4661 {==}
4662 case WCon{True{}, w8}:
4663 match w8:
4664 case WNil{}:
4665 {==}
4666 case WCon{True{}, w7}:
4667 match w7:
4668 case WCon{False{}, w8}:
4669 match w8:
4670 case WNil{}:
4671 {==}
4672 case WCon{True{}, w8}:
4673 match w8:
4674 case WNil{}:
4675 {==}
4676 case WCon{True{}, w5}:
4677 match w5:
4678 case WCon{False{}, w6}:
4679 match w6:
4680 case WCon{False{}, w7}:
4681 match w7:
4682 case WCon{False{}, w8}:
4683 match w8:
4684 case WNil{}:
4685 {==}
4686 case WCon{True{}, w8}:
4687 match w8:
4688 case WNil{}:
4689 {==}
4690 case WCon{True{}, w7}:
4691 match w7:
4692 case WCon{False{}, w8}:
4693 match w8:
4694 case WNil{}:
4695 {==}
4696 case WCon{True{}, w8}:
4697 match w8:
4698 case WNil{}:
4699 {==}
4700 case WCon{True{}, w6}:
4701 match w6:
4702 case WCon{False{}, w7}:
4703 match w7:
4704 case WCon{False{}, w8}:
4705 match w8:
4706 case WNil{}:
4707 {==}
4708 case WCon{True{}, w8}:
4709 match w8:
4710 case WNil{}:
4711 {==}
4712 case WCon{True{}, w7}:
4713 match w7:
4714 case WCon{False{}, w8}:
4715 match w8:
4716 case WNil{}:
4717 {==}
4718 case WCon{True{}, w8}:
4719 match w8:
4720 case WNil{}:
4721 {==}
4722 case WCon{True{}, w4}:
4723 match w4:
4724 case WCon{False{}, w5}:
4725 match w5:
4726 case WCon{False{}, w6}:
4727 match w6:
4728 case WCon{False{}, w7}:
4729 match w7:
4730 case WCon{False{}, w8}:
4731 match w8:
4732 case WNil{}:
4733 {==}
4734 case WCon{True{}, w8}:
4735 match w8:
4736 case WNil{}:
4737 {==}
4738 case WCon{True{}, w7}:
4739 match w7:
4740 case WCon{False{}, w8}:
4741 match w8:
4742 case WNil{}:
4743 {==}
4744 case WCon{True{}, w8}:
4745 match w8:
4746 case WNil{}:
4747 {==}
4748 case WCon{True{}, w6}:
4749 match w6:
4750 case WCon{False{}, w7}:
4751 match w7:
4752 case WCon{False{}, w8}:
4753 match w8:
4754 case WNil{}:
4755 {==}
4756 case WCon{True{}, w8}:
4757 match w8:
4758 case WNil{}:
4759 {==}
4760 case WCon{True{}, w7}:
4761 match w7:
4762 case WCon{False{}, w8}:
4763 match w8:
4764 case WNil{}:
4765 {==}
4766 case WCon{True{}, w8}:
4767 match w8:
4768 case WNil{}:
4769 {==}
4770 case WCon{True{}, w5}:
4771 match w5:
4772 case WCon{False{}, w6}:
4773 match w6:
4774 case WCon{False{}, w7}:
4775 match w7:
4776 case WCon{False{}, w8}:
4777 match w8:
4778 case WNil{}:
4779 {==}
4780 case WCon{True{}, w8}:
4781 match w8:
4782 case WNil{}:
4783 {==}
4784 case WCon{True{}, w7}:
4785 match w7:
4786 case WCon{False{}, w8}:
4787 match w8:
4788 case WNil{}:
4789 {==}
4790 case WCon{True{}, w8}:
4791 match w8:
4792 case WNil{}:
4793 {==}
4794 case WCon{True{}, w6}:
4795 match w6:
4796 case WCon{False{}, w7}:
4797 match w7:
4798 case WCon{False{}, w8}:
4799 match w8:
4800 case WNil{}:
4801 {==}
4802 case WCon{True{}, w8}:
4803 match w8:
4804 case WNil{}:
4805 {==}
4806 case WCon{True{}, w7}:
4807 match w7:
4808 case WCon{False{}, w8}:
4809 match w8:
4810 case WNil{}:
4811 {==}
4812 case WCon{True{}, w8}:
4813 match w8:
4814 case WNil{}:
4815 {==}
4816 case WCon{True{}, w3}:
4817 match w3:
4818 case WCon{False{}, w4}:
4819 match w4:
4820 case WCon{False{}, w5}:
4821 match w5:
4822 case WCon{False{}, w6}:
4823 match w6:
4824 case WCon{False{}, w7}:
4825 match w7:
4826 case WCon{False{}, w8}:
4827 match w8:
4828 case WNil{}:
4829 {==}
4830 case WCon{True{}, w8}:
4831 match w8:
4832 case WNil{}:
4833 {==}
4834 case WCon{True{}, w7}:
4835 match w7:
4836 case WCon{False{}, w8}:
4837 match w8:
4838 case WNil{}:
4839 {==}
4840 case WCon{True{}, w8}:
4841 match w8:
4842 case WNil{}:
4843 {==}
4844 case WCon{True{}, w6}:
4845 match w6:
4846 case WCon{False{}, w7}:
4847 match w7:
4848 case WCon{False{}, w8}:
4849 match w8:
4850 case WNil{}:
4851 {==}
4852 case WCon{True{}, w8}:
4853 match w8:
4854 case WNil{}:
4855 {==}
4856 case WCon{True{}, w7}:
4857 match w7:
4858 case WCon{False{}, w8}:
4859 match w8:
4860 case WNil{}:
4861 {==}
4862 case WCon{True{}, w8}:
4863 match w8:
4864 case WNil{}:
4865 {==}
4866 case WCon{True{}, w5}:
4867 match w5:
4868 case WCon{False{}, w6}:
4869 match w6:
4870 case WCon{False{}, w7}:
4871 match w7:
4872 case WCon{False{}, w8}:
4873 match w8:
4874 case WNil{}:
4875 {==}
4876 case WCon{True{}, w8}:
4877 match w8:
4878 case WNil{}:
4879 {==}
4880 case WCon{True{}, w7}:
4881 match w7:
4882 case WCon{False{}, w8}:
4883 match w8:
4884 case WNil{}:
4885 {==}
4886 case WCon{True{}, w8}:
4887 match w8:
4888 case WNil{}:
4889 {==}
4890 case WCon{True{}, w6}:
4891 match w6:
4892 case WCon{False{}, w7}:
4893 match w7:
4894 case WCon{False{}, w8}:
4895 match w8:
4896 case WNil{}:
4897 {==}
4898 case WCon{True{}, w8}:
4899 match w8:
4900 case WNil{}:
4901 {==}
4902 case WCon{True{}, w7}:
4903 match w7:
4904 case WCon{False{}, w8}:
4905 match w8:
4906 case WNil{}:
4907 {==}
4908 case WCon{True{}, w8}:
4909 match w8:
4910 case WNil{}:
4911 {==}
4912 case WCon{True{}, w4}:
4913 match w4:
4914 case WCon{False{}, w5}:
4915 match w5:
4916 case WCon{False{}, w6}:
4917 match w6:
4918 case WCon{False{}, w7}:
4919 match w7:
4920 case WCon{False{}, w8}:
4921 match w8:
4922 case WNil{}:
4923 {==}
4924 case WCon{True{}, w8}:
4925 match w8:
4926 case WNil{}:
4927 {==}
4928 case WCon{True{}, w7}:
4929 match w7:
4930 case WCon{False{}, w8}:
4931 match w8:
4932 case WNil{}:
4933 {==}
4934 case WCon{True{}, w8}:
4935 match w8:
4936 case WNil{}:
4937 {==}
4938 case WCon{True{}, w6}:
4939 match w6:
4940 case WCon{False{}, w7}:
4941 match w7:
4942 case WCon{False{}, w8}:
4943 match w8:
4944 case WNil{}:
4945 {==}
4946 case WCon{True{}, w8}:
4947 match w8:
4948 case WNil{}:
4949 {==}
4950 case WCon{True{}, w7}:
4951 match w7:
4952 case WCon{False{}, w8}:
4953 match w8:
4954 case WNil{}:
4955 {==}
4956 case WCon{True{}, w8}:
4957 match w8:
4958 case WNil{}:
4959 {==}
4960 case WCon{True{}, w5}:
4961 match w5:
4962 case WCon{False{}, w6}:
4963 match w6:
4964 case WCon{False{}, w7}:
4965 match w7:
4966 case WCon{False{}, w8}:
4967 match w8:
4968 case WNil{}:
4969 {==}
4970 case WCon{True{}, w8}:
4971 match w8:
4972 case WNil{}:
4973 {==}
4974 case WCon{True{}, w7}:
4975 match w7:
4976 case WCon{False{}, w8}:
4977 match w8:
4978 case WNil{}:
4979 {==}
4980 case WCon{True{}, w8}:
4981 match w8:
4982 case WNil{}:
4983 {==}
4984 case WCon{True{}, w6}:
4985 match w6:
4986 case WCon{False{}, w7}:
4987 match w7:
4988 case WCon{False{}, w8}:
4989 match w8:
4990 case WNil{}:
4991 {==}
4992 case WCon{True{}, w8}:
4993 match w8:
4994 case WNil{}:
4995 {==}
4996 case WCon{True{}, w7}:
4997 match w7:
4998 case WCon{False{}, w8}:
4999 match w8:
5000 case WNil{}:
5001 {==}
5002 case WCon{True{}, w8}:
5003 match w8:
5004 case WNil{}:
5005 {==}
5006 case WCon{True{}, w2}:
5007 match w2:
5008 case WCon{False{}, w3}:
5009 match w3:
5010 case WCon{False{}, w4}:
5011 match w4:
5012 case WCon{False{}, w5}:
5013 match w5:
5014 case WCon{False{}, w6}:
5015 match w6:
5016 case WCon{False{}, w7}:
5017 match w7:
5018 case WCon{False{}, w8}:
5019 match w8:
5020 case WNil{}:
5021 {==}
5022 case WCon{True{}, w8}:
5023 match w8:
5024 case WNil{}:
5025 {==}
5026 case WCon{True{}, w7}:
5027 match w7:
5028 case WCon{False{}, w8}:
5029 match w8:
5030 case WNil{}:
5031 {==}
5032 case WCon{True{}, w8}:
5033 match w8:
5034 case WNil{}:
5035 {==}
5036 case WCon{True{}, w6}:
5037 match w6:
5038 case WCon{False{}, w7}:
5039 match w7:
5040 case WCon{False{}, w8}:
5041 match w8:
5042 case WNil{}:
5043 {==}
5044 case WCon{True{}, w8}:
5045 match w8:
5046 case WNil{}:
5047 {==}
5048 case WCon{True{}, w7}:
5049 match w7:
5050 case WCon{False{}, w8}:
5051 match w8:
5052 case WNil{}:
5053 {==}
5054 case WCon{True{}, w8}:
5055 match w8:
5056 case WNil{}:
5057 {==}
5058 case WCon{True{}, w5}:
5059 match w5:
5060 case WCon{False{}, w6}:
5061 match w6:
5062 case WCon{False{}, w7}:
5063 match w7:
5064 case WCon{False{}, w8}:
5065 match w8:
5066 case WNil{}:
5067 {==}
5068 case WCon{True{}, w8}:
5069 match w8:
5070 case WNil{}:
5071 {==}
5072 case WCon{True{}, w7}:
5073 match w7:
5074 case WCon{False{}, w8}:
5075 match w8:
5076 case WNil{}:
5077 {==}
5078 case WCon{True{}, w8}:
5079 match w8:
5080 case WNil{}:
5081 {==}
5082 case WCon{True{}, w6}:
5083 match w6:
5084 case WCon{False{}, w7}:
5085 match w7:
5086 case WCon{False{}, w8}:
5087 match w8:
5088 case WNil{}:
5089 {==}
5090 case WCon{True{}, w8}:
5091 match w8:
5092 case WNil{}:
5093 {==}
5094 case WCon{True{}, w7}:
5095 match w7:
5096 case WCon{False{}, w8}:
5097 match w8:
5098 case WNil{}:
5099 {==}
5100 case WCon{True{}, w8}:
5101 match w8:
5102 case WNil{}:
5103 {==}
5104 case WCon{True{}, w4}:
5105 match w4:
5106 case WCon{False{}, w5}:
5107 match w5:
5108 case WCon{False{}, w6}:
5109 match w6:
5110 case WCon{False{}, w7}:
5111 match w7:
5112 case WCon{False{}, w8}:
5113 match w8:
5114 case WNil{}:
5115 {==}
5116 case WCon{True{}, w8}:
5117 match w8:
5118 case WNil{}:
5119 {==}
5120 case WCon{True{}, w7}:
5121 match w7:
5122 case WCon{False{}, w8}:
5123 match w8:
5124 case WNil{}:
5125 {==}
5126 case WCon{True{}, w8}:
5127 match w8:
5128 case WNil{}:
5129 {==}
5130 case WCon{True{}, w6}:
5131 match w6:
5132 case WCon{False{}, w7}:
5133 match w7:
5134 case WCon{False{}, w8}:
5135 match w8:
5136 case WNil{}:
5137 {==}
5138 case WCon{True{}, w8}:
5139 match w8:
5140 case WNil{}:
5141 {==}
5142 case WCon{True{}, w7}:
5143 match w7:
5144 case WCon{False{}, w8}:
5145 match w8:
5146 case WNil{}:
5147 {==}
5148 case WCon{True{}, w8}:
5149 match w8:
5150 case WNil{}:
5151 {==}
5152 case WCon{True{}, w5}:
5153 match w5:
5154 case WCon{False{}, w6}:
5155 match w6:
5156 case WCon{False{}, w7}:
5157 match w7:
5158 case WCon{False{}, w8}:
5159 match w8:
5160 case WNil{}:
5161 {==}
5162 case WCon{True{}, w8}:
5163 match w8:
5164 case WNil{}:
5165 {==}
5166 case WCon{True{}, w7}:
5167 match w7:
5168 case WCon{False{}, w8}:
5169 match w8:
5170 case WNil{}:
5171 {==}
5172 case WCon{True{}, w8}:
5173 match w8:
5174 case WNil{}:
5175 {==}
5176 case WCon{True{}, w6}:
5177 match w6:
5178 case WCon{False{}, w7}:
5179 match w7:
5180 case WCon{False{}, w8}:
5181 match w8:
5182 case WNil{}:
5183 {==}
5184 case WCon{True{}, w8}:
5185 match w8:
5186 case WNil{}:
5187 {==}
5188 case WCon{True{}, w7}:
5189 match w7:
5190 case WCon{False{}, w8}:
5191 match w8:
5192 case WNil{}:
5193 {==}
5194 case WCon{True{}, w8}:
5195 match w8:
5196 case WNil{}:
5197 {==}
5198 case WCon{True{}, w3}:
5199 match w3:
5200 case WCon{False{}, w4}:
5201 match w4:
5202 case WCon{False{}, w5}:
5203 match w5:
5204 case WCon{False{}, w6}:
5205 match w6:
5206 case WCon{False{}, w7}:
5207 match w7:
5208 case WCon{False{}, w8}:
5209 match w8:
5210 case WNil{}:
5211 {==}
5212 case WCon{True{}, w8}:
5213 match w8:
5214 case WNil{}:
5215 {==}
5216 case WCon{True{}, w7}:
5217 match w7:
5218 case WCon{False{}, w8}:
5219 match w8:
5220 case WNil{}:
5221 {==}
5222 case WCon{True{}, w8}:
5223 match w8:
5224 case WNil{}:
5225 {==}
5226 case WCon{True{}, w6}:
5227 match w6:
5228 case WCon{False{}, w7}:
5229 match w7:
5230 case WCon{False{}, w8}:
5231 match w8:
5232 case WNil{}:
5233 {==}
5234 case WCon{True{}, w8}:
5235 match w8:
5236 case WNil{}:
5237 {==}
5238 case WCon{True{}, w7}:
5239 match w7:
5240 case WCon{False{}, w8}:
5241 match w8:
5242 case WNil{}:
5243 {==}
5244 case WCon{True{}, w8}:
5245 match w8:
5246 case WNil{}:
5247 {==}
5248 case WCon{True{}, w5}:
5249 match w5:
5250 case WCon{False{}, w6}:
5251 match w6:
5252 case WCon{False{}, w7}:
5253 match w7:
5254 case WCon{False{}, w8}:
5255 match w8:
5256 case WNil{}:
5257 {==}
5258 case WCon{True{}, w8}:
5259 match w8:
5260 case WNil{}:
5261 {==}
5262 case WCon{True{}, w7}:
5263 match w7:
5264 case WCon{False{}, w8}:
5265 match w8:
5266 case WNil{}:
5267 {==}
5268 case WCon{True{}, w8}:
5269 match w8:
5270 case WNil{}:
5271 {==}
5272 case WCon{True{}, w6}:
5273 match w6:
5274 case WCon{False{}, w7}:
5275 match w7:
5276 case WCon{False{}, w8}:
5277 match w8:
5278 case WNil{}:
5279 {==}
5280 case WCon{True{}, w8}:
5281 match w8:
5282 case WNil{}:
5283 {==}
5284 case WCon{True{}, w7}:
5285 match w7:
5286 case WCon{False{}, w8}:
5287 match w8:
5288 case WNil{}:
5289 {==}
5290 case WCon{True{}, w8}:
5291 match w8:
5292 case WNil{}:
5293 {==}
5294 case WCon{True{}, w4}:
5295 match w4:
5296 case WCon{False{}, w5}:
5297 match w5:
5298 case WCon{False{}, w6}:
5299 match w6:
5300 case WCon{False{}, w7}:
5301 match w7:
5302 case WCon{False{}, w8}:
5303 match w8:
5304 case WNil{}:
5305 {==}
5306 case WCon{True{}, w8}:
5307 match w8:
5308 case WNil{}:
5309 {==}
5310 case WCon{True{}, w7}:
5311 match w7:
5312 case WCon{False{}, w8}:
5313 match w8:
5314 case WNil{}:
5315 {==}
5316 case WCon{True{}, w8}:
5317 match w8:
5318 case WNil{}:
5319 {==}
5320 case WCon{True{}, w6}:
5321 match w6:
5322 case WCon{False{}, w7}:
5323 match w7:
5324 case WCon{False{}, w8}:
5325 match w8:
5326 case WNil{}:
5327 {==}
5328 case WCon{True{}, w8}:
5329 match w8:
5330 case WNil{}:
5331 {==}
5332 case WCon{True{}, w7}:
5333 match w7:
5334 case WCon{False{}, w8}:
5335 match w8:
5336 case WNil{}:
5337 {==}
5338 case WCon{True{}, w8}:
5339 match w8:
5340 case WNil{}:
5341 {==}
5342 case WCon{True{}, w5}:
5343 match w5:
5344 case WCon{False{}, w6}:
5345 match w6:
5346 case WCon{False{}, w7}:
5347 match w7:
5348 case WCon{False{}, w8}:
5349 match w8:
5350 case WNil{}:
5351 {==}
5352 case WCon{True{}, w8}:
5353 match w8:
5354 case WNil{}:
5355 {==}
5356 case WCon{True{}, w7}:
5357 match w7:
5358 case WCon{False{}, w8}:
5359 match w8:
5360 case WNil{}:
5361 {==}
5362 case WCon{True{}, w8}:
5363 match w8:
5364 case WNil{}:
5365 {==}
5366 case WCon{True{}, w6}:
5367 match w6:
5368 case WCon{False{}, w7}:
5369 match w7:
5370 case WCon{False{}, w8}:
5371 match w8:
5372 case WNil{}:
5373 {==}
5374 case WCon{True{}, w8}:
5375 match w8:
5376 case WNil{}:
5377 {==}
5378 case WCon{True{}, w7}:
5379 match w7:
5380 case WCon{False{}, w8}:
5381 match w8:
5382 case WNil{}:
5383 {==}
5384 case WCon{True{}, w8}:
5385 match w8:
5386 case WNil{}:
5387 {==}
5388 case WCon{True{}, w1}:
5389 match w1:
5390 case WCon{False{}, w2}:
5391 match w2:
5392 case WCon{False{}, w3}:
5393 match w3:
5394 case WCon{False{}, w4}:
5395 match w4:
5396 case WCon{False{}, w5}:
5397 match w5:
5398 case WCon{False{}, w6}:
5399 match w6:
5400 case WCon{False{}, w7}:
5401 match w7:
5402 case WCon{False{}, w8}:
5403 match w8:
5404 case WNil{}:
5405 {==}
5406 case WCon{True{}, w8}:
5407 match w8:
5408 case WNil{}:
5409 {==}
5410 case WCon{True{}, w7}:
5411 match w7:
5412 case WCon{False{}, w8}:
5413 match w8:
5414 case WNil{}:
5415 {==}
5416 case WCon{True{}, w8}:
5417 match w8:
5418 case WNil{}:
5419 {==}
5420 case WCon{True{}, w6}:
5421 match w6:
5422 case WCon{False{}, w7}:
5423 match w7:
5424 case WCon{False{}, w8}:
5425 match w8:
5426 case WNil{}:
5427 {==}
5428 case WCon{True{}, w8}:
5429 match w8:
5430 case WNil{}:
5431 {==}
5432 case WCon{True{}, w7}:
5433 match w7:
5434 case WCon{False{}, w8}:
5435 match w8:
5436 case WNil{}:
5437 {==}
5438 case WCon{True{}, w8}:
5439 match w8:
5440 case WNil{}:
5441 {==}
5442 case WCon{True{}, w5}:
5443 match w5:
5444 case WCon{False{}, w6}:
5445 match w6:
5446 case WCon{False{}, w7}:
5447 match w7:
5448 case WCon{False{}, w8}:
5449 match w8:
5450 case WNil{}:
5451 {==}
5452 case WCon{True{}, w8}:
5453 match w8:
5454 case WNil{}:
5455 {==}
5456 case WCon{True{}, w7}:
5457 match w7:
5458 case WCon{False{}, w8}:
5459 match w8:
5460 case WNil{}:
5461 {==}
5462 case WCon{True{}, w8}:
5463 match w8:
5464 case WNil{}:
5465 {==}
5466 case WCon{True{}, w6}:
5467 match w6:
5468 case WCon{False{}, w7}:
5469 match w7:
5470 case WCon{False{}, w8}:
5471 match w8:
5472 case WNil{}:
5473 {==}
5474 case WCon{True{}, w8}:
5475 match w8:
5476 case WNil{}:
5477 {==}
5478 case WCon{True{}, w7}:
5479 match w7:
5480 case WCon{False{}, w8}:
5481 match w8:
5482 case WNil{}:
5483 {==}
5484 case WCon{True{}, w8}:
5485 match w8:
5486 case WNil{}:
5487 {==}
5488 case WCon{True{}, w4}:
5489 match w4:
5490 case WCon{False{}, w5}:
5491 match w5:
5492 case WCon{False{}, w6}:
5493 match w6:
5494 case WCon{False{}, w7}:
5495 match w7:
5496 case WCon{False{}, w8}:
5497 match w8:
5498 case WNil{}:
5499 {==}
5500 case WCon{True{}, w8}:
5501 match w8:
5502 case WNil{}:
5503 {==}
5504 case WCon{True{}, w7}:
5505 match w7:
5506 case WCon{False{}, w8}:
5507 match w8:
5508 case WNil{}:
5509 {==}
5510 case WCon{True{}, w8}:
5511 match w8:
5512 case WNil{}:
5513 {==}
5514 case WCon{True{}, w6}:
5515 match w6:
5516 case WCon{False{}, w7}:
5517 match w7:
5518 case WCon{False{}, w8}:
5519 match w8:
5520 case WNil{}:
5521 {==}
5522 case WCon{True{}, w8}:
5523 match w8:
5524 case WNil{}:
5525 {==}
5526 case WCon{True{}, w7}:
5527 match w7:
5528 case WCon{False{}, w8}:
5529 match w8:
5530 case WNil{}:
5531 {==}
5532 case WCon{True{}, w8}:
5533 match w8:
5534 case WNil{}:
5535 {==}
5536 case WCon{True{}, w5}:
5537 match w5:
5538 case WCon{False{}, w6}:
5539 match w6:
5540 case WCon{False{}, w7}:
5541 match w7:
5542 case WCon{False{}, w8}:
5543 match w8:
5544 case WNil{}:
5545 {==}
5546 case WCon{True{}, w8}:
5547 match w8:
5548 case WNil{}:
5549 {==}
5550 case WCon{True{}, w7}:
5551 match w7:
5552 case WCon{False{}, w8}:
5553 match w8:
5554 case WNil{}:
5555 {==}
5556 case WCon{True{}, w8}:
5557 match w8:
5558 case WNil{}:
5559 {==}
5560 case WCon{True{}, w6}:
5561 match w6:
5562 case WCon{False{}, w7}:
5563 match w7:
5564 case WCon{False{}, w8}:
5565 match w8:
5566 case WNil{}:
5567 {==}
5568 case WCon{True{}, w8}:
5569 match w8:
5570 case WNil{}:
5571 {==}
5572 case WCon{True{}, w7}:
5573 match w7:
5574 case WCon{False{}, w8}:
5575 match w8:
5576 case WNil{}:
5577 {==}
5578 case WCon{True{}, w8}:
5579 match w8:
5580 case WNil{}:
5581 {==}
5582 case WCon{True{}, w3}:
5583 match w3:
5584 case WCon{False{}, w4}:
5585 match w4:
5586 case WCon{False{}, w5}:
5587 match w5:
5588 case WCon{False{}, w6}:
5589 match w6:
5590 case WCon{False{}, w7}:
5591 match w7:
5592 case WCon{False{}, w8}:
5593 match w8:
5594 case WNil{}:
5595 {==}
5596 case WCon{True{}, w8}:
5597 match w8:
5598 case WNil{}:
5599 {==}
5600 case WCon{True{}, w7}:
5601 match w7:
5602 case WCon{False{}, w8}:
5603 match w8:
5604 case WNil{}:
5605 {==}
5606 case WCon{True{}, w8}:
5607 match w8:
5608 case WNil{}:
5609 {==}
5610 case WCon{True{}, w6}:
5611 match w6:
5612 case WCon{False{}, w7}:
5613 match w7:
5614 case WCon{False{}, w8}:
5615 match w8:
5616 case WNil{}:
5617 {==}
5618 case WCon{True{}, w8}:
5619 match w8:
5620 case WNil{}:
5621 {==}
5622 case WCon{True{}, w7}:
5623 match w7:
5624 case WCon{False{}, w8}:
5625 match w8:
5626 case WNil{}:
5627 {==}
5628 case WCon{True{}, w8}:
5629 match w8:
5630 case WNil{}:
5631 {==}
5632 case WCon{True{}, w5}:
5633 match w5:
5634 case WCon{False{}, w6}:
5635 match w6:
5636 case WCon{False{}, w7}:
5637 match w7:
5638 case WCon{False{}, w8}:
5639 match w8:
5640 case WNil{}:
5641 {==}
5642 case WCon{True{}, w8}:
5643 match w8:
5644 case WNil{}:
5645 {==}
5646 case WCon{True{}, w7}:
5647 match w7:
5648 case WCon{False{}, w8}:
5649 match w8:
5650 case WNil{}:
5651 {==}
5652 case WCon{True{}, w8}:
5653 match w8:
5654 case WNil{}:
5655 {==}
5656 case WCon{True{}, w6}:
5657 match w6:
5658 case WCon{False{}, w7}:
5659 match w7:
5660 case WCon{False{}, w8}:
5661 match w8:
5662 case WNil{}:
5663 {==}
5664 case WCon{True{}, w8}:
5665 match w8:
5666 case WNil{}:
5667 {==}
5668 case WCon{True{}, w7}:
5669 match w7:
5670 case WCon{False{}, w8}:
5671 match w8:
5672 case WNil{}:
5673 {==}
5674 case WCon{True{}, w8}:
5675 match w8:
5676 case WNil{}:
5677 {==}
5678 case WCon{True{}, w4}:
5679 match w4:
5680 case WCon{False{}, w5}:
5681 match w5:
5682 case WCon{False{}, w6}:
5683 match w6:
5684 case WCon{False{}, w7}:
5685 match w7:
5686 case WCon{False{}, w8}:
5687 match w8:
5688 case WNil{}:
5689 {==}
5690 case WCon{True{}, w8}:
5691 match w8:
5692 case WNil{}:
5693 {==}
5694 case WCon{True{}, w7}:
5695 match w7:
5696 case WCon{False{}, w8}:
5697 match w8:
5698 case WNil{}:
5699 {==}
5700 case WCon{True{}, w8}:
5701 match w8:
5702 case WNil{}:
5703 {==}
5704 case WCon{True{}, w6}:
5705 match w6:
5706 case WCon{False{}, w7}:
5707 match w7:
5708 case WCon{False{}, w8}:
5709 match w8:
5710 case WNil{}:
5711 {==}
5712 case WCon{True{}, w8}:
5713 match w8:
5714 case WNil{}:
5715 {==}
5716 case WCon{True{}, w7}:
5717 match w7:
5718 case WCon{False{}, w8}:
5719 match w8:
5720 case WNil{}:
5721 {==}
5722 case WCon{True{}, w8}:
5723 match w8:
5724 case WNil{}:
5725 {==}
5726 case WCon{True{}, w5}:
5727 match w5:
5728 case WCon{False{}, w6}:
5729 match w6:
5730 case WCon{False{}, w7}:
5731 match w7:
5732 case WCon{False{}, w8}:
5733 match w8:
5734 case WNil{}:
5735 {==}
5736 case WCon{True{}, w8}:
5737 match w8:
5738 case WNil{}:
5739 {==}
5740 case WCon{True{}, w7}:
5741 match w7:
5742 case WCon{False{}, w8}:
5743 match w8:
5744 case WNil{}:
5745 {==}
5746 case WCon{True{}, w8}:
5747 match w8:
5748 case WNil{}:
5749 {==}
5750 case WCon{True{}, w6}:
5751 match w6:
5752 case WCon{False{}, w7}:
5753 match w7:
5754 case WCon{False{}, w8}:
5755 match w8:
5756 case WNil{}:
5757 {==}
5758 case WCon{True{}, w8}:
5759 match w8:
5760 case WNil{}:
5761 {==}
5762 case WCon{True{}, w7}:
5763 match w7:
5764 case WCon{False{}, w8}:
5765 match w8:
5766 case WNil{}:
5767 {==}
5768 case WCon{True{}, w8}:
5769 match w8:
5770 case WNil{}:
5771 {==}
5772 case WCon{True{}, w2}:
5773 match w2:
5774 case WCon{False{}, w3}:
5775 match w3:
5776 case WCon{False{}, w4}:
5777 match w4:
5778 case WCon{False{}, w5}:
5779 match w5:
5780 case WCon{False{}, w6}:
5781 match w6:
5782 case WCon{False{}, w7}:
5783 match w7:
5784 case WCon{False{}, w8}:
5785 match w8:
5786 case WNil{}:
5787 {==}
5788 case WCon{True{}, w8}:
5789 match w8:
5790 case WNil{}:
5791 {==}
5792 case WCon{True{}, w7}:
5793 match w7:
5794 case WCon{False{}, w8}:
5795 match w8:
5796 case WNil{}:
5797 {==}
5798 case WCon{True{}, w8}:
5799 match w8:
5800 case WNil{}:
5801 {==}
5802 case WCon{True{}, w6}:
5803 match w6:
5804 case WCon{False{}, w7}:
5805 match w7:
5806 case WCon{False{}, w8}:
5807 match w8:
5808 case WNil{}:
5809 {==}
5810 case WCon{True{}, w8}:
5811 match w8:
5812 case WNil{}:
5813 {==}
5814 case WCon{True{}, w7}:
5815 match w7:
5816 case WCon{False{}, w8}:
5817 match w8:
5818 case WNil{}:
5819 {==}
5820 case WCon{True{}, w8}:
5821 match w8:
5822 case WNil{}:
5823 {==}
5824 case WCon{True{}, w5}:
5825 match w5:
5826 case WCon{False{}, w6}:
5827 match w6:
5828 case WCon{False{}, w7}:
5829 match w7:
5830 case WCon{False{}, w8}:
5831 match w8:
5832 case WNil{}:
5833 {==}
5834 case WCon{True{}, w8}:
5835 match w8:
5836 case WNil{}:
5837 {==}
5838 case WCon{True{}, w7}:
5839 match w7:
5840 case WCon{False{}, w8}:
5841 match w8:
5842 case WNil{}:
5843 {==}
5844 case WCon{True{}, w8}:
5845 match w8:
5846 case WNil{}:
5847 {==}
5848 case WCon{True{}, w6}:
5849 match w6:
5850 case WCon{False{}, w7}:
5851 match w7:
5852 case WCon{False{}, w8}:
5853 match w8:
5854 case WNil{}:
5855 {==}
5856 case WCon{True{}, w8}:
5857 match w8:
5858 case WNil{}:
5859 {==}
5860 case WCon{True{}, w7}:
5861 match w7:
5862 case WCon{False{}, w8}:
5863 match w8:
5864 case WNil{}:
5865 {==}
5866 case WCon{True{}, w8}:
5867 match w8:
5868 case WNil{}:
5869 {==}
5870 case WCon{True{}, w4}:
5871 match w4:
5872 case WCon{False{}, w5}:
5873 match w5:
5874 case WCon{False{}, w6}:
5875 match w6:
5876 case WCon{False{}, w7}:
5877 match w7:
5878 case WCon{False{}, w8}:
5879 match w8:
5880 case WNil{}:
5881 {==}
5882 case WCon{True{}, w8}:
5883 match w8:
5884 case WNil{}:
5885 {==}
5886 case WCon{True{}, w7}:
5887 match w7:
5888 case WCon{False{}, w8}:
5889 match w8:
5890 case WNil{}:
5891 {==}
5892 case WCon{True{}, w8}:
5893 match w8:
5894 case WNil{}:
5895 {==}
5896 case WCon{True{}, w6}:
5897 match w6:
5898 case WCon{False{}, w7}:
5899 match w7:
5900 case WCon{False{}, w8}:
5901 match w8:
5902 case WNil{}:
5903 {==}
5904 case WCon{True{}, w8}:
5905 match w8:
5906 case WNil{}:
5907 {==}
5908 case WCon{True{}, w7}:
5909 match w7:
5910 case WCon{False{}, w8}:
5911 match w8:
5912 case WNil{}:
5913 {==}
5914 case WCon{True{}, w8}:
5915 match w8:
5916 case WNil{}:
5917 {==}
5918 case WCon{True{}, w5}:
5919 match w5:
5920 case WCon{False{}, w6}:
5921 match w6:
5922 case WCon{False{}, w7}:
5923 match w7:
5924 case WCon{False{}, w8}:
5925 match w8:
5926 case WNil{}:
5927 {==}
5928 case WCon{True{}, w8}:
5929 match w8:
5930 case WNil{}:
5931 {==}
5932 case WCon{True{}, w7}:
5933 match w7:
5934 case WCon{False{}, w8}:
5935 match w8:
5936 case WNil{}:
5937 {==}
5938 case WCon{True{}, w8}:
5939 match w8:
5940 case WNil{}:
5941 {==}
5942 case WCon{True{}, w6}:
5943 match w6:
5944 case WCon{False{}, w7}:
5945 match w7:
5946 case WCon{False{}, w8}:
5947 match w8:
5948 case WNil{}:
5949 {==}
5950 case WCon{True{}, w8}:
5951 match w8:
5952 case WNil{}:
5953 {==}
5954 case WCon{True{}, w7}:
5955 match w7:
5956 case WCon{False{}, w8}:
5957 match w8:
5958 case WNil{}:
5959 {==}
5960 case WCon{True{}, w8}:
5961 match w8:
5962 case WNil{}:
5963 {==}
5964 case WCon{True{}, w3}:
5965 match w3:
5966 case WCon{False{}, w4}:
5967 match w4:
5968 case WCon{False{}, w5}:
5969 match w5:
5970 case WCon{False{}, w6}:
5971 match w6:
5972 case WCon{False{}, w7}:
5973 match w7:
5974 case WCon{False{}, w8}:
5975 match w8:
5976 case WNil{}:
5977 {==}
5978 case WCon{True{}, w8}:
5979 match w8:
5980 case WNil{}:
5981 {==}
5982 case WCon{True{}, w7}:
5983 match w7:
5984 case WCon{False{}, w8}:
5985 match w8:
5986 case WNil{}:
5987 {==}
5988 case WCon{True{}, w8}:
5989 match w8:
5990 case WNil{}:
5991 {==}
5992 case WCon{True{}, w6}:
5993 match w6:
5994 case WCon{False{}, w7}:
5995 match w7:
5996 case WCon{False{}, w8}:
5997 match w8:
5998 case WNil{}:
5999 {==}
6000 case WCon{True{}, w8}:
6001 match w8:
6002 case WNil{}:
6003 {==}
6004 case WCon{True{}, w7}:
6005 match w7:
6006 case WCon{False{}, w8}:
6007 match w8:
6008 case WNil{}:
6009 {==}
6010 case WCon{True{}, w8}:
6011 match w8:
6012 case WNil{}:
6013 {==}
6014 case WCon{True{}, w5}:
6015 match w5:
6016 case WCon{False{}, w6}:
6017 match w6:
6018 case WCon{False{}, w7}:
6019 match w7:
6020 case WCon{False{}, w8}:
6021 match w8:
6022 case WNil{}:
6023 {==}
6024 case WCon{True{}, w8}:
6025 match w8:
6026 case WNil{}:
6027 {==}
6028 case WCon{True{}, w7}:
6029 match w7:
6030 case WCon{False{}, w8}:
6031 match w8:
6032 case WNil{}:
6033 {==}
6034 case WCon{True{}, w8}:
6035 match w8:
6036 case WNil{}:
6037 {==}
6038 case WCon{True{}, w6}:
6039 match w6:
6040 case WCon{False{}, w7}:
6041 match w7:
6042 case WCon{False{}, w8}:
6043 match w8:
6044 case WNil{}:
6045 {==}
6046 case WCon{True{}, w8}:
6047 match w8:
6048 case WNil{}:
6049 {==}
6050 case WCon{True{}, w7}:
6051 match w7:
6052 case WCon{False{}, w8}:
6053 match w8:
6054 case WNil{}:
6055 {==}
6056 case WCon{True{}, w8}:
6057 match w8:
6058 case WNil{}:
6059 {==}
6060 case WCon{True{}, w4}:
6061 match w4:
6062 case WCon{False{}, w5}:
6063 match w5:
6064 case WCon{False{}, w6}:
6065 match w6:
6066 case WCon{False{}, w7}:
6067 match w7:
6068 case WCon{False{}, w8}:
6069 match w8:
6070 case WNil{}:
6071 {==}
6072 case WCon{True{}, w8}:
6073 match w8:
6074 case WNil{}:
6075 {==}
6076 case WCon{True{}, w7}:
6077 match w7:
6078 case WCon{False{}, w8}:
6079 match w8:
6080 case WNil{}:
6081 {==}
6082 case WCon{True{}, w8}:
6083 match w8:
6084 case WNil{}:
6085 {==}
6086 case WCon{True{}, w6}:
6087 match w6:
6088 case WCon{False{}, w7}:
6089 match w7:
6090 case WCon{False{}, w8}:
6091 match w8:
6092 case WNil{}:
6093 {==}
6094 case WCon{True{}, w8}:
6095 match w8:
6096 case WNil{}:
6097 {==}
6098 case WCon{True{}, w7}:
6099 match w7:
6100 case WCon{False{}, w8}:
6101 match w8:
6102 case WNil{}:
6103 {==}
6104 case WCon{True{}, w8}:
6105 match w8:
6106 case WNil{}:
6107 {==}
6108 case WCon{True{}, w5}:
6109 match w5:
6110 case WCon{False{}, w6}:
6111 match w6:
6112 case WCon{False{}, w7}:
6113 match w7:
6114 case WCon{False{}, w8}:
6115 match w8:
6116 case WNil{}:
6117 {==}
6118 case WCon{True{}, w8}:
6119 match w8:
6120 case WNil{}:
6121 {==}
6122 case WCon{True{}, w7}:
6123 match w7:
6124 case WCon{False{}, w8}:
6125 match w8:
6126 case WNil{}:
6127 {==}
6128 case WCon{True{}, w8}:
6129 match w8:
6130 case WNil{}:
6131 {==}
6132 case WCon{True{}, w6}:
6133 match w6:
6134 case WCon{False{}, w7}:
6135 match w7:
6136 case WCon{False{}, w8}:
6137 match w8:
6138 case WNil{}:
6139 {==}
6140 case WCon{True{}, w8}:
6141 match w8:
6142 case WNil{}:
6143 {==}
6144 case WCon{True{}, w7}:
6145 match w7:
6146 case WCon{False{}, w8}:
6147 match w8:
6148 case WNil{}:
6149 {==}
6150 case WCon{True{}, w8}:
6151 match w8:
6152 case WNil{}:
6153 {==}
6154
6155# SL2 undoes SL1, and SL1 undoes SL2, a byte at a time
6156def aria_sl21(s: A.LcAriaSt) -> {s == A.aria.sl2(A.aria.sl1(s)) : A.LcAriaSt}:
6157 match s:
6158 case A.LcAriaSt{+x0, +x1, +x2, +x3, +x4, +x5, +x6, +x7, +x8, +x9, +x10, +x11, +x12, +x13, +x14, +x15}:
6159 %aria_sb31(x0) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{_, A.aria.sb4(A.aria.sb2(x1)), A.aria.sb1(A.aria.sb3(x2)), A.aria.sb2(A.aria.sb4(x3)), A.aria.sb3(A.aria.sb1(x4)), A.aria.sb4(A.aria.sb2(x5)), A.aria.sb1(A.aria.sb3(x6)), A.aria.sb2(A.aria.sb4(x7)), A.aria.sb3(A.aria.sb1(x8)), A.aria.sb4(A.aria.sb2(x9)), A.aria.sb1(A.aria.sb3(x10)), A.aria.sb2(A.aria.sb4(x11)), A.aria.sb3(A.aria.sb1(x12)), A.aria.sb4(A.aria.sb2(x13)), A.aria.sb1(A.aria.sb3(x14)), A.aria.sb2(A.aria.sb4(x15))} : A.LcAriaSt}
6160 %aria_sb42(x1) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, _, A.aria.sb1(A.aria.sb3(x2)), A.aria.sb2(A.aria.sb4(x3)), A.aria.sb3(A.aria.sb1(x4)), A.aria.sb4(A.aria.sb2(x5)), A.aria.sb1(A.aria.sb3(x6)), A.aria.sb2(A.aria.sb4(x7)), A.aria.sb3(A.aria.sb1(x8)), A.aria.sb4(A.aria.sb2(x9)), A.aria.sb1(A.aria.sb3(x10)), A.aria.sb2(A.aria.sb4(x11)), A.aria.sb3(A.aria.sb1(x12)), A.aria.sb4(A.aria.sb2(x13)), A.aria.sb1(A.aria.sb3(x14)), A.aria.sb2(A.aria.sb4(x15))} : A.LcAriaSt}
6161 %aria_sb13(x2) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, _, A.aria.sb2(A.aria.sb4(x3)), A.aria.sb3(A.aria.sb1(x4)), A.aria.sb4(A.aria.sb2(x5)), A.aria.sb1(A.aria.sb3(x6)), A.aria.sb2(A.aria.sb4(x7)), A.aria.sb3(A.aria.sb1(x8)), A.aria.sb4(A.aria.sb2(x9)), A.aria.sb1(A.aria.sb3(x10)), A.aria.sb2(A.aria.sb4(x11)), A.aria.sb3(A.aria.sb1(x12)), A.aria.sb4(A.aria.sb2(x13)), A.aria.sb1(A.aria.sb3(x14)), A.aria.sb2(A.aria.sb4(x15))} : A.LcAriaSt}
6162 %aria_sb24(x3) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, _, A.aria.sb3(A.aria.sb1(x4)), A.aria.sb4(A.aria.sb2(x5)), A.aria.sb1(A.aria.sb3(x6)), A.aria.sb2(A.aria.sb4(x7)), A.aria.sb3(A.aria.sb1(x8)), A.aria.sb4(A.aria.sb2(x9)), A.aria.sb1(A.aria.sb3(x10)), A.aria.sb2(A.aria.sb4(x11)), A.aria.sb3(A.aria.sb1(x12)), A.aria.sb4(A.aria.sb2(x13)), A.aria.sb1(A.aria.sb3(x14)), A.aria.sb2(A.aria.sb4(x15))} : A.LcAriaSt}
6163 %aria_sb31(x4) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, _, A.aria.sb4(A.aria.sb2(x5)), A.aria.sb1(A.aria.sb3(x6)), A.aria.sb2(A.aria.sb4(x7)), A.aria.sb3(A.aria.sb1(x8)), A.aria.sb4(A.aria.sb2(x9)), A.aria.sb1(A.aria.sb3(x10)), A.aria.sb2(A.aria.sb4(x11)), A.aria.sb3(A.aria.sb1(x12)), A.aria.sb4(A.aria.sb2(x13)), A.aria.sb1(A.aria.sb3(x14)), A.aria.sb2(A.aria.sb4(x15))} : A.LcAriaSt}
6164 %aria_sb42(x5) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, _, A.aria.sb1(A.aria.sb3(x6)), A.aria.sb2(A.aria.sb4(x7)), A.aria.sb3(A.aria.sb1(x8)), A.aria.sb4(A.aria.sb2(x9)), A.aria.sb1(A.aria.sb3(x10)), A.aria.sb2(A.aria.sb4(x11)), A.aria.sb3(A.aria.sb1(x12)), A.aria.sb4(A.aria.sb2(x13)), A.aria.sb1(A.aria.sb3(x14)), A.aria.sb2(A.aria.sb4(x15))} : A.LcAriaSt}
6165 %aria_sb13(x6) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, x5, _, A.aria.sb2(A.aria.sb4(x7)), A.aria.sb3(A.aria.sb1(x8)), A.aria.sb4(A.aria.sb2(x9)), A.aria.sb1(A.aria.sb3(x10)), A.aria.sb2(A.aria.sb4(x11)), A.aria.sb3(A.aria.sb1(x12)), A.aria.sb4(A.aria.sb2(x13)), A.aria.sb1(A.aria.sb3(x14)), A.aria.sb2(A.aria.sb4(x15))} : A.LcAriaSt}
6166 %aria_sb24(x7) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, _, A.aria.sb3(A.aria.sb1(x8)), A.aria.sb4(A.aria.sb2(x9)), A.aria.sb1(A.aria.sb3(x10)), A.aria.sb2(A.aria.sb4(x11)), A.aria.sb3(A.aria.sb1(x12)), A.aria.sb4(A.aria.sb2(x13)), A.aria.sb1(A.aria.sb3(x14)), A.aria.sb2(A.aria.sb4(x15))} : A.LcAriaSt}
6167 %aria_sb31(x8) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, _, A.aria.sb4(A.aria.sb2(x9)), A.aria.sb1(A.aria.sb3(x10)), A.aria.sb2(A.aria.sb4(x11)), A.aria.sb3(A.aria.sb1(x12)), A.aria.sb4(A.aria.sb2(x13)), A.aria.sb1(A.aria.sb3(x14)), A.aria.sb2(A.aria.sb4(x15))} : A.LcAriaSt}
6168 %aria_sb42(x9) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, _, A.aria.sb1(A.aria.sb3(x10)), A.aria.sb2(A.aria.sb4(x11)), A.aria.sb3(A.aria.sb1(x12)), A.aria.sb4(A.aria.sb2(x13)), A.aria.sb1(A.aria.sb3(x14)), A.aria.sb2(A.aria.sb4(x15))} : A.LcAriaSt}
6169 %aria_sb13(x10) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, _, A.aria.sb2(A.aria.sb4(x11)), A.aria.sb3(A.aria.sb1(x12)), A.aria.sb4(A.aria.sb2(x13)), A.aria.sb1(A.aria.sb3(x14)), A.aria.sb2(A.aria.sb4(x15))} : A.LcAriaSt}
6170 %aria_sb24(x11) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, _, A.aria.sb3(A.aria.sb1(x12)), A.aria.sb4(A.aria.sb2(x13)), A.aria.sb1(A.aria.sb3(x14)), A.aria.sb2(A.aria.sb4(x15))} : A.LcAriaSt}
6171 %aria_sb31(x12) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, _, A.aria.sb4(A.aria.sb2(x13)), A.aria.sb1(A.aria.sb3(x14)), A.aria.sb2(A.aria.sb4(x15))} : A.LcAriaSt}
6172 %aria_sb42(x13) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, _, A.aria.sb1(A.aria.sb3(x14)), A.aria.sb2(A.aria.sb4(x15))} : A.LcAriaSt}
6173 %aria_sb13(x14) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, _, A.aria.sb2(A.aria.sb4(x15))} : A.LcAriaSt}
6174 %aria_sb24(x15) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, _} : A.LcAriaSt}
6175 {==}
6176
6177def aria_sl12(s: A.LcAriaSt) -> {s == A.aria.sl1(A.aria.sl2(s)) : A.LcAriaSt}:
6178 match s:
6179 case A.LcAriaSt{+x0, +x1, +x2, +x3, +x4, +x5, +x6, +x7, +x8, +x9, +x10, +x11, +x12, +x13, +x14, +x15}:
6180 %aria_sb13(x0) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{_, A.aria.sb2(A.aria.sb4(x1)), A.aria.sb3(A.aria.sb1(x2)), A.aria.sb4(A.aria.sb2(x3)), A.aria.sb1(A.aria.sb3(x4)), A.aria.sb2(A.aria.sb4(x5)), A.aria.sb3(A.aria.sb1(x6)), A.aria.sb4(A.aria.sb2(x7)), A.aria.sb1(A.aria.sb3(x8)), A.aria.sb2(A.aria.sb4(x9)), A.aria.sb3(A.aria.sb1(x10)), A.aria.sb4(A.aria.sb2(x11)), A.aria.sb1(A.aria.sb3(x12)), A.aria.sb2(A.aria.sb4(x13)), A.aria.sb3(A.aria.sb1(x14)), A.aria.sb4(A.aria.sb2(x15))} : A.LcAriaSt}
6181 %aria_sb24(x1) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, _, A.aria.sb3(A.aria.sb1(x2)), A.aria.sb4(A.aria.sb2(x3)), A.aria.sb1(A.aria.sb3(x4)), A.aria.sb2(A.aria.sb4(x5)), A.aria.sb3(A.aria.sb1(x6)), A.aria.sb4(A.aria.sb2(x7)), A.aria.sb1(A.aria.sb3(x8)), A.aria.sb2(A.aria.sb4(x9)), A.aria.sb3(A.aria.sb1(x10)), A.aria.sb4(A.aria.sb2(x11)), A.aria.sb1(A.aria.sb3(x12)), A.aria.sb2(A.aria.sb4(x13)), A.aria.sb3(A.aria.sb1(x14)), A.aria.sb4(A.aria.sb2(x15))} : A.LcAriaSt}
6182 %aria_sb31(x2) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, _, A.aria.sb4(A.aria.sb2(x3)), A.aria.sb1(A.aria.sb3(x4)), A.aria.sb2(A.aria.sb4(x5)), A.aria.sb3(A.aria.sb1(x6)), A.aria.sb4(A.aria.sb2(x7)), A.aria.sb1(A.aria.sb3(x8)), A.aria.sb2(A.aria.sb4(x9)), A.aria.sb3(A.aria.sb1(x10)), A.aria.sb4(A.aria.sb2(x11)), A.aria.sb1(A.aria.sb3(x12)), A.aria.sb2(A.aria.sb4(x13)), A.aria.sb3(A.aria.sb1(x14)), A.aria.sb4(A.aria.sb2(x15))} : A.LcAriaSt}
6183 %aria_sb42(x3) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, _, A.aria.sb1(A.aria.sb3(x4)), A.aria.sb2(A.aria.sb4(x5)), A.aria.sb3(A.aria.sb1(x6)), A.aria.sb4(A.aria.sb2(x7)), A.aria.sb1(A.aria.sb3(x8)), A.aria.sb2(A.aria.sb4(x9)), A.aria.sb3(A.aria.sb1(x10)), A.aria.sb4(A.aria.sb2(x11)), A.aria.sb1(A.aria.sb3(x12)), A.aria.sb2(A.aria.sb4(x13)), A.aria.sb3(A.aria.sb1(x14)), A.aria.sb4(A.aria.sb2(x15))} : A.LcAriaSt}
6184 %aria_sb13(x4) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, _, A.aria.sb2(A.aria.sb4(x5)), A.aria.sb3(A.aria.sb1(x6)), A.aria.sb4(A.aria.sb2(x7)), A.aria.sb1(A.aria.sb3(x8)), A.aria.sb2(A.aria.sb4(x9)), A.aria.sb3(A.aria.sb1(x10)), A.aria.sb4(A.aria.sb2(x11)), A.aria.sb1(A.aria.sb3(x12)), A.aria.sb2(A.aria.sb4(x13)), A.aria.sb3(A.aria.sb1(x14)), A.aria.sb4(A.aria.sb2(x15))} : A.LcAriaSt}
6185 %aria_sb24(x5) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, _, A.aria.sb3(A.aria.sb1(x6)), A.aria.sb4(A.aria.sb2(x7)), A.aria.sb1(A.aria.sb3(x8)), A.aria.sb2(A.aria.sb4(x9)), A.aria.sb3(A.aria.sb1(x10)), A.aria.sb4(A.aria.sb2(x11)), A.aria.sb1(A.aria.sb3(x12)), A.aria.sb2(A.aria.sb4(x13)), A.aria.sb3(A.aria.sb1(x14)), A.aria.sb4(A.aria.sb2(x15))} : A.LcAriaSt}
6186 %aria_sb31(x6) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, x5, _, A.aria.sb4(A.aria.sb2(x7)), A.aria.sb1(A.aria.sb3(x8)), A.aria.sb2(A.aria.sb4(x9)), A.aria.sb3(A.aria.sb1(x10)), A.aria.sb4(A.aria.sb2(x11)), A.aria.sb1(A.aria.sb3(x12)), A.aria.sb2(A.aria.sb4(x13)), A.aria.sb3(A.aria.sb1(x14)), A.aria.sb4(A.aria.sb2(x15))} : A.LcAriaSt}
6187 %aria_sb42(x7) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, _, A.aria.sb1(A.aria.sb3(x8)), A.aria.sb2(A.aria.sb4(x9)), A.aria.sb3(A.aria.sb1(x10)), A.aria.sb4(A.aria.sb2(x11)), A.aria.sb1(A.aria.sb3(x12)), A.aria.sb2(A.aria.sb4(x13)), A.aria.sb3(A.aria.sb1(x14)), A.aria.sb4(A.aria.sb2(x15))} : A.LcAriaSt}
6188 %aria_sb13(x8) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, _, A.aria.sb2(A.aria.sb4(x9)), A.aria.sb3(A.aria.sb1(x10)), A.aria.sb4(A.aria.sb2(x11)), A.aria.sb1(A.aria.sb3(x12)), A.aria.sb2(A.aria.sb4(x13)), A.aria.sb3(A.aria.sb1(x14)), A.aria.sb4(A.aria.sb2(x15))} : A.LcAriaSt}
6189 %aria_sb24(x9) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, _, A.aria.sb3(A.aria.sb1(x10)), A.aria.sb4(A.aria.sb2(x11)), A.aria.sb1(A.aria.sb3(x12)), A.aria.sb2(A.aria.sb4(x13)), A.aria.sb3(A.aria.sb1(x14)), A.aria.sb4(A.aria.sb2(x15))} : A.LcAriaSt}
6190 %aria_sb31(x10) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, _, A.aria.sb4(A.aria.sb2(x11)), A.aria.sb1(A.aria.sb3(x12)), A.aria.sb2(A.aria.sb4(x13)), A.aria.sb3(A.aria.sb1(x14)), A.aria.sb4(A.aria.sb2(x15))} : A.LcAriaSt}
6191 %aria_sb42(x11) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, _, A.aria.sb1(A.aria.sb3(x12)), A.aria.sb2(A.aria.sb4(x13)), A.aria.sb3(A.aria.sb1(x14)), A.aria.sb4(A.aria.sb2(x15))} : A.LcAriaSt}
6192 %aria_sb13(x12) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, _, A.aria.sb2(A.aria.sb4(x13)), A.aria.sb3(A.aria.sb1(x14)), A.aria.sb4(A.aria.sb2(x15))} : A.LcAriaSt}
6193 %aria_sb24(x13) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, _, A.aria.sb3(A.aria.sb1(x14)), A.aria.sb4(A.aria.sb2(x15))} : A.LcAriaSt}
6194 %aria_sb31(x14) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, _, A.aria.sb4(A.aria.sb2(x15))} : A.LcAriaSt}
6195 %aria_sb42(x15) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, _} : A.LcAriaSt}
6196 {==}
6197
6198# a round key XORed twice
6199def aria_xor2(s: A.LcAriaSt, k: M.CmBlock) -> {s == A.aria.xor(A.aria.xor(s, k), k) : A.LcAriaSt}:
6200 match s k:
6201 case A.LcAriaSt{+x0, +x1, +x2, +x3, +x4, +x5, +x6, +x7, +x8, +x9, +x10, +x11, +x12, +x13, +x14, +x15} M.CmBlock{U32{+k0}, U32{+k1}, U32{+k2}, U32{+k3}}:
6202 %CoreL.word_xor_cancel(8n, x0, A.aria.byte0(k0)) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{_, Word.xor(8n, Word.xor(8n, x1, A.aria.byte1(k0)), A.aria.byte1(k0)), Word.xor(8n, Word.xor(8n, x2, A.aria.byte2(k0)), A.aria.byte2(k0)), Word.xor(8n, Word.xor(8n, x3, A.aria.byte3(k0)), A.aria.byte3(k0)), Word.xor(8n, Word.xor(8n, x4, A.aria.byte0(k1)), A.aria.byte0(k1)), Word.xor(8n, Word.xor(8n, x5, A.aria.byte1(k1)), A.aria.byte1(k1)), Word.xor(8n, Word.xor(8n, x6, A.aria.byte2(k1)), A.aria.byte2(k1)), Word.xor(8n, Word.xor(8n, x7, A.aria.byte3(k1)), A.aria.byte3(k1)), Word.xor(8n, Word.xor(8n, x8, A.aria.byte0(k2)), A.aria.byte0(k2)), Word.xor(8n, Word.xor(8n, x9, A.aria.byte1(k2)), A.aria.byte1(k2)), Word.xor(8n, Word.xor(8n, x10, A.aria.byte2(k2)), A.aria.byte2(k2)), Word.xor(8n, Word.xor(8n, x11, A.aria.byte3(k2)), A.aria.byte3(k2)), Word.xor(8n, Word.xor(8n, x12, A.aria.byte0(k3)), A.aria.byte0(k3)), Word.xor(8n, Word.xor(8n, x13, A.aria.byte1(k3)), A.aria.byte1(k3)), Word.xor(8n, Word.xor(8n, x14, A.aria.byte2(k3)), A.aria.byte2(k3)), Word.xor(8n, Word.xor(8n, x15, A.aria.byte3(k3)), A.aria.byte3(k3))} : A.LcAriaSt}
6203 %CoreL.word_xor_cancel(8n, x1, A.aria.byte1(k0)) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, _, Word.xor(8n, Word.xor(8n, x2, A.aria.byte2(k0)), A.aria.byte2(k0)), Word.xor(8n, Word.xor(8n, x3, A.aria.byte3(k0)), A.aria.byte3(k0)), Word.xor(8n, Word.xor(8n, x4, A.aria.byte0(k1)), A.aria.byte0(k1)), Word.xor(8n, Word.xor(8n, x5, A.aria.byte1(k1)), A.aria.byte1(k1)), Word.xor(8n, Word.xor(8n, x6, A.aria.byte2(k1)), A.aria.byte2(k1)), Word.xor(8n, Word.xor(8n, x7, A.aria.byte3(k1)), A.aria.byte3(k1)), Word.xor(8n, Word.xor(8n, x8, A.aria.byte0(k2)), A.aria.byte0(k2)), Word.xor(8n, Word.xor(8n, x9, A.aria.byte1(k2)), A.aria.byte1(k2)), Word.xor(8n, Word.xor(8n, x10, A.aria.byte2(k2)), A.aria.byte2(k2)), Word.xor(8n, Word.xor(8n, x11, A.aria.byte3(k2)), A.aria.byte3(k2)), Word.xor(8n, Word.xor(8n, x12, A.aria.byte0(k3)), A.aria.byte0(k3)), Word.xor(8n, Word.xor(8n, x13, A.aria.byte1(k3)), A.aria.byte1(k3)), Word.xor(8n, Word.xor(8n, x14, A.aria.byte2(k3)), A.aria.byte2(k3)), Word.xor(8n, Word.xor(8n, x15, A.aria.byte3(k3)), A.aria.byte3(k3))} : A.LcAriaSt}
6204 %CoreL.word_xor_cancel(8n, x2, A.aria.byte2(k0)) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, _, Word.xor(8n, Word.xor(8n, x3, A.aria.byte3(k0)), A.aria.byte3(k0)), Word.xor(8n, Word.xor(8n, x4, A.aria.byte0(k1)), A.aria.byte0(k1)), Word.xor(8n, Word.xor(8n, x5, A.aria.byte1(k1)), A.aria.byte1(k1)), Word.xor(8n, Word.xor(8n, x6, A.aria.byte2(k1)), A.aria.byte2(k1)), Word.xor(8n, Word.xor(8n, x7, A.aria.byte3(k1)), A.aria.byte3(k1)), Word.xor(8n, Word.xor(8n, x8, A.aria.byte0(k2)), A.aria.byte0(k2)), Word.xor(8n, Word.xor(8n, x9, A.aria.byte1(k2)), A.aria.byte1(k2)), Word.xor(8n, Word.xor(8n, x10, A.aria.byte2(k2)), A.aria.byte2(k2)), Word.xor(8n, Word.xor(8n, x11, A.aria.byte3(k2)), A.aria.byte3(k2)), Word.xor(8n, Word.xor(8n, x12, A.aria.byte0(k3)), A.aria.byte0(k3)), Word.xor(8n, Word.xor(8n, x13, A.aria.byte1(k3)), A.aria.byte1(k3)), Word.xor(8n, Word.xor(8n, x14, A.aria.byte2(k3)), A.aria.byte2(k3)), Word.xor(8n, Word.xor(8n, x15, A.aria.byte3(k3)), A.aria.byte3(k3))} : A.LcAriaSt}
6205 %CoreL.word_xor_cancel(8n, x3, A.aria.byte3(k0)) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, _, Word.xor(8n, Word.xor(8n, x4, A.aria.byte0(k1)), A.aria.byte0(k1)), Word.xor(8n, Word.xor(8n, x5, A.aria.byte1(k1)), A.aria.byte1(k1)), Word.xor(8n, Word.xor(8n, x6, A.aria.byte2(k1)), A.aria.byte2(k1)), Word.xor(8n, Word.xor(8n, x7, A.aria.byte3(k1)), A.aria.byte3(k1)), Word.xor(8n, Word.xor(8n, x8, A.aria.byte0(k2)), A.aria.byte0(k2)), Word.xor(8n, Word.xor(8n, x9, A.aria.byte1(k2)), A.aria.byte1(k2)), Word.xor(8n, Word.xor(8n, x10, A.aria.byte2(k2)), A.aria.byte2(k2)), Word.xor(8n, Word.xor(8n, x11, A.aria.byte3(k2)), A.aria.byte3(k2)), Word.xor(8n, Word.xor(8n, x12, A.aria.byte0(k3)), A.aria.byte0(k3)), Word.xor(8n, Word.xor(8n, x13, A.aria.byte1(k3)), A.aria.byte1(k3)), Word.xor(8n, Word.xor(8n, x14, A.aria.byte2(k3)), A.aria.byte2(k3)), Word.xor(8n, Word.xor(8n, x15, A.aria.byte3(k3)), A.aria.byte3(k3))} : A.LcAriaSt}
6206 %CoreL.word_xor_cancel(8n, x4, A.aria.byte0(k1)) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, _, Word.xor(8n, Word.xor(8n, x5, A.aria.byte1(k1)), A.aria.byte1(k1)), Word.xor(8n, Word.xor(8n, x6, A.aria.byte2(k1)), A.aria.byte2(k1)), Word.xor(8n, Word.xor(8n, x7, A.aria.byte3(k1)), A.aria.byte3(k1)), Word.xor(8n, Word.xor(8n, x8, A.aria.byte0(k2)), A.aria.byte0(k2)), Word.xor(8n, Word.xor(8n, x9, A.aria.byte1(k2)), A.aria.byte1(k2)), Word.xor(8n, Word.xor(8n, x10, A.aria.byte2(k2)), A.aria.byte2(k2)), Word.xor(8n, Word.xor(8n, x11, A.aria.byte3(k2)), A.aria.byte3(k2)), Word.xor(8n, Word.xor(8n, x12, A.aria.byte0(k3)), A.aria.byte0(k3)), Word.xor(8n, Word.xor(8n, x13, A.aria.byte1(k3)), A.aria.byte1(k3)), Word.xor(8n, Word.xor(8n, x14, A.aria.byte2(k3)), A.aria.byte2(k3)), Word.xor(8n, Word.xor(8n, x15, A.aria.byte3(k3)), A.aria.byte3(k3))} : A.LcAriaSt}
6207 %CoreL.word_xor_cancel(8n, x5, A.aria.byte1(k1)) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, _, Word.xor(8n, Word.xor(8n, x6, A.aria.byte2(k1)), A.aria.byte2(k1)), Word.xor(8n, Word.xor(8n, x7, A.aria.byte3(k1)), A.aria.byte3(k1)), Word.xor(8n, Word.xor(8n, x8, A.aria.byte0(k2)), A.aria.byte0(k2)), Word.xor(8n, Word.xor(8n, x9, A.aria.byte1(k2)), A.aria.byte1(k2)), Word.xor(8n, Word.xor(8n, x10, A.aria.byte2(k2)), A.aria.byte2(k2)), Word.xor(8n, Word.xor(8n, x11, A.aria.byte3(k2)), A.aria.byte3(k2)), Word.xor(8n, Word.xor(8n, x12, A.aria.byte0(k3)), A.aria.byte0(k3)), Word.xor(8n, Word.xor(8n, x13, A.aria.byte1(k3)), A.aria.byte1(k3)), Word.xor(8n, Word.xor(8n, x14, A.aria.byte2(k3)), A.aria.byte2(k3)), Word.xor(8n, Word.xor(8n, x15, A.aria.byte3(k3)), A.aria.byte3(k3))} : A.LcAriaSt}
6208 %CoreL.word_xor_cancel(8n, x6, A.aria.byte2(k1)) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, x5, _, Word.xor(8n, Word.xor(8n, x7, A.aria.byte3(k1)), A.aria.byte3(k1)), Word.xor(8n, Word.xor(8n, x8, A.aria.byte0(k2)), A.aria.byte0(k2)), Word.xor(8n, Word.xor(8n, x9, A.aria.byte1(k2)), A.aria.byte1(k2)), Word.xor(8n, Word.xor(8n, x10, A.aria.byte2(k2)), A.aria.byte2(k2)), Word.xor(8n, Word.xor(8n, x11, A.aria.byte3(k2)), A.aria.byte3(k2)), Word.xor(8n, Word.xor(8n, x12, A.aria.byte0(k3)), A.aria.byte0(k3)), Word.xor(8n, Word.xor(8n, x13, A.aria.byte1(k3)), A.aria.byte1(k3)), Word.xor(8n, Word.xor(8n, x14, A.aria.byte2(k3)), A.aria.byte2(k3)), Word.xor(8n, Word.xor(8n, x15, A.aria.byte3(k3)), A.aria.byte3(k3))} : A.LcAriaSt}
6209 %CoreL.word_xor_cancel(8n, x7, A.aria.byte3(k1)) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, _, Word.xor(8n, Word.xor(8n, x8, A.aria.byte0(k2)), A.aria.byte0(k2)), Word.xor(8n, Word.xor(8n, x9, A.aria.byte1(k2)), A.aria.byte1(k2)), Word.xor(8n, Word.xor(8n, x10, A.aria.byte2(k2)), A.aria.byte2(k2)), Word.xor(8n, Word.xor(8n, x11, A.aria.byte3(k2)), A.aria.byte3(k2)), Word.xor(8n, Word.xor(8n, x12, A.aria.byte0(k3)), A.aria.byte0(k3)), Word.xor(8n, Word.xor(8n, x13, A.aria.byte1(k3)), A.aria.byte1(k3)), Word.xor(8n, Word.xor(8n, x14, A.aria.byte2(k3)), A.aria.byte2(k3)), Word.xor(8n, Word.xor(8n, x15, A.aria.byte3(k3)), A.aria.byte3(k3))} : A.LcAriaSt}
6210 %CoreL.word_xor_cancel(8n, x8, A.aria.byte0(k2)) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, _, Word.xor(8n, Word.xor(8n, x9, A.aria.byte1(k2)), A.aria.byte1(k2)), Word.xor(8n, Word.xor(8n, x10, A.aria.byte2(k2)), A.aria.byte2(k2)), Word.xor(8n, Word.xor(8n, x11, A.aria.byte3(k2)), A.aria.byte3(k2)), Word.xor(8n, Word.xor(8n, x12, A.aria.byte0(k3)), A.aria.byte0(k3)), Word.xor(8n, Word.xor(8n, x13, A.aria.byte1(k3)), A.aria.byte1(k3)), Word.xor(8n, Word.xor(8n, x14, A.aria.byte2(k3)), A.aria.byte2(k3)), Word.xor(8n, Word.xor(8n, x15, A.aria.byte3(k3)), A.aria.byte3(k3))} : A.LcAriaSt}
6211 %CoreL.word_xor_cancel(8n, x9, A.aria.byte1(k2)) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, _, Word.xor(8n, Word.xor(8n, x10, A.aria.byte2(k2)), A.aria.byte2(k2)), Word.xor(8n, Word.xor(8n, x11, A.aria.byte3(k2)), A.aria.byte3(k2)), Word.xor(8n, Word.xor(8n, x12, A.aria.byte0(k3)), A.aria.byte0(k3)), Word.xor(8n, Word.xor(8n, x13, A.aria.byte1(k3)), A.aria.byte1(k3)), Word.xor(8n, Word.xor(8n, x14, A.aria.byte2(k3)), A.aria.byte2(k3)), Word.xor(8n, Word.xor(8n, x15, A.aria.byte3(k3)), A.aria.byte3(k3))} : A.LcAriaSt}
6212 %CoreL.word_xor_cancel(8n, x10, A.aria.byte2(k2)) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, _, Word.xor(8n, Word.xor(8n, x11, A.aria.byte3(k2)), A.aria.byte3(k2)), Word.xor(8n, Word.xor(8n, x12, A.aria.byte0(k3)), A.aria.byte0(k3)), Word.xor(8n, Word.xor(8n, x13, A.aria.byte1(k3)), A.aria.byte1(k3)), Word.xor(8n, Word.xor(8n, x14, A.aria.byte2(k3)), A.aria.byte2(k3)), Word.xor(8n, Word.xor(8n, x15, A.aria.byte3(k3)), A.aria.byte3(k3))} : A.LcAriaSt}
6213 %CoreL.word_xor_cancel(8n, x11, A.aria.byte3(k2)) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, _, Word.xor(8n, Word.xor(8n, x12, A.aria.byte0(k3)), A.aria.byte0(k3)), Word.xor(8n, Word.xor(8n, x13, A.aria.byte1(k3)), A.aria.byte1(k3)), Word.xor(8n, Word.xor(8n, x14, A.aria.byte2(k3)), A.aria.byte2(k3)), Word.xor(8n, Word.xor(8n, x15, A.aria.byte3(k3)), A.aria.byte3(k3))} : A.LcAriaSt}
6214 %CoreL.word_xor_cancel(8n, x12, A.aria.byte0(k3)) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, _, Word.xor(8n, Word.xor(8n, x13, A.aria.byte1(k3)), A.aria.byte1(k3)), Word.xor(8n, Word.xor(8n, x14, A.aria.byte2(k3)), A.aria.byte2(k3)), Word.xor(8n, Word.xor(8n, x15, A.aria.byte3(k3)), A.aria.byte3(k3))} : A.LcAriaSt}
6215 %CoreL.word_xor_cancel(8n, x13, A.aria.byte1(k3)) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, _, Word.xor(8n, Word.xor(8n, x14, A.aria.byte2(k3)), A.aria.byte2(k3)), Word.xor(8n, Word.xor(8n, x15, A.aria.byte3(k3)), A.aria.byte3(k3))} : A.LcAriaSt}
6216 %CoreL.word_xor_cancel(8n, x14, A.aria.byte2(k3)) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, _, Word.xor(8n, Word.xor(8n, x15, A.aria.byte3(k3)), A.aria.byte3(k3))} : A.LcAriaSt}
6217 %CoreL.word_xor_cancel(8n, x15, A.aria.byte3(k3)) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, _} : A.LcAriaSt}
6218 {==}
6219
6220# each elementary step of the diffusion layer is undone by itself
6221def aria_e0(s: A.LcAriaSt) -> {s == A.aria.e0(A.aria.e0(s)) : A.LcAriaSt}:
6222 match s:
6223 case A.LcAriaSt{+x0, +x1, +x2, +x3, +x4, +x5, +x6, +x7, +x8, +x9, +x10, +x11, +x12, +x13, +x14, +x15}:
6224 %CoreL.word_xor_cancel(8n, x10, x15) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, Word.xor(8n, Word.xor(8n, x1, x15), x15), Word.xor(8n, Word.xor(8n, x2, x15), x15), x3, Word.xor(8n, Word.xor(8n, x4, x15), x15), Word.xor(8n, Word.xor(8n, x5, x15), x15), x6, x7, Word.xor(8n, Word.xor(8n, x8, x15), x15), x9, _, x11, x12, x13, x14, x15} : A.LcAriaSt}
6225 %CoreL.word_xor_cancel(8n, x8, x15) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, Word.xor(8n, Word.xor(8n, x1, x15), x15), Word.xor(8n, Word.xor(8n, x2, x15), x15), x3, Word.xor(8n, Word.xor(8n, x4, x15), x15), Word.xor(8n, Word.xor(8n, x5, x15), x15), x6, x7, _, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6226 %CoreL.word_xor_cancel(8n, x5, x15) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, Word.xor(8n, Word.xor(8n, x1, x15), x15), Word.xor(8n, Word.xor(8n, x2, x15), x15), x3, Word.xor(8n, Word.xor(8n, x4, x15), x15), _, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6227 %CoreL.word_xor_cancel(8n, x4, x15) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, Word.xor(8n, Word.xor(8n, x1, x15), x15), Word.xor(8n, Word.xor(8n, x2, x15), x15), x3, _, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6228 %CoreL.word_xor_cancel(8n, x2, x15) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, Word.xor(8n, Word.xor(8n, x1, x15), x15), _, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6229 %CoreL.word_xor_cancel(8n, x1, x15) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, _, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6230 {==}
6231
6232def aria_e1(s: A.LcAriaSt) -> {s == A.aria.e1(A.aria.e1(s)) : A.LcAriaSt}:
6233 match s:
6234 case A.LcAriaSt{+x0, +x1, +x2, +x3, +x4, +x5, +x6, +x7, +x8, +x9, +x10, +x11, +x12, +x13, +x14, +x15}:
6235 %CoreL.word_xor_cancel(8n, x11, x14) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x14), x14), x1, x2, Word.xor(8n, Word.xor(8n, x3, x14), x14), Word.xor(8n, Word.xor(8n, x4, x14), x14), Word.xor(8n, Word.xor(8n, x5, x14), x14), x6, x7, x8, Word.xor(8n, Word.xor(8n, x9, x14), x14), x10, _, x12, x13, x14, x15} : A.LcAriaSt}
6236 %CoreL.word_xor_cancel(8n, x9, x14) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x14), x14), x1, x2, Word.xor(8n, Word.xor(8n, x3, x14), x14), Word.xor(8n, Word.xor(8n, x4, x14), x14), Word.xor(8n, Word.xor(8n, x5, x14), x14), x6, x7, x8, _, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6237 %CoreL.word_xor_cancel(8n, x5, x14) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x14), x14), x1, x2, Word.xor(8n, Word.xor(8n, x3, x14), x14), Word.xor(8n, Word.xor(8n, x4, x14), x14), _, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6238 %CoreL.word_xor_cancel(8n, x4, x14) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x14), x14), x1, x2, Word.xor(8n, Word.xor(8n, x3, x14), x14), _, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6239 %CoreL.word_xor_cancel(8n, x3, x14) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x14), x14), x1, x2, _, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6240 %CoreL.word_xor_cancel(8n, x0, x14) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{_, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6241 {==}
6242
6243def aria_e2(s: A.LcAriaSt) -> {s == A.aria.e2(A.aria.e2(s)) : A.LcAriaSt}:
6244 match s:
6245 case A.LcAriaSt{+x0, +x1, +x2, +x3, +x4, +x5, +x6, +x7, +x8, +x9, +x10, +x11, +x12, +x13, +x14, +x15}:
6246 %CoreL.word_xor_cancel(8n, x10, x13) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x13), x13), x1, x2, Word.xor(8n, Word.xor(8n, x3, x13), x13), x4, x5, Word.xor(8n, Word.xor(8n, x6, x13), x13), Word.xor(8n, Word.xor(8n, x7, x13), x13), Word.xor(8n, Word.xor(8n, x8, x13), x13), x9, _, x11, x12, x13, x14, x15} : A.LcAriaSt}
6247 %CoreL.word_xor_cancel(8n, x8, x13) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x13), x13), x1, x2, Word.xor(8n, Word.xor(8n, x3, x13), x13), x4, x5, Word.xor(8n, Word.xor(8n, x6, x13), x13), Word.xor(8n, Word.xor(8n, x7, x13), x13), _, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6248 %CoreL.word_xor_cancel(8n, x7, x13) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x13), x13), x1, x2, Word.xor(8n, Word.xor(8n, x3, x13), x13), x4, x5, Word.xor(8n, Word.xor(8n, x6, x13), x13), _, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6249 %CoreL.word_xor_cancel(8n, x6, x13) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x13), x13), x1, x2, Word.xor(8n, Word.xor(8n, x3, x13), x13), x4, x5, _, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6250 %CoreL.word_xor_cancel(8n, x3, x13) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x13), x13), x1, x2, _, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6251 %CoreL.word_xor_cancel(8n, x0, x13) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{_, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6252 {==}
6253
6254def aria_e3(s: A.LcAriaSt) -> {s == A.aria.e3(A.aria.e3(s)) : A.LcAriaSt}:
6255 match s:
6256 case A.LcAriaSt{+x0, +x1, +x2, +x3, +x4, +x5, +x6, +x7, +x8, +x9, +x10, +x11, +x12, +x13, +x14, +x15}:
6257 %CoreL.word_xor_cancel(8n, x11, x12) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, Word.xor(8n, Word.xor(8n, x1, x12), x12), Word.xor(8n, Word.xor(8n, x2, x12), x12), x3, x4, x5, Word.xor(8n, Word.xor(8n, x6, x12), x12), Word.xor(8n, Word.xor(8n, x7, x12), x12), x8, Word.xor(8n, Word.xor(8n, x9, x12), x12), x10, _, x12, x13, x14, x15} : A.LcAriaSt}
6258 %CoreL.word_xor_cancel(8n, x9, x12) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, Word.xor(8n, Word.xor(8n, x1, x12), x12), Word.xor(8n, Word.xor(8n, x2, x12), x12), x3, x4, x5, Word.xor(8n, Word.xor(8n, x6, x12), x12), Word.xor(8n, Word.xor(8n, x7, x12), x12), x8, _, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6259 %CoreL.word_xor_cancel(8n, x7, x12) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, Word.xor(8n, Word.xor(8n, x1, x12), x12), Word.xor(8n, Word.xor(8n, x2, x12), x12), x3, x4, x5, Word.xor(8n, Word.xor(8n, x6, x12), x12), _, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6260 %CoreL.word_xor_cancel(8n, x6, x12) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, Word.xor(8n, Word.xor(8n, x1, x12), x12), Word.xor(8n, Word.xor(8n, x2, x12), x12), x3, x4, x5, _, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6261 %CoreL.word_xor_cancel(8n, x2, x12) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, Word.xor(8n, Word.xor(8n, x1, x12), x12), _, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6262 %CoreL.word_xor_cancel(8n, x1, x12) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, _, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6263 {==}
6264
6265def aria_e4(s: A.LcAriaSt) -> {s == A.aria.e4(A.aria.e4(s)) : A.LcAriaSt}:
6266 match s:
6267 case A.LcAriaSt{+x0, +x1, +x2, +x3, +x4, +x5, +x6, +x7, +x8, +x9, +x10, +x11, +x12, +x13, +x14, +x15}:
6268 %CoreL.word_xor_cancel(8n, x9, x11) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x11), x11), Word.xor(8n, Word.xor(8n, x1, x11), x11), Word.xor(8n, Word.xor(8n, x2, x11), x11), Word.xor(8n, Word.xor(8n, x3, x11), x11), Word.xor(8n, Word.xor(8n, x4, x11), x11), Word.xor(8n, Word.xor(8n, x5, x11), x11), Word.xor(8n, Word.xor(8n, x6, x11), x11), Word.xor(8n, Word.xor(8n, x7, x11), x11), x8, _, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6269 %CoreL.word_xor_cancel(8n, x7, x11) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x11), x11), Word.xor(8n, Word.xor(8n, x1, x11), x11), Word.xor(8n, Word.xor(8n, x2, x11), x11), Word.xor(8n, Word.xor(8n, x3, x11), x11), Word.xor(8n, Word.xor(8n, x4, x11), x11), Word.xor(8n, Word.xor(8n, x5, x11), x11), Word.xor(8n, Word.xor(8n, x6, x11), x11), _, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6270 %CoreL.word_xor_cancel(8n, x6, x11) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x11), x11), Word.xor(8n, Word.xor(8n, x1, x11), x11), Word.xor(8n, Word.xor(8n, x2, x11), x11), Word.xor(8n, Word.xor(8n, x3, x11), x11), Word.xor(8n, Word.xor(8n, x4, x11), x11), Word.xor(8n, Word.xor(8n, x5, x11), x11), _, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6271 %CoreL.word_xor_cancel(8n, x5, x11) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x11), x11), Word.xor(8n, Word.xor(8n, x1, x11), x11), Word.xor(8n, Word.xor(8n, x2, x11), x11), Word.xor(8n, Word.xor(8n, x3, x11), x11), Word.xor(8n, Word.xor(8n, x4, x11), x11), _, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6272 %CoreL.word_xor_cancel(8n, x4, x11) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x11), x11), Word.xor(8n, Word.xor(8n, x1, x11), x11), Word.xor(8n, Word.xor(8n, x2, x11), x11), Word.xor(8n, Word.xor(8n, x3, x11), x11), _, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6273 %CoreL.word_xor_cancel(8n, x3, x11) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x11), x11), Word.xor(8n, Word.xor(8n, x1, x11), x11), Word.xor(8n, Word.xor(8n, x2, x11), x11), _, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6274 %CoreL.word_xor_cancel(8n, x2, x11) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x11), x11), Word.xor(8n, Word.xor(8n, x1, x11), x11), _, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6275 %CoreL.word_xor_cancel(8n, x1, x11) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x11), x11), _, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6276 %CoreL.word_xor_cancel(8n, x0, x11) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{_, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6277 {==}
6278
6279def aria_e5(s: A.LcAriaSt) -> {s == A.aria.e5(A.aria.e5(s)) : A.LcAriaSt}:
6280 match s:
6281 case A.LcAriaSt{+x0, +x1, +x2, +x3, +x4, +x5, +x6, +x7, +x8, +x9, +x10, +x11, +x12, +x13, +x14, +x15}:
6282 %CoreL.word_xor_cancel(8n, x8, x10) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x10), x10), Word.xor(8n, Word.xor(8n, x1, x10), x10), Word.xor(8n, Word.xor(8n, x2, x10), x10), Word.xor(8n, Word.xor(8n, x3, x10), x10), Word.xor(8n, Word.xor(8n, x4, x10), x10), Word.xor(8n, Word.xor(8n, x5, x10), x10), Word.xor(8n, Word.xor(8n, x6, x10), x10), Word.xor(8n, Word.xor(8n, x7, x10), x10), _, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6283 %CoreL.word_xor_cancel(8n, x7, x10) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x10), x10), Word.xor(8n, Word.xor(8n, x1, x10), x10), Word.xor(8n, Word.xor(8n, x2, x10), x10), Word.xor(8n, Word.xor(8n, x3, x10), x10), Word.xor(8n, Word.xor(8n, x4, x10), x10), Word.xor(8n, Word.xor(8n, x5, x10), x10), Word.xor(8n, Word.xor(8n, x6, x10), x10), _, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6284 %CoreL.word_xor_cancel(8n, x6, x10) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x10), x10), Word.xor(8n, Word.xor(8n, x1, x10), x10), Word.xor(8n, Word.xor(8n, x2, x10), x10), Word.xor(8n, Word.xor(8n, x3, x10), x10), Word.xor(8n, Word.xor(8n, x4, x10), x10), Word.xor(8n, Word.xor(8n, x5, x10), x10), _, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6285 %CoreL.word_xor_cancel(8n, x5, x10) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x10), x10), Word.xor(8n, Word.xor(8n, x1, x10), x10), Word.xor(8n, Word.xor(8n, x2, x10), x10), Word.xor(8n, Word.xor(8n, x3, x10), x10), Word.xor(8n, Word.xor(8n, x4, x10), x10), _, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6286 %CoreL.word_xor_cancel(8n, x4, x10) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x10), x10), Word.xor(8n, Word.xor(8n, x1, x10), x10), Word.xor(8n, Word.xor(8n, x2, x10), x10), Word.xor(8n, Word.xor(8n, x3, x10), x10), _, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6287 %CoreL.word_xor_cancel(8n, x3, x10) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x10), x10), Word.xor(8n, Word.xor(8n, x1, x10), x10), Word.xor(8n, Word.xor(8n, x2, x10), x10), _, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6288 %CoreL.word_xor_cancel(8n, x2, x10) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x10), x10), Word.xor(8n, Word.xor(8n, x1, x10), x10), _, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6289 %CoreL.word_xor_cancel(8n, x1, x10) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x10), x10), _, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6290 %CoreL.word_xor_cancel(8n, x0, x10) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{_, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6291 {==}
6292
6293def aria_e6(s: A.LcAriaSt) -> {s == A.aria.e6(A.aria.e6(s)) : A.LcAriaSt}:
6294 match s:
6295 case A.LcAriaSt{+x0, +x1, +x2, +x3, +x4, +x5, +x6, +x7, +x8, +x9, +x10, +x11, +x12, +x13, +x14, +x15}:
6296 %CoreL.word_xor_cancel(8n, x14, x9) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x9), x9), Word.xor(8n, Word.xor(8n, x1, x9), x9), x2, x3, x4, Word.xor(8n, Word.xor(8n, x5, x9), x9), Word.xor(8n, Word.xor(8n, x6, x9), x9), x7, x8, x9, x10, Word.xor(8n, Word.xor(8n, x11, x9), x9), Word.xor(8n, Word.xor(8n, x12, x9), x9), x13, _, x15} : A.LcAriaSt}
6297 %CoreL.word_xor_cancel(8n, x12, x9) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x9), x9), Word.xor(8n, Word.xor(8n, x1, x9), x9), x2, x3, x4, Word.xor(8n, Word.xor(8n, x5, x9), x9), Word.xor(8n, Word.xor(8n, x6, x9), x9), x7, x8, x9, x10, Word.xor(8n, Word.xor(8n, x11, x9), x9), _, x13, x14, x15} : A.LcAriaSt}
6298 %CoreL.word_xor_cancel(8n, x11, x9) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x9), x9), Word.xor(8n, Word.xor(8n, x1, x9), x9), x2, x3, x4, Word.xor(8n, Word.xor(8n, x5, x9), x9), Word.xor(8n, Word.xor(8n, x6, x9), x9), x7, x8, x9, x10, _, x12, x13, x14, x15} : A.LcAriaSt}
6299 %CoreL.word_xor_cancel(8n, x6, x9) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x9), x9), Word.xor(8n, Word.xor(8n, x1, x9), x9), x2, x3, x4, Word.xor(8n, Word.xor(8n, x5, x9), x9), _, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6300 %CoreL.word_xor_cancel(8n, x5, x9) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x9), x9), Word.xor(8n, Word.xor(8n, x1, x9), x9), x2, x3, x4, _, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6301 %CoreL.word_xor_cancel(8n, x1, x9) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x9), x9), _, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6302 %CoreL.word_xor_cancel(8n, x0, x9) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{_, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6303 {==}
6304
6305def aria_e7(s: A.LcAriaSt) -> {s == A.aria.e7(A.aria.e7(s)) : A.LcAriaSt}:
6306 match s:
6307 case A.LcAriaSt{+x0, +x1, +x2, +x3, +x4, +x5, +x6, +x7, +x8, +x9, +x10, +x11, +x12, +x13, +x14, +x15}:
6308 %CoreL.word_xor_cancel(8n, x9, x11) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, _, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6309 {==}
6310
6311def aria_e8(s: A.LcAriaSt) -> {s == A.aria.e8(A.aria.e8(s)) : A.LcAriaSt}:
6312 match s:
6313 case A.LcAriaSt{+x0, +x1, +x2, +x3, +x4, +x5, +x6, +x7, +x8, +x9, +x10, +x11, +x12, +x13, +x14, +x15}:
6314 %CoreL.word_xor_cancel(8n, x15, x8) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x8), x8), Word.xor(8n, Word.xor(8n, x1, x8), x8), x2, x3, Word.xor(8n, Word.xor(8n, x4, x8), x8), x5, x6, Word.xor(8n, Word.xor(8n, x7, x8), x8), x8, x9, Word.xor(8n, Word.xor(8n, x10, x8), x8), x11, x12, Word.xor(8n, Word.xor(8n, x13, x8), x8), x14, _} : A.LcAriaSt}
6315 %CoreL.word_xor_cancel(8n, x13, x8) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x8), x8), Word.xor(8n, Word.xor(8n, x1, x8), x8), x2, x3, Word.xor(8n, Word.xor(8n, x4, x8), x8), x5, x6, Word.xor(8n, Word.xor(8n, x7, x8), x8), x8, x9, Word.xor(8n, Word.xor(8n, x10, x8), x8), x11, x12, _, x14, x15} : A.LcAriaSt}
6316 %CoreL.word_xor_cancel(8n, x10, x8) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x8), x8), Word.xor(8n, Word.xor(8n, x1, x8), x8), x2, x3, Word.xor(8n, Word.xor(8n, x4, x8), x8), x5, x6, Word.xor(8n, Word.xor(8n, x7, x8), x8), x8, x9, _, x11, x12, x13, x14, x15} : A.LcAriaSt}
6317 %CoreL.word_xor_cancel(8n, x7, x8) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x8), x8), Word.xor(8n, Word.xor(8n, x1, x8), x8), x2, x3, Word.xor(8n, Word.xor(8n, x4, x8), x8), x5, x6, _, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6318 %CoreL.word_xor_cancel(8n, x4, x8) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x8), x8), Word.xor(8n, Word.xor(8n, x1, x8), x8), x2, x3, _, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6319 %CoreL.word_xor_cancel(8n, x1, x8) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x8), x8), _, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6320 %CoreL.word_xor_cancel(8n, x0, x8) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{_, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6321 {==}
6322
6323def aria_e9(s: A.LcAriaSt) -> {s == A.aria.e9(A.aria.e9(s)) : A.LcAriaSt}:
6324 match s:
6325 case A.LcAriaSt{+x0, +x1, +x2, +x3, +x4, +x5, +x6, +x7, +x8, +x9, +x10, +x11, +x12, +x13, +x14, +x15}:
6326 %CoreL.word_xor_cancel(8n, x8, x10) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, _, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6327 {==}
6328
6329def aria_e10(s: A.LcAriaSt) -> {s == A.aria.e10(A.aria.e10(s)) : A.LcAriaSt}:
6330 match s:
6331 case A.LcAriaSt{+x0, +x1, +x2, +x3, +x4, +x5, +x6, +x7, +x8, +x9, +x10, +x11, +x12, +x13, +x14, +x15}:
6332 %CoreL.word_xor_cancel(8n, x11, x7) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x7), x7), Word.xor(8n, Word.xor(8n, x1, x7), x7), Word.xor(8n, Word.xor(8n, x2, x7), x7), Word.xor(8n, Word.xor(8n, x3, x7), x7), x4, x5, Word.xor(8n, Word.xor(8n, x6, x7), x7), x7, Word.xor(8n, Word.xor(8n, x8, x7), x7), Word.xor(8n, Word.xor(8n, x9, x7), x7), Word.xor(8n, Word.xor(8n, x10, x7), x7), _, x12, x13, x14, x15} : A.LcAriaSt}
6333 %CoreL.word_xor_cancel(8n, x10, x7) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x7), x7), Word.xor(8n, Word.xor(8n, x1, x7), x7), Word.xor(8n, Word.xor(8n, x2, x7), x7), Word.xor(8n, Word.xor(8n, x3, x7), x7), x4, x5, Word.xor(8n, Word.xor(8n, x6, x7), x7), x7, Word.xor(8n, Word.xor(8n, x8, x7), x7), Word.xor(8n, Word.xor(8n, x9, x7), x7), _, x11, x12, x13, x14, x15} : A.LcAriaSt}
6334 %CoreL.word_xor_cancel(8n, x9, x7) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x7), x7), Word.xor(8n, Word.xor(8n, x1, x7), x7), Word.xor(8n, Word.xor(8n, x2, x7), x7), Word.xor(8n, Word.xor(8n, x3, x7), x7), x4, x5, Word.xor(8n, Word.xor(8n, x6, x7), x7), x7, Word.xor(8n, Word.xor(8n, x8, x7), x7), _, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6335 %CoreL.word_xor_cancel(8n, x8, x7) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x7), x7), Word.xor(8n, Word.xor(8n, x1, x7), x7), Word.xor(8n, Word.xor(8n, x2, x7), x7), Word.xor(8n, Word.xor(8n, x3, x7), x7), x4, x5, Word.xor(8n, Word.xor(8n, x6, x7), x7), x7, _, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6336 %CoreL.word_xor_cancel(8n, x6, x7) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x7), x7), Word.xor(8n, Word.xor(8n, x1, x7), x7), Word.xor(8n, Word.xor(8n, x2, x7), x7), Word.xor(8n, Word.xor(8n, x3, x7), x7), x4, x5, _, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6337 %CoreL.word_xor_cancel(8n, x3, x7) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x7), x7), Word.xor(8n, Word.xor(8n, x1, x7), x7), Word.xor(8n, Word.xor(8n, x2, x7), x7), _, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6338 %CoreL.word_xor_cancel(8n, x2, x7) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x7), x7), Word.xor(8n, Word.xor(8n, x1, x7), x7), _, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6339 %CoreL.word_xor_cancel(8n, x1, x7) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x7), x7), _, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6340 %CoreL.word_xor_cancel(8n, x0, x7) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{_, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6341 {==}
6342
6343def aria_e11(s: A.LcAriaSt) -> {s == A.aria.e11(A.aria.e11(s)) : A.LcAriaSt}:
6344 match s:
6345 case A.LcAriaSt{+x0, +x1, +x2, +x3, +x4, +x5, +x6, +x7, +x8, +x9, +x10, +x11, +x12, +x13, +x14, +x15}:
6346 %CoreL.word_xor_cancel(8n, x15, x6) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, Word.xor(8n, Word.xor(8n, x1, x6), x6), x2, Word.xor(8n, Word.xor(8n, x3, x6), x6), x4, x5, x6, Word.xor(8n, Word.xor(8n, x7, x6), x6), Word.xor(8n, Word.xor(8n, x8, x6), x6), x9, x10, Word.xor(8n, Word.xor(8n, x11, x6), x6), x12, x13, Word.xor(8n, Word.xor(8n, x14, x6), x6), _} : A.LcAriaSt}
6347 %CoreL.word_xor_cancel(8n, x14, x6) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, Word.xor(8n, Word.xor(8n, x1, x6), x6), x2, Word.xor(8n, Word.xor(8n, x3, x6), x6), x4, x5, x6, Word.xor(8n, Word.xor(8n, x7, x6), x6), Word.xor(8n, Word.xor(8n, x8, x6), x6), x9, x10, Word.xor(8n, Word.xor(8n, x11, x6), x6), x12, x13, _, x15} : A.LcAriaSt}
6348 %CoreL.word_xor_cancel(8n, x11, x6) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, Word.xor(8n, Word.xor(8n, x1, x6), x6), x2, Word.xor(8n, Word.xor(8n, x3, x6), x6), x4, x5, x6, Word.xor(8n, Word.xor(8n, x7, x6), x6), Word.xor(8n, Word.xor(8n, x8, x6), x6), x9, x10, _, x12, x13, x14, x15} : A.LcAriaSt}
6349 %CoreL.word_xor_cancel(8n, x8, x6) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, Word.xor(8n, Word.xor(8n, x1, x6), x6), x2, Word.xor(8n, Word.xor(8n, x3, x6), x6), x4, x5, x6, Word.xor(8n, Word.xor(8n, x7, x6), x6), _, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6350 %CoreL.word_xor_cancel(8n, x7, x6) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, Word.xor(8n, Word.xor(8n, x1, x6), x6), x2, Word.xor(8n, Word.xor(8n, x3, x6), x6), x4, x5, x6, _, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6351 %CoreL.word_xor_cancel(8n, x3, x6) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, Word.xor(8n, Word.xor(8n, x1, x6), x6), x2, _, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6352 %CoreL.word_xor_cancel(8n, x1, x6) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, _, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6353 {==}
6354
6355def aria_e12(s: A.LcAriaSt) -> {s == A.aria.e12(A.aria.e12(s)) : A.LcAriaSt}:
6356 match s:
6357 case A.LcAriaSt{+x0, +x1, +x2, +x3, +x4, +x5, +x6, +x7, +x8, +x9, +x10, +x11, +x12, +x13, +x14, +x15}:
6358 %CoreL.word_xor_cancel(8n, x6, x7) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, x5, _, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6359 {==}
6360
6361def aria_e13(s: A.LcAriaSt) -> {s == A.aria.e13(A.aria.e13(s)) : A.LcAriaSt}:
6362 match s:
6363 case A.LcAriaSt{+x0, +x1, +x2, +x3, +x4, +x5, +x6, +x7, +x8, +x9, +x10, +x11, +x12, +x13, +x14, +x15}:
6364 %CoreL.word_xor_cancel(8n, x11, x5) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x5), x5), Word.xor(8n, Word.xor(8n, x1, x5), x5), Word.xor(8n, Word.xor(8n, x2, x5), x5), Word.xor(8n, Word.xor(8n, x3, x5), x5), Word.xor(8n, Word.xor(8n, x4, x5), x5), x5, x6, x7, Word.xor(8n, Word.xor(8n, x8, x5), x5), Word.xor(8n, Word.xor(8n, x9, x5), x5), Word.xor(8n, Word.xor(8n, x10, x5), x5), _, x12, x13, x14, x15} : A.LcAriaSt}
6365 %CoreL.word_xor_cancel(8n, x10, x5) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x5), x5), Word.xor(8n, Word.xor(8n, x1, x5), x5), Word.xor(8n, Word.xor(8n, x2, x5), x5), Word.xor(8n, Word.xor(8n, x3, x5), x5), Word.xor(8n, Word.xor(8n, x4, x5), x5), x5, x6, x7, Word.xor(8n, Word.xor(8n, x8, x5), x5), Word.xor(8n, Word.xor(8n, x9, x5), x5), _, x11, x12, x13, x14, x15} : A.LcAriaSt}
6366 %CoreL.word_xor_cancel(8n, x9, x5) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x5), x5), Word.xor(8n, Word.xor(8n, x1, x5), x5), Word.xor(8n, Word.xor(8n, x2, x5), x5), Word.xor(8n, Word.xor(8n, x3, x5), x5), Word.xor(8n, Word.xor(8n, x4, x5), x5), x5, x6, x7, Word.xor(8n, Word.xor(8n, x8, x5), x5), _, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6367 %CoreL.word_xor_cancel(8n, x8, x5) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x5), x5), Word.xor(8n, Word.xor(8n, x1, x5), x5), Word.xor(8n, Word.xor(8n, x2, x5), x5), Word.xor(8n, Word.xor(8n, x3, x5), x5), Word.xor(8n, Word.xor(8n, x4, x5), x5), x5, x6, x7, _, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6368 %CoreL.word_xor_cancel(8n, x4, x5) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x5), x5), Word.xor(8n, Word.xor(8n, x1, x5), x5), Word.xor(8n, Word.xor(8n, x2, x5), x5), Word.xor(8n, Word.xor(8n, x3, x5), x5), _, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6369 %CoreL.word_xor_cancel(8n, x3, x5) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x5), x5), Word.xor(8n, Word.xor(8n, x1, x5), x5), Word.xor(8n, Word.xor(8n, x2, x5), x5), _, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6370 %CoreL.word_xor_cancel(8n, x2, x5) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x5), x5), Word.xor(8n, Word.xor(8n, x1, x5), x5), _, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6371 %CoreL.word_xor_cancel(8n, x1, x5) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x5), x5), _, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6372 %CoreL.word_xor_cancel(8n, x0, x5) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{_, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6373 {==}
6374
6375def aria_e14(s: A.LcAriaSt) -> {s == A.aria.e14(A.aria.e14(s)) : A.LcAriaSt}:
6376 match s:
6377 case A.LcAriaSt{+x0, +x1, +x2, +x3, +x4, +x5, +x6, +x7, +x8, +x9, +x10, +x11, +x12, +x13, +x14, +x15}:
6378 %CoreL.word_xor_cancel(8n, x13, x4) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, Word.xor(8n, Word.xor(8n, x1, x4), x4), x2, Word.xor(8n, Word.xor(8n, x3, x4), x4), x4, Word.xor(8n, Word.xor(8n, x5, x4), x4), x6, x7, x8, Word.xor(8n, Word.xor(8n, x9, x4), x4), Word.xor(8n, Word.xor(8n, x10, x4), x4), x11, Word.xor(8n, Word.xor(8n, x12, x4), x4), _, x14, x15} : A.LcAriaSt}
6379 %CoreL.word_xor_cancel(8n, x12, x4) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, Word.xor(8n, Word.xor(8n, x1, x4), x4), x2, Word.xor(8n, Word.xor(8n, x3, x4), x4), x4, Word.xor(8n, Word.xor(8n, x5, x4), x4), x6, x7, x8, Word.xor(8n, Word.xor(8n, x9, x4), x4), Word.xor(8n, Word.xor(8n, x10, x4), x4), x11, _, x13, x14, x15} : A.LcAriaSt}
6380 %CoreL.word_xor_cancel(8n, x10, x4) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, Word.xor(8n, Word.xor(8n, x1, x4), x4), x2, Word.xor(8n, Word.xor(8n, x3, x4), x4), x4, Word.xor(8n, Word.xor(8n, x5, x4), x4), x6, x7, x8, Word.xor(8n, Word.xor(8n, x9, x4), x4), _, x11, x12, x13, x14, x15} : A.LcAriaSt}
6381 %CoreL.word_xor_cancel(8n, x9, x4) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, Word.xor(8n, Word.xor(8n, x1, x4), x4), x2, Word.xor(8n, Word.xor(8n, x3, x4), x4), x4, Word.xor(8n, Word.xor(8n, x5, x4), x4), x6, x7, x8, _, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6382 %CoreL.word_xor_cancel(8n, x5, x4) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, Word.xor(8n, Word.xor(8n, x1, x4), x4), x2, Word.xor(8n, Word.xor(8n, x3, x4), x4), x4, _, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6383 %CoreL.word_xor_cancel(8n, x3, x4) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, Word.xor(8n, Word.xor(8n, x1, x4), x4), x2, _, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6384 %CoreL.word_xor_cancel(8n, x1, x4) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, _, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6385 {==}
6386
6387def aria_e15(s: A.LcAriaSt) -> {s == A.aria.e15(A.aria.e15(s)) : A.LcAriaSt}:
6388 match s:
6389 case A.LcAriaSt{+x0, +x1, +x2, +x3, +x4, +x5, +x6, +x7, +x8, +x9, +x10, +x11, +x12, +x13, +x14, +x15}:
6390 %CoreL.word_xor_cancel(8n, x4, x5) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, _, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6391 {==}
6392
6393def aria_e16(s: A.LcAriaSt) -> {s == A.aria.e16(A.aria.e16(s)) : A.LcAriaSt}:
6394 match s:
6395 case A.LcAriaSt{+x0, +x1, +x2, +x3, +x4, +x5, +x6, +x7, +x8, +x9, +x10, +x11, +x12, +x13, +x14, +x15}:
6396 %CoreL.word_xor_cancel(8n, x11, x3) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x3), x3), x1, x2, x3, Word.xor(8n, Word.xor(8n, x4, x3), x3), Word.xor(8n, Word.xor(8n, x5, x3), x3), Word.xor(8n, Word.xor(8n, x6, x3), x3), Word.xor(8n, Word.xor(8n, x7, x3), x3), Word.xor(8n, Word.xor(8n, x8, x3), x3), Word.xor(8n, Word.xor(8n, x9, x3), x3), Word.xor(8n, Word.xor(8n, x10, x3), x3), _, x12, x13, x14, x15} : A.LcAriaSt}
6397 %CoreL.word_xor_cancel(8n, x10, x3) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x3), x3), x1, x2, x3, Word.xor(8n, Word.xor(8n, x4, x3), x3), Word.xor(8n, Word.xor(8n, x5, x3), x3), Word.xor(8n, Word.xor(8n, x6, x3), x3), Word.xor(8n, Word.xor(8n, x7, x3), x3), Word.xor(8n, Word.xor(8n, x8, x3), x3), Word.xor(8n, Word.xor(8n, x9, x3), x3), _, x11, x12, x13, x14, x15} : A.LcAriaSt}
6398 %CoreL.word_xor_cancel(8n, x9, x3) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x3), x3), x1, x2, x3, Word.xor(8n, Word.xor(8n, x4, x3), x3), Word.xor(8n, Word.xor(8n, x5, x3), x3), Word.xor(8n, Word.xor(8n, x6, x3), x3), Word.xor(8n, Word.xor(8n, x7, x3), x3), Word.xor(8n, Word.xor(8n, x8, x3), x3), _, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6399 %CoreL.word_xor_cancel(8n, x8, x3) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x3), x3), x1, x2, x3, Word.xor(8n, Word.xor(8n, x4, x3), x3), Word.xor(8n, Word.xor(8n, x5, x3), x3), Word.xor(8n, Word.xor(8n, x6, x3), x3), Word.xor(8n, Word.xor(8n, x7, x3), x3), _, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6400 %CoreL.word_xor_cancel(8n, x7, x3) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x3), x3), x1, x2, x3, Word.xor(8n, Word.xor(8n, x4, x3), x3), Word.xor(8n, Word.xor(8n, x5, x3), x3), Word.xor(8n, Word.xor(8n, x6, x3), x3), _, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6401 %CoreL.word_xor_cancel(8n, x6, x3) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x3), x3), x1, x2, x3, Word.xor(8n, Word.xor(8n, x4, x3), x3), Word.xor(8n, Word.xor(8n, x5, x3), x3), _, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6402 %CoreL.word_xor_cancel(8n, x5, x3) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x3), x3), x1, x2, x3, Word.xor(8n, Word.xor(8n, x4, x3), x3), _, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6403 %CoreL.word_xor_cancel(8n, x4, x3) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{Word.xor(8n, Word.xor(8n, x0, x3), x3), x1, x2, x3, _, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6404 %CoreL.word_xor_cancel(8n, x0, x3) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{_, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6405 {==}
6406
6407def aria_e17(s: A.LcAriaSt) -> {s == A.aria.e17(A.aria.e17(s)) : A.LcAriaSt}:
6408 match s:
6409 case A.LcAriaSt{+x0, +x1, +x2, +x3, +x4, +x5, +x6, +x7, +x8, +x9, +x10, +x11, +x12, +x13, +x14, +x15}:
6410 %CoreL.word_xor_cancel(8n, x11, x2) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, Word.xor(8n, Word.xor(8n, x1, x2), x2), x2, x3, Word.xor(8n, Word.xor(8n, x4, x2), x2), Word.xor(8n, Word.xor(8n, x5, x2), x2), Word.xor(8n, Word.xor(8n, x6, x2), x2), Word.xor(8n, Word.xor(8n, x7, x2), x2), Word.xor(8n, Word.xor(8n, x8, x2), x2), Word.xor(8n, Word.xor(8n, x9, x2), x2), Word.xor(8n, Word.xor(8n, x10, x2), x2), _, x12, x13, x14, x15} : A.LcAriaSt}
6411 %CoreL.word_xor_cancel(8n, x10, x2) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, Word.xor(8n, Word.xor(8n, x1, x2), x2), x2, x3, Word.xor(8n, Word.xor(8n, x4, x2), x2), Word.xor(8n, Word.xor(8n, x5, x2), x2), Word.xor(8n, Word.xor(8n, x6, x2), x2), Word.xor(8n, Word.xor(8n, x7, x2), x2), Word.xor(8n, Word.xor(8n, x8, x2), x2), Word.xor(8n, Word.xor(8n, x9, x2), x2), _, x11, x12, x13, x14, x15} : A.LcAriaSt}
6412 %CoreL.word_xor_cancel(8n, x9, x2) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, Word.xor(8n, Word.xor(8n, x1, x2), x2), x2, x3, Word.xor(8n, Word.xor(8n, x4, x2), x2), Word.xor(8n, Word.xor(8n, x5, x2), x2), Word.xor(8n, Word.xor(8n, x6, x2), x2), Word.xor(8n, Word.xor(8n, x7, x2), x2), Word.xor(8n, Word.xor(8n, x8, x2), x2), _, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6413 %CoreL.word_xor_cancel(8n, x8, x2) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, Word.xor(8n, Word.xor(8n, x1, x2), x2), x2, x3, Word.xor(8n, Word.xor(8n, x4, x2), x2), Word.xor(8n, Word.xor(8n, x5, x2), x2), Word.xor(8n, Word.xor(8n, x6, x2), x2), Word.xor(8n, Word.xor(8n, x7, x2), x2), _, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6414 %CoreL.word_xor_cancel(8n, x7, x2) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, Word.xor(8n, Word.xor(8n, x1, x2), x2), x2, x3, Word.xor(8n, Word.xor(8n, x4, x2), x2), Word.xor(8n, Word.xor(8n, x5, x2), x2), Word.xor(8n, Word.xor(8n, x6, x2), x2), _, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6415 %CoreL.word_xor_cancel(8n, x6, x2) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, Word.xor(8n, Word.xor(8n, x1, x2), x2), x2, x3, Word.xor(8n, Word.xor(8n, x4, x2), x2), Word.xor(8n, Word.xor(8n, x5, x2), x2), _, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6416 %CoreL.word_xor_cancel(8n, x5, x2) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, Word.xor(8n, Word.xor(8n, x1, x2), x2), x2, x3, Word.xor(8n, Word.xor(8n, x4, x2), x2), _, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6417 %CoreL.word_xor_cancel(8n, x4, x2) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, Word.xor(8n, Word.xor(8n, x1, x2), x2), x2, x3, _, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6418 %CoreL.word_xor_cancel(8n, x1, x2) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, _, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6419 {==}
6420
6421def aria_e18(s: A.LcAriaSt) -> {s == A.aria.e18(A.aria.e18(s)) : A.LcAriaSt}:
6422 match s:
6423 case A.LcAriaSt{+x0, +x1, +x2, +x3, +x4, +x5, +x6, +x7, +x8, +x9, +x10, +x11, +x12, +x13, +x14, +x15}:
6424 %CoreL.word_xor_cancel(8n, x15, x1) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, Word.xor(8n, Word.xor(8n, x2, x1), x1), x3, x4, Word.xor(8n, Word.xor(8n, x5, x1), x1), x6, Word.xor(8n, Word.xor(8n, x7, x1), x1), Word.xor(8n, Word.xor(8n, x8, x1), x1), Word.xor(8n, Word.xor(8n, x9, x1), x1), x10, x11, Word.xor(8n, Word.xor(8n, x12, x1), x1), x13, x14, _} : A.LcAriaSt}
6425 %CoreL.word_xor_cancel(8n, x12, x1) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, Word.xor(8n, Word.xor(8n, x2, x1), x1), x3, x4, Word.xor(8n, Word.xor(8n, x5, x1), x1), x6, Word.xor(8n, Word.xor(8n, x7, x1), x1), Word.xor(8n, Word.xor(8n, x8, x1), x1), Word.xor(8n, Word.xor(8n, x9, x1), x1), x10, x11, _, x13, x14, x15} : A.LcAriaSt}
6426 %CoreL.word_xor_cancel(8n, x9, x1) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, Word.xor(8n, Word.xor(8n, x2, x1), x1), x3, x4, Word.xor(8n, Word.xor(8n, x5, x1), x1), x6, Word.xor(8n, Word.xor(8n, x7, x1), x1), Word.xor(8n, Word.xor(8n, x8, x1), x1), _, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6427 %CoreL.word_xor_cancel(8n, x8, x1) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, Word.xor(8n, Word.xor(8n, x2, x1), x1), x3, x4, Word.xor(8n, Word.xor(8n, x5, x1), x1), x6, Word.xor(8n, Word.xor(8n, x7, x1), x1), _, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6428 %CoreL.word_xor_cancel(8n, x7, x1) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, Word.xor(8n, Word.xor(8n, x2, x1), x1), x3, x4, Word.xor(8n, Word.xor(8n, x5, x1), x1), x6, _, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6429 %CoreL.word_xor_cancel(8n, x5, x1) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, Word.xor(8n, Word.xor(8n, x2, x1), x1), x3, x4, _, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6430 %CoreL.word_xor_cancel(8n, x2, x1) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, _, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6431 {==}
6432
6433def aria_e19(s: A.LcAriaSt) -> {s == A.aria.e19(A.aria.e19(s)) : A.LcAriaSt}:
6434 match s:
6435 case A.LcAriaSt{+x0, +x1, +x2, +x3, +x4, +x5, +x6, +x7, +x8, +x9, +x10, +x11, +x12, +x13, +x14, +x15}:
6436 %CoreL.word_xor_cancel(8n, x1, x2) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, _, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6437 {==}
6438
6439def aria_e20(s: A.LcAriaSt) -> {s == A.aria.e20(A.aria.e20(s)) : A.LcAriaSt}:
6440 match s:
6441 case A.LcAriaSt{+x0, +x1, +x2, +x3, +x4, +x5, +x6, +x7, +x8, +x9, +x10, +x11, +x12, +x13, +x14, +x15}:
6442 %CoreL.word_xor_cancel(8n, x14, x0) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, Word.xor(8n, Word.xor(8n, x3, x0), x0), Word.xor(8n, Word.xor(8n, x4, x0), x0), x5, Word.xor(8n, Word.xor(8n, x6, x0), x0), x7, Word.xor(8n, Word.xor(8n, x8, x0), x0), Word.xor(8n, Word.xor(8n, x9, x0), x0), x10, x11, x12, Word.xor(8n, Word.xor(8n, x13, x0), x0), _, x15} : A.LcAriaSt}
6443 %CoreL.word_xor_cancel(8n, x13, x0) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, Word.xor(8n, Word.xor(8n, x3, x0), x0), Word.xor(8n, Word.xor(8n, x4, x0), x0), x5, Word.xor(8n, Word.xor(8n, x6, x0), x0), x7, Word.xor(8n, Word.xor(8n, x8, x0), x0), Word.xor(8n, Word.xor(8n, x9, x0), x0), x10, x11, x12, _, x14, x15} : A.LcAriaSt}
6444 %CoreL.word_xor_cancel(8n, x9, x0) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, Word.xor(8n, Word.xor(8n, x3, x0), x0), Word.xor(8n, Word.xor(8n, x4, x0), x0), x5, Word.xor(8n, Word.xor(8n, x6, x0), x0), x7, Word.xor(8n, Word.xor(8n, x8, x0), x0), _, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6445 %CoreL.word_xor_cancel(8n, x8, x0) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, Word.xor(8n, Word.xor(8n, x3, x0), x0), Word.xor(8n, Word.xor(8n, x4, x0), x0), x5, Word.xor(8n, Word.xor(8n, x6, x0), x0), x7, _, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6446 %CoreL.word_xor_cancel(8n, x6, x0) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, Word.xor(8n, Word.xor(8n, x3, x0), x0), Word.xor(8n, Word.xor(8n, x4, x0), x0), x5, _, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6447 %CoreL.word_xor_cancel(8n, x4, x0) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, Word.xor(8n, Word.xor(8n, x3, x0), x0), _, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6448 %CoreL.word_xor_cancel(8n, x3, x0) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, _, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6449 {==}
6450
6451def aria_e21(s: A.LcAriaSt) -> {s == A.aria.e21(A.aria.e21(s)) : A.LcAriaSt}:
6452 match s:
6453 case A.LcAriaSt{+x0, +x1, +x2, +x3, +x4, +x5, +x6, +x7, +x8, +x9, +x10, +x11, +x12, +x13, +x14, +x15}:
6454 %CoreL.word_xor_cancel(8n, x0, x3) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{_, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
6455 {==}
6456
6457# the first j steps undone, last first, and the reverse
6458def aria_d0(s: A.LcAriaSt) -> {s == A.aria.u0(A.aria.d0(s)) : A.LcAriaSt}:
6459 {==}
6460
6461def aria_dd0(s: A.LcAriaSt) -> {s == A.aria.d0(A.aria.u0(s)) : A.LcAriaSt}:
6462 {==}
6463
6464def aria_d1(+s: A.LcAriaSt) -> {s == A.aria.u1(A.aria.d1(s)) : A.LcAriaSt}:
6465 %aria_e0(A.aria.d0(s)) : {s == A.aria.u0(_) : A.LcAriaSt}
6466 aria_d0(s)
6467
6468def aria_dd1(+s: A.LcAriaSt) -> {s == A.aria.d1(A.aria.u1(s)) : A.LcAriaSt}:
6469 %aria_dd0(A.aria.e0(s)) : {s == A.aria.e0(_) : A.LcAriaSt}
6470 aria_e0(s)
6471
6472def aria_d2(+s: A.LcAriaSt) -> {s == A.aria.u2(A.aria.d2(s)) : A.LcAriaSt}:
6473 %aria_e1(A.aria.d1(s)) : {s == A.aria.u1(_) : A.LcAriaSt}
6474 aria_d1(s)
6475
6476def aria_dd2(+s: A.LcAriaSt) -> {s == A.aria.d2(A.aria.u2(s)) : A.LcAriaSt}:
6477 %aria_dd1(A.aria.e1(s)) : {s == A.aria.e1(_) : A.LcAriaSt}
6478 aria_e1(s)
6479
6480def aria_d3(+s: A.LcAriaSt) -> {s == A.aria.u3(A.aria.d3(s)) : A.LcAriaSt}:
6481 %aria_e2(A.aria.d2(s)) : {s == A.aria.u2(_) : A.LcAriaSt}
6482 aria_d2(s)
6483
6484def aria_dd3(+s: A.LcAriaSt) -> {s == A.aria.d3(A.aria.u3(s)) : A.LcAriaSt}:
6485 %aria_dd2(A.aria.e2(s)) : {s == A.aria.e2(_) : A.LcAriaSt}
6486 aria_e2(s)
6487
6488def aria_d4(+s: A.LcAriaSt) -> {s == A.aria.u4(A.aria.d4(s)) : A.LcAriaSt}:
6489 %aria_e3(A.aria.d3(s)) : {s == A.aria.u3(_) : A.LcAriaSt}
6490 aria_d3(s)
6491
6492def aria_dd4(+s: A.LcAriaSt) -> {s == A.aria.d4(A.aria.u4(s)) : A.LcAriaSt}:
6493 %aria_dd3(A.aria.e3(s)) : {s == A.aria.e3(_) : A.LcAriaSt}
6494 aria_e3(s)
6495
6496def aria_d5(+s: A.LcAriaSt) -> {s == A.aria.u5(A.aria.d5(s)) : A.LcAriaSt}:
6497 %aria_e4(A.aria.d4(s)) : {s == A.aria.u4(_) : A.LcAriaSt}
6498 aria_d4(s)
6499
6500def aria_dd5(+s: A.LcAriaSt) -> {s == A.aria.d5(A.aria.u5(s)) : A.LcAriaSt}:
6501 %aria_dd4(A.aria.e4(s)) : {s == A.aria.e4(_) : A.LcAriaSt}
6502 aria_e4(s)
6503
6504def aria_d6(+s: A.LcAriaSt) -> {s == A.aria.u6(A.aria.d6(s)) : A.LcAriaSt}:
6505 %aria_e5(A.aria.d5(s)) : {s == A.aria.u5(_) : A.LcAriaSt}
6506 aria_d5(s)
6507
6508def aria_dd6(+s: A.LcAriaSt) -> {s == A.aria.d6(A.aria.u6(s)) : A.LcAriaSt}:
6509 %aria_dd5(A.aria.e5(s)) : {s == A.aria.e5(_) : A.LcAriaSt}
6510 aria_e5(s)
6511
6512def aria_d7(+s: A.LcAriaSt) -> {s == A.aria.u7(A.aria.d7(s)) : A.LcAriaSt}:
6513 %aria_e6(A.aria.d6(s)) : {s == A.aria.u6(_) : A.LcAriaSt}
6514 aria_d6(s)
6515
6516def aria_dd7(+s: A.LcAriaSt) -> {s == A.aria.d7(A.aria.u7(s)) : A.LcAriaSt}:
6517 %aria_dd6(A.aria.e6(s)) : {s == A.aria.e6(_) : A.LcAriaSt}
6518 aria_e6(s)
6519
6520def aria_d8(+s: A.LcAriaSt) -> {s == A.aria.u8(A.aria.d8(s)) : A.LcAriaSt}:
6521 %aria_e7(A.aria.d7(s)) : {s == A.aria.u7(_) : A.LcAriaSt}
6522 aria_d7(s)
6523
6524def aria_dd8(+s: A.LcAriaSt) -> {s == A.aria.d8(A.aria.u8(s)) : A.LcAriaSt}:
6525 %aria_dd7(A.aria.e7(s)) : {s == A.aria.e7(_) : A.LcAriaSt}
6526 aria_e7(s)
6527
6528def aria_d9(+s: A.LcAriaSt) -> {s == A.aria.u9(A.aria.d9(s)) : A.LcAriaSt}:
6529 %aria_e8(A.aria.d8(s)) : {s == A.aria.u8(_) : A.LcAriaSt}
6530 aria_d8(s)
6531
6532def aria_dd9(+s: A.LcAriaSt) -> {s == A.aria.d9(A.aria.u9(s)) : A.LcAriaSt}:
6533 %aria_dd8(A.aria.e8(s)) : {s == A.aria.e8(_) : A.LcAriaSt}
6534 aria_e8(s)
6535
6536def aria_d10(+s: A.LcAriaSt) -> {s == A.aria.u10(A.aria.d10(s)) : A.LcAriaSt}:
6537 %aria_e9(A.aria.d9(s)) : {s == A.aria.u9(_) : A.LcAriaSt}
6538 aria_d9(s)
6539
6540def aria_dd10(+s: A.LcAriaSt) -> {s == A.aria.d10(A.aria.u10(s)) : A.LcAriaSt}:
6541 %aria_dd9(A.aria.e9(s)) : {s == A.aria.e9(_) : A.LcAriaSt}
6542 aria_e9(s)
6543
6544def aria_d11(+s: A.LcAriaSt) -> {s == A.aria.u11(A.aria.d11(s)) : A.LcAriaSt}:
6545 %aria_e10(A.aria.d10(s)) : {s == A.aria.u10(_) : A.LcAriaSt}
6546 aria_d10(s)
6547
6548def aria_dd11(+s: A.LcAriaSt) -> {s == A.aria.d11(A.aria.u11(s)) : A.LcAriaSt}:
6549 %aria_dd10(A.aria.e10(s)) : {s == A.aria.e10(_) : A.LcAriaSt}
6550 aria_e10(s)
6551
6552def aria_d12(+s: A.LcAriaSt) -> {s == A.aria.u12(A.aria.d12(s)) : A.LcAriaSt}:
6553 %aria_e11(A.aria.d11(s)) : {s == A.aria.u11(_) : A.LcAriaSt}
6554 aria_d11(s)
6555
6556def aria_dd12(+s: A.LcAriaSt) -> {s == A.aria.d12(A.aria.u12(s)) : A.LcAriaSt}:
6557 %aria_dd11(A.aria.e11(s)) : {s == A.aria.e11(_) : A.LcAriaSt}
6558 aria_e11(s)
6559
6560def aria_d13(+s: A.LcAriaSt) -> {s == A.aria.u13(A.aria.d13(s)) : A.LcAriaSt}:
6561 %aria_e12(A.aria.d12(s)) : {s == A.aria.u12(_) : A.LcAriaSt}
6562 aria_d12(s)
6563
6564def aria_dd13(+s: A.LcAriaSt) -> {s == A.aria.d13(A.aria.u13(s)) : A.LcAriaSt}:
6565 %aria_dd12(A.aria.e12(s)) : {s == A.aria.e12(_) : A.LcAriaSt}
6566 aria_e12(s)
6567
6568def aria_d14(+s: A.LcAriaSt) -> {s == A.aria.u14(A.aria.d14(s)) : A.LcAriaSt}:
6569 %aria_e13(A.aria.d13(s)) : {s == A.aria.u13(_) : A.LcAriaSt}
6570 aria_d13(s)
6571
6572def aria_dd14(+s: A.LcAriaSt) -> {s == A.aria.d14(A.aria.u14(s)) : A.LcAriaSt}:
6573 %aria_dd13(A.aria.e13(s)) : {s == A.aria.e13(_) : A.LcAriaSt}
6574 aria_e13(s)
6575
6576def aria_d15(+s: A.LcAriaSt) -> {s == A.aria.u15(A.aria.d15(s)) : A.LcAriaSt}:
6577 %aria_e14(A.aria.d14(s)) : {s == A.aria.u14(_) : A.LcAriaSt}
6578 aria_d14(s)
6579
6580def aria_dd15(+s: A.LcAriaSt) -> {s == A.aria.d15(A.aria.u15(s)) : A.LcAriaSt}:
6581 %aria_dd14(A.aria.e14(s)) : {s == A.aria.e14(_) : A.LcAriaSt}
6582 aria_e14(s)
6583
6584def aria_d16(+s: A.LcAriaSt) -> {s == A.aria.u16(A.aria.d16(s)) : A.LcAriaSt}:
6585 %aria_e15(A.aria.d15(s)) : {s == A.aria.u15(_) : A.LcAriaSt}
6586 aria_d15(s)
6587
6588def aria_dd16(+s: A.LcAriaSt) -> {s == A.aria.d16(A.aria.u16(s)) : A.LcAriaSt}:
6589 %aria_dd15(A.aria.e15(s)) : {s == A.aria.e15(_) : A.LcAriaSt}
6590 aria_e15(s)
6591
6592def aria_d17(+s: A.LcAriaSt) -> {s == A.aria.u17(A.aria.d17(s)) : A.LcAriaSt}:
6593 %aria_e16(A.aria.d16(s)) : {s == A.aria.u16(_) : A.LcAriaSt}
6594 aria_d16(s)
6595
6596def aria_dd17(+s: A.LcAriaSt) -> {s == A.aria.d17(A.aria.u17(s)) : A.LcAriaSt}:
6597 %aria_dd16(A.aria.e16(s)) : {s == A.aria.e16(_) : A.LcAriaSt}
6598 aria_e16(s)
6599
6600def aria_d18(+s: A.LcAriaSt) -> {s == A.aria.u18(A.aria.d18(s)) : A.LcAriaSt}:
6601 %aria_e17(A.aria.d17(s)) : {s == A.aria.u17(_) : A.LcAriaSt}
6602 aria_d17(s)
6603
6604def aria_dd18(+s: A.LcAriaSt) -> {s == A.aria.d18(A.aria.u18(s)) : A.LcAriaSt}:
6605 %aria_dd17(A.aria.e17(s)) : {s == A.aria.e17(_) : A.LcAriaSt}
6606 aria_e17(s)
6607
6608def aria_d19(+s: A.LcAriaSt) -> {s == A.aria.u19(A.aria.d19(s)) : A.LcAriaSt}:
6609 %aria_e18(A.aria.d18(s)) : {s == A.aria.u18(_) : A.LcAriaSt}
6610 aria_d18(s)
6611
6612def aria_dd19(+s: A.LcAriaSt) -> {s == A.aria.d19(A.aria.u19(s)) : A.LcAriaSt}:
6613 %aria_dd18(A.aria.e18(s)) : {s == A.aria.e18(_) : A.LcAriaSt}
6614 aria_e18(s)
6615
6616def aria_d20(+s: A.LcAriaSt) -> {s == A.aria.u20(A.aria.d20(s)) : A.LcAriaSt}:
6617 %aria_e19(A.aria.d19(s)) : {s == A.aria.u19(_) : A.LcAriaSt}
6618 aria_d19(s)
6619
6620def aria_dd20(+s: A.LcAriaSt) -> {s == A.aria.d20(A.aria.u20(s)) : A.LcAriaSt}:
6621 %aria_dd19(A.aria.e19(s)) : {s == A.aria.e19(_) : A.LcAriaSt}
6622 aria_e19(s)
6623
6624def aria_d21(+s: A.LcAriaSt) -> {s == A.aria.u21(A.aria.d21(s)) : A.LcAriaSt}:
6625 %aria_e20(A.aria.d20(s)) : {s == A.aria.u20(_) : A.LcAriaSt}
6626 aria_d20(s)
6627
6628def aria_dd21(+s: A.LcAriaSt) -> {s == A.aria.d21(A.aria.u21(s)) : A.LcAriaSt}:
6629 %aria_dd20(A.aria.e20(s)) : {s == A.aria.e20(_) : A.LcAriaSt}
6630 aria_e20(s)
6631
6632def aria_d22(+s: A.LcAriaSt) -> {s == A.aria.u22(A.aria.d22(s)) : A.LcAriaSt}:
6633 %aria_e21(A.aria.d21(s)) : {s == A.aria.u21(_) : A.LcAriaSt}
6634 aria_d21(s)
6635
6636def aria_dd22(+s: A.LcAriaSt) -> {s == A.aria.d22(A.aria.u22(s)) : A.LcAriaSt}:
6637 %aria_dd21(A.aria.e21(s)) : {s == A.aria.e21(_) : A.LcAriaSt}
6638 aria_e21(s)
6639
6640def aria_diff(s: A.LcAriaSt) -> {s == A.aria.undiffuse(A.aria.diffuse(s)) : A.LcAriaSt}:
6641 aria_d22(s)
6642
6643def aria_diffd(s: A.LcAriaSt) -> {s == A.aria.diffuse(A.aria.undiffuse(s)) : A.LcAriaSt}:
6644 aria_dd22(s)
6645
6646# a block read back from its bytes, and the bytes from their block, on the bits
6647def aria_blk(b: M.CmBlock) -> {b == A.aria.to_block(A.aria.of_block(b)) : M.CmBlock}:
6648 match b:
6649 case M.CmBlock{U32{WCon{a0_0, WCon{a0_1, WCon{a0_2, WCon{a0_3, WCon{a0_4, WCon{a0_5, WCon{a0_6, WCon{a0_7, WCon{a0_8, WCon{a0_9, WCon{a0_10, WCon{a0_11, WCon{a0_12, WCon{a0_13, WCon{a0_14, WCon{a0_15, WCon{a0_16, WCon{a0_17, WCon{a0_18, WCon{a0_19, WCon{a0_20, WCon{a0_21, WCon{a0_22, WCon{a0_23, WCon{a0_24, WCon{a0_25, WCon{a0_26, WCon{a0_27, WCon{a0_28, WCon{a0_29, WCon{a0_30, WCon{a0_31, WNil{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}, U32{WCon{a1_0, WCon{a1_1, WCon{a1_2, WCon{a1_3, WCon{a1_4, WCon{a1_5, WCon{a1_6, WCon{a1_7, WCon{a1_8, WCon{a1_9, WCon{a1_10, WCon{a1_11, WCon{a1_12, WCon{a1_13, WCon{a1_14, WCon{a1_15, WCon{a1_16, WCon{a1_17, WCon{a1_18, WCon{a1_19, WCon{a1_20, WCon{a1_21, WCon{a1_22, WCon{a1_23, WCon{a1_24, WCon{a1_25, WCon{a1_26, WCon{a1_27, WCon{a1_28, WCon{a1_29, WCon{a1_30, WCon{a1_31, WNil{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}, U32{WCon{a2_0, WCon{a2_1, WCon{a2_2, WCon{a2_3, WCon{a2_4, WCon{a2_5, WCon{a2_6, WCon{a2_7, WCon{a2_8, WCon{a2_9, WCon{a2_10, WCon{a2_11, WCon{a2_12, WCon{a2_13, WCon{a2_14, WCon{a2_15, WCon{a2_16, WCon{a2_17, WCon{a2_18, WCon{a2_19, WCon{a2_20, WCon{a2_21, WCon{a2_22, WCon{a2_23, WCon{a2_24, WCon{a2_25, WCon{a2_26, WCon{a2_27, WCon{a2_28, WCon{a2_29, WCon{a2_30, WCon{a2_31, WNil{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}, U32{WCon{a3_0, WCon{a3_1, WCon{a3_2, WCon{a3_3, WCon{a3_4, WCon{a3_5, WCon{a3_6, WCon{a3_7, WCon{a3_8, WCon{a3_9, WCon{a3_10, WCon{a3_11, WCon{a3_12, WCon{a3_13, WCon{a3_14, WCon{a3_15, WCon{a3_16, WCon{a3_17, WCon{a3_18, WCon{a3_19, WCon{a3_20, WCon{a3_21, WCon{a3_22, WCon{a3_23, WCon{a3_24, WCon{a3_25, WCon{a3_26, WCon{a3_27, WCon{a3_28, WCon{a3_29, WCon{a3_30, WCon{a3_31, WNil{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}:
6650 {==}
6651
6652def aria_st(s: A.LcAriaSt) -> {s == A.aria.of_block(A.aria.to_block(s)) : A.LcAriaSt}:
6653 match s:
6654 case A.LcAriaSt{WCon{b0_0, WCon{b0_1, WCon{b0_2, WCon{b0_3, WCon{b0_4, WCon{b0_5, WCon{b0_6, WCon{b0_7, WNil{}}}}}}}}}, WCon{b1_0, WCon{b1_1, WCon{b1_2, WCon{b1_3, WCon{b1_4, WCon{b1_5, WCon{b1_6, WCon{b1_7, WNil{}}}}}}}}}, WCon{b2_0, WCon{b2_1, WCon{b2_2, WCon{b2_3, WCon{b2_4, WCon{b2_5, WCon{b2_6, WCon{b2_7, WNil{}}}}}}}}}, WCon{b3_0, WCon{b3_1, WCon{b3_2, WCon{b3_3, WCon{b3_4, WCon{b3_5, WCon{b3_6, WCon{b3_7, WNil{}}}}}}}}}, WCon{b4_0, WCon{b4_1, WCon{b4_2, WCon{b4_3, WCon{b4_4, WCon{b4_5, WCon{b4_6, WCon{b4_7, WNil{}}}}}}}}}, WCon{b5_0, WCon{b5_1, WCon{b5_2, WCon{b5_3, WCon{b5_4, WCon{b5_5, WCon{b5_6, WCon{b5_7, WNil{}}}}}}}}}, WCon{b6_0, WCon{b6_1, WCon{b6_2, WCon{b6_3, WCon{b6_4, WCon{b6_5, WCon{b6_6, WCon{b6_7, WNil{}}}}}}}}}, WCon{b7_0, WCon{b7_1, WCon{b7_2, WCon{b7_3, WCon{b7_4, WCon{b7_5, WCon{b7_6, WCon{b7_7, WNil{}}}}}}}}}, WCon{b8_0, WCon{b8_1, WCon{b8_2, WCon{b8_3, WCon{b8_4, WCon{b8_5, WCon{b8_6, WCon{b8_7, WNil{}}}}}}}}}, WCon{b9_0, WCon{b9_1, WCon{b9_2, WCon{b9_3, WCon{b9_4, WCon{b9_5, WCon{b9_6, WCon{b9_7, WNil{}}}}}}}}}, WCon{b10_0, WCon{b10_1, WCon{b10_2, WCon{b10_3, WCon{b10_4, WCon{b10_5, WCon{b10_6, WCon{b10_7, WNil{}}}}}}}}}, WCon{b11_0, WCon{b11_1, WCon{b11_2, WCon{b11_3, WCon{b11_4, WCon{b11_5, WCon{b11_6, WCon{b11_7, WNil{}}}}}}}}}, WCon{b12_0, WCon{b12_1, WCon{b12_2, WCon{b12_3, WCon{b12_4, WCon{b12_5, WCon{b12_6, WCon{b12_7, WNil{}}}}}}}}}, WCon{b13_0, WCon{b13_1, WCon{b13_2, WCon{b13_3, WCon{b13_4, WCon{b13_5, WCon{b13_6, WCon{b13_7, WNil{}}}}}}}}}, WCon{b14_0, WCon{b14_1, WCon{b14_2, WCon{b14_3, WCon{b14_4, WCon{b14_5, WCon{b14_6, WCon{b14_7, WNil{}}}}}}}}}, WCon{b15_0, WCon{b15_1, WCon{b15_2, WCon{b15_3, WCon{b15_4, WCon{b15_5, WCon{b15_6, WCon{b15_7, WNil{}}}}}}}}}}:
6655 {==}
6656# END GENERATED: aria
6657
6658def aria_unop_op(o: A.LcAriaOp, +s: A.LcAriaSt) -> {s == A.aria.unop(o, A.aria.op(o, s)) : A.LcAriaSt}:
6659 match o:
6660 case A.LcAriaRk{+k}:
6661 aria_xor2(s, k)
6662 case A.LcAriaSl1{}:
6663 aria_sl21(s)
6664 case A.LcAriaSl2{}:
6665 aria_sl12(s)
6666 case A.LcAriaDiff{}:
6667 aria_diff(s)
6668
6669def aria_op_unop(o: A.LcAriaOp, +s: A.LcAriaSt) -> {s == A.aria.op(o, A.aria.unop(o, s)) : A.LcAriaSt}:
6670 match o:
6671 case A.LcAriaRk{+k}:
6672 aria_xor2(s, k)
6673 case A.LcAriaSl1{}:
6674 aria_sl12(s)
6675 case A.LcAriaSl2{}:
6676 aria_sl21(s)
6677 case A.LcAriaDiff{}:
6678 aria_diffd(s)
6679
6680def aria_unrun_run(os: List<&2, A.LcAriaOp>, +s: A.LcAriaSt) -> {s == A.aria.unrun(os, A.aria.run(os, s)) : A.LcAriaSt}:
6681 match os:
6682 case Nil{}:
6683 {==}
6684 case Con{+o, +t}:
6685 %aria_unrun_run(t, A.aria.op(o, s)) : {s == A.aria.unop(o, _) : A.LcAriaSt}
6686 aria_unop_op(o, s)
6687
6688def aria_run_unrun(os: List<&2, A.LcAriaOp>, +s: A.LcAriaSt) -> {s == A.aria.run(os, A.aria.unrun(os, s)) : A.LcAriaSt}:
6689 match os:
6690 case Nil{}:
6691 {==}
6692 case Con{+o, +t}:
6693 %aria_op_unop(o, A.aria.unrun(t, s)) : {s == A.aria.run(t, _) : A.LcAriaSt}
6694 aria_run_unrun(t, s)
6695
6696def Laws.aria_round_trip(k, b):
6697 match k:
6698 case A.LcAriaKey{+ops}:
6699 %aria_st(A.aria.run(ops, A.aria.of_block(b))) : {A.aria.to_block(A.aria.unrun(ops, _)) == b : M.CmBlock}
6700 %aria_unrun_run(ops, A.aria.of_block(b)) : {A.aria.to_block(_) == b : M.CmBlock}
6701 Equal.sym(M.CmBlock, b, A.aria.to_block(A.aria.of_block(b)), aria_blk(b))
6702
6703def Laws.aria_round_trip_dual(k, b):
6704 match k:
6705 case A.LcAriaKey{+ops}:
6706 %aria_st(A.aria.unrun(ops, A.aria.of_block(b))) : {A.aria.to_block(A.aria.run(ops, _)) == b : M.CmBlock}
6707 %aria_run_unrun(ops, A.aria.of_block(b)) : {A.aria.to_block(_) == b : M.CmBlock}
6708 Equal.sym(M.CmBlock, b, A.aria.to_block(A.aria.of_block(b)), aria_blk(b))
6709
6710# BEGIN GENERATED by gen/vectors.py: vectors
6711
6712def Laws.aria_rfc5794():
6713 {==}
6714
6715def Laws.aria_bad_key_length():
6716 {==}
6717# END GENERATED: vectors