def aria_e18
bend-osdev-legacy-ciphers@0.1.0.0 · PROOF.bend:8138
import bend-osdev-legacy-ciphers@0.1.0.0/PROOF.bend as PROOF
import Base
import bend-osdev-legacy-ciphers@0.1.0.0/aria.bend as A
8138def aria_e18(s: A.LcAriaSt) -> {s == A.aria.e18(A.aria.e18(s)) : A.LcAriaSt}:
8139 match s:
8140 case A.LcAriaSt{+x0, +x1, +x2, +x3, +x4, +x5, +x6, +x7, +x8, +x9, +x10, +x11, +x12, +x13, +x14, +x15}:
8141 %word_xx(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}
8142 %word_xx(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}
8143 %word_xx(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}
8144 %word_xx(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}
8145 %word_xx(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}
8146 %word_xx(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}
8147 %word_xx(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}
8148 {==}