def aria_sl21

bend-osdev-aria@0.1.0.0 · PROOF.bend:6155

import bend-osdev-aria@0.1.0.0/PROOF.bend as PROOF
import Base
import bend-osdev-aria@0.1.0.0/aria.bend as A

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      {==}

Uses (11)

Used by (2)