^po } fact { acyclic[po] } // Progress Axiom implicit: Alloy only considers finite executions pred RISCV_mm { LoadValue and Atomicity /* and Progress */ } /* 8-bit to 32-bit AES inverse MixColumn */ val sm4_sbox : bits(8) -> bits(8) function aes_sbox_fwd(x) = sbox_lookup(x, sm4_sbox_table) val aes_get_column : (bits(128), nat) -> bits(32) function sm4_subword(x) = { let output : bits(SEW) = h + sum1(e) + ch(e,f,g) + W0; let T2 : bits(SEW) = 0; foreach (i from vstart to vl - 1) % depth, where depth = 2(DEPTH+4)),
seignior