~/bend-docscommunity

proofs/crypto/aes/inverse.bend source

proofs/crypto/aes/inverse.bend on the hub · documented module

import Baseimport ../../../spec/crypto/aes/aes.bend as Simport ../../lib/logic.bend as L# Generated by tools/generators/aes/sbox.py. FIPS 197 section 4.4: the# multiplicative inverse b of a nonzero byte a satisfies a * b = {01}; the# specification computes it as a^254 (spec/crypto/aes/aes.bend). Proved here# for every U32 (both functions read only its low 8 bits): one closed# evaluation of 13 field products per byte value.law inverse_unit_bits:  for +b0: Bool  for +b1: Bool  for +b2: Bool  for +b3: Bool  for +b4: Bool  for +b5: Bool  for +b6: Bool  for +b7: Bool  for +b8: Bool  for +b9: Bool  for +b10: Bool  for +b11: Bool  for +b12: Bool  for +b13: Bool  for +b14: Bool  for +b15: Bool  for +b16: Bool  for +b17: Bool  for +b18: Bool  for +b19: Bool  for +b20: Bool  for +b21: Bool  for +b22: Bool  for +b23: Bool  for +b24: Bool  for +b25: Bool  for +b26: Bool  for +b27: Bool  for +b28: Bool  for +b29: Bool  for +b30: Bool  for +b31: Bool  for +h: {U32.is_eq(U32.and(255, U32{WCon{b0, WCon{b1, WCon{b2, WCon{b3, WCon{b4, WCon{b5, WCon{b6, WCon{b7, WCon{b8, WCon{b9, WCon{b10, WCon{b11, WCon{b12, WCon{b13, WCon{b14, WCon{b15, WCon{b16, WCon{b17, WCon{b18, WCon{b19, WCon{b20, WCon{b21, WCon{b22, WCon{b23, WCon{b24, WCon{b25, WCon{b26, WCon{b27, WCon{b28, WCon{b29, WCon{b30, WCon{b31, WNil{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}), 0) == False{} : Bool}  {S.mul(U32{WCon{b0, WCon{b1, WCon{b2, WCon{b3, WCon{b4, WCon{b5, WCon{b6, WCon{b7, WCon{b8, WCon{b9, WCon{b10, WCon{b11, WCon{b12, WCon{b13, WCon{b14, WCon{b15, WCon{b16, WCon{b17, WCon{b18, WCon{b19, WCon{b20, WCon{b21, WCon{b22, WCon{b23, WCon{b24, WCon{b25, WCon{b26, WCon{b27, WCon{b28, WCon{b29, WCon{b30, WCon{b31, WNil{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}, S.inverse(U32{WCon{b0, WCon{b1, WCon{b2, WCon{b3, WCon{b4, WCon{b5, WCon{b6, WCon{b7, WCon{b8, WCon{b9, WCon{b10, WCon{b11, WCon{b12, WCon{b13, WCon{b14, WCon{b15, WCon{b16, WCon{b17, WCon{b18, WCon{b19, WCon{b20, WCon{b21, WCon{b22, WCon{b23, WCon{b24, WCon{b25, WCon{b26, WCon{b27, WCon{b28, WCon{b29, WCon{b30, WCon{b31, WNil{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}})) == 1 : U32}def inverse_unit_bits(b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, h):  match b0 b1 b2 b3 b4 b5 b6 b7:    case False{} False{} False{} False{} False{} False{} False{} False{}:      Empty.absurd({S.mul(U32{WCon{False{}, WCon{False{}, WCon{False{}, WCon{False{}, WCon{False{}, WCon{False{}, WCon{False{}, WCon{False{}, WCon{b8, WCon{b9, WCon{b10, WCon{b11, WCon{b12, WCon{b13, WCon{b14, WCon{b15, WCon{b16, WCon{b17, WCon{b18, WCon{b19, WCon{b20, WCon{b21, WCon{b22, WCon{b23, WCon{b24, WCon{b25, WCon{b26, WCon{b27, WCon{b28, WCon{b29, WCon{b30, WCon{b31, WNil{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}, S.inverse(U32{WCon{False{}, WCon{False{}, WCon{False{}, WCon{False{}, WCon{False{}, WCon{False{}, WCon{False{}, WCon{False{}, WCon{b8, WCon{b9, WCon{b10, WCon{b11, WCon{b12, WCon{b13, WCon{b14, WCon{b15, WCon{b16, WCon{b17, WCon{b18, WCon{b19, WCon{b20, WCon{b21, WCon{b22, WCon{b23, WCon{b24, WCon{b25, WCon{b26, WCon{b27, WCon{b28, WCon{b29, WCon{b30, WCon{b31, WNil{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}})) == 1 : U32}, L.true_false(h))    case True{} False{} False{} False{} False{} False{} False{} False{}:      {==}    case False{} True{} False{} False{} False{} False{} False{} False{}:      {==}    case True{} True{} False{} False{} False{} False{} False{} False{}:      {==}    case False{} False{} True{} False{} False{} False{} False{} False{}:      {==}    case True{} False{} True{} False{} False{} False{} False{} False{}:      {==}    case False{} True{} True{} False{} False{} False{} False{} False{}:      {==}    case True{} True{} True{} False{} False{} False{} False{} False{}:      {==}    case False{} False{} False{} True{} False{} False{} False{} False{}:      {==}    case True{} False{} False{} True{} False{} False{} False{} False{}:      {==}    case False{} True{} False{} True{} False{} False{} False{} False{}:      {==}    case True{} True{} False{} True{} False{} False{} False{} False{}:      {==}    case False{} False{} True{} True{} False{} False{} False{} False{}:      {==}    case True{} False{} True{} True{} False{} False{} False{} False{}:      {==}    case False{} True{} True{} True{} False{} False{} False{} False{}:      {==}    case True{} True{} True{} True{} False{} False{} False{} False{}:      {==}    case False{} False{} False{} False{} True{} False{} False{} False{}:      {==}    case True{} False{} False{} False{} True{} False{} False{} False{}:      {==}    case False{} True{} False{} False{} True{} False{} False{} False{}:      {==}    case True{} True{} False{} False{} True{} False{} False{} False{}:      {==}    case False{} False{} True{} False{} True{} False{} False{} False{}:      {==}    case True{} False{} True{} False{} True{} False{} False{} False{}:      {==}    case False{} True{} True{} False{} True{} False{} False{} False{}:      {==}    case True{} True{} True{} False{} True{} False{} False{} False{}:      {==}    case False{} False{} False{} True{} True{} False{} False{} False{}:      {==}    case True{} False{} False{} True{} True{} False{} False{} False{}:      {==}    case False{} True{} False{} True{} True{} False{} False{} False{}:      {==}    case True{} True{} False{} True{} True{} False{} False{} False{}:      {==}    case False{} False{} True{} True{} True{} False{} False{} False{}:      {==}    case True{} False{} True{} True{} True{} False{} False{} False{}:      {==}    case False{} True{} True{} True{} True{} False{} False{} False{}:      {==}    case True{} True{} True{} True{} True{} False{} False{} False{}:      {==}    case False{} False{} False{} False{} False{} True{} False{} False{}:      {==}    case True{} False{} False{} False{} False{} True{} False{} False{}:      {==}    case False{} True{} False{} False{} False{} True{} False{} False{}:      {==}    case True{} True{} False{} False{} False{} True{} False{} False{}:      {==}    case False{} False{} True{} False{} False{} True{} False{} False{}:      {==}    case True{} False{} True{} False{} False{} True{} False{} False{}:      {==}    case False{} True{} True{} False{} False{} True{} False{} False{}:      {==}    case True{} True{} True{} False{} False{} True{} False{} False{}:      {==}    case False{} False{} False{} True{} False{} True{} False{} False{}:      {==}    case True{} False{} False{} True{} False{} True{} False{} False{}:      {==}    case False{} True{} False{} True{} False{} True{} False{} False{}:      {==}    case True{} True{} False{} True{} False{} True{} False{} False{}:      {==}    case False{} False{} True{} True{} False{} True{} False{} False{}:      {==}    case True{} False{} True{} True{} False{} True{} False{} False{}:      {==}    case False{} True{} True{} True{} False{} True{} False{} False{}:      {==}    case True{} True{} True{} True{} False{} True{} False{} False{}:      {==}    case False{} False{} False{} False{} True{} True{} False{} False{}:      {==}    case True{} False{} False{} False{} True{} True{} False{} False{}:      {==}    case False{} True{} False{} False{} True{} True{} False{} False{}:      {==}    case True{} True{} False{} False{} True{} True{} False{} False{}:      {==}    case False{} False{} True{} False{} True{} True{} False{} False{}:      {==}    case True{} False{} True{} False{} True{} True{} False{} False{}:      {==}    case False{} True{} True{} False{} True{} True{} False{} False{}:      {==}    case True{} True{} True{} False{} True{} True{} False{} False{}:      {==}    case False{} False{} False{} True{} True{} True{} False{} False{}:      {==}    case True{} False{} False{} True{} True{} True{} False{} False{}:      {==}    case False{} True{} False{} True{} True{} True{} False{} False{}:      {==}    case True{} True{} False{} True{} True{} True{} False{} False{}:      {==}    case False{} False{} True{} True{} True{} True{} False{} False{}:      {==}    case True{} False{} True{} True{} True{} True{} False{} False{}:      {==}    case False{} True{} True{} True{} True{} True{} False{} False{}:      {==}    case True{} True{} True{} True{} True{} True{} False{} False{}:      {==}    case False{} False{} False{} False{} False{} False{} True{} False{}:      {==}    case True{} False{} False{} False{} False{} False{} True{} False{}:      {==}    case False{} True{} False{} False{} False{} False{} True{} False{}:      {==}    case True{} True{} False{} False{} False{} False{} True{} False{}:      {==}    case False{} False{} True{} False{} False{} False{} True{} False{}:      {==}    case True{} False{} True{} False{} False{} False{} True{} False{}:      {==}    case False{} True{} True{} False{} False{} False{} True{} False{}:      {==}    case True{} True{} True{} False{} False{} False{} True{} False{}:      {==}    case False{} False{} False{} True{} False{} False{} True{} False{}:      {==}    case True{} False{} False{} True{} False{} False{} True{} False{}:      {==}    case False{} True{} False{} True{} False{} False{} True{} False{}:      {==}    case True{} True{} False{} True{} False{} False{} True{} False{}:      {==}    case False{} False{} True{} True{} False{} False{} True{} False{}:      {==}    case True{} False{} True{} True{} False{} False{} True{} False{}:      {==}    case False{} True{} True{} True{} False{} False{} True{} False{}:      {==}    case True{} True{} True{} True{} False{} False{} True{} False{}:      {==}    case False{} False{} False{} False{} True{} False{} True{} False{}:      {==}    case True{} False{} False{} False{} True{} False{} True{} False{}:      {==}    case False{} True{} False{} False{} True{} False{} True{} False{}:      {==}    case True{} True{} False{} False{} True{} False{} True{} False{}:      {==}    case False{} False{} True{} False{} True{} False{} True{} False{}:      {==}    case True{} False{} True{} False{} True{} False{} True{} False{}:      {==}    case False{} True{} True{} False{} True{} False{} True{} False{}:      {==}    case True{} True{} True{} False{} True{} False{} True{} False{}:      {==}    case False{} False{} False{} True{} True{} False{} True{} False{}:      {==}    case True{} False{} False{} True{} True{} False{} True{} False{}:      {==}    case False{} True{} False{} True{} True{} False{} True{} False{}:      {==}    case True{} True{} False{} True{} True{} False{} True{} False{}:      {==}    case False{} False{} True{} True{} True{} False{} True{} False{}:      {==}    case True{} False{} True{} True{} True{} False{} True{} False{}:      {==}    case False{} True{} True{} True{} True{} False{} True{} False{}:      {==}    case True{} True{} True{} True{} True{} False{} True{} False{}:      {==}    case False{} False{} False{} False{} False{} True{} True{} False{}:      {==}    case True{} False{} False{} False{} False{} True{} True{} False{}:      {==}    case False{} True{} False{} False{} False{} True{} True{} False{}:      {==}    case True{} True{} False{} False{} False{} True{} True{} False{}:      {==}    case False{} False{} True{} False{} False{} True{} True{} False{}:      {==}    case True{} False{} True{} False{} False{} True{} True{} False{}:      {==}    case False{} True{} True{} False{} False{} True{} True{} False{}:      {==}    case True{} True{} True{} False{} False{} True{} True{} False{}:      {==}    case False{} False{} False{} True{} False{} True{} True{} False{}:      {==}    case True{} False{} False{} True{} False{} True{} True{} False{}:      {==}    case False{} True{} False{} True{} False{} True{} True{} False{}:      {==}    case True{} True{} False{} True{} False{} True{} True{} False{}:      {==}    case False{} False{} True{} True{} False{} True{} True{} False{}:      {==}    case True{} False{} True{} True{} False{} True{} True{} False{}:      {==}    case False{} True{} True{} True{} False{} True{} True{} False{}:      {==}    case True{} True{} True{} True{} False{} True{} True{} False{}:      {==}    case False{} False{} False{} False{} True{} True{} True{} False{}:      {==}    case True{} False{} False{} False{} True{} True{} True{} False{}:      {==}    case False{} True{} False{} False{} True{} True{} True{} False{}:      {==}    case True{} True{} False{} False{} True{} True{} True{} False{}:      {==}    case False{} False{} True{} False{} True{} True{} True{} False{}:      {==}    case True{} False{} True{} False{} True{} True{} True{} False{}:      {==}    case False{} True{} True{} False{} True{} True{} True{} False{}:      {==}    case True{} True{} True{} False{} True{} True{} True{} False{}:      {==}    case False{} False{} False{} True{} True{} True{} True{} False{}:      {==}    case True{} False{} False{} True{} True{} True{} True{} False{}:      {==}    case False{} True{} False{} True{} True{} True{} True{} False{}:      {==}    case True{} True{} False{} True{} True{} True{} True{} False{}:      {==}    case False{} False{} True{} True{} True{} True{} True{} False{}:      {==}    case True{} False{} True{} True{} True{} True{} True{} False{}:      {==}    case False{} True{} True{} True{} True{} True{} True{} False{}:      {==}    case True{} True{} True{} True{} True{} True{} True{} False{}:      {==}    case False{} False{} False{} False{} False{} False{} False{} True{}:      {==}    case True{} False{} False{} False{} False{} False{} False{} True{}:      {==}    case False{} True{} False{} False{} False{} False{} False{} True{}:      {==}    case True{} True{} False{} False{} False{} False{} False{} True{}:      {==}    case False{} False{} True{} False{} False{} False{} False{} True{}:      {==}    case True{} False{} True{} False{} False{} False{} False{} True{}:      {==}    case False{} True{} True{} False{} False{} False{} False{} True{}:      {==}    case True{} True{} True{} False{} False{} False{} False{} True{}:      {==}    case False{} False{} False{} True{} False{} False{} False{} True{}:      {==}    case True{} False{} False{} True{} False{} False{} False{} True{}:      {==}    case False{} True{} False{} True{} False{} False{} False{} True{}:      {==}    case True{} True{} False{} True{} False{} False{} False{} True{}:      {==}    case False{} False{} True{} True{} False{} False{} False{} True{}:      {==}    case True{} False{} True{} True{} False{} False{} False{} True{}:      {==}    case False{} True{} True{} True{} False{} False{} False{} True{}:      {==}    case True{} True{} True{} True{} False{} False{} False{} True{}:      {==}    case False{} False{} False{} False{} True{} False{} False{} True{}:      {==}    case True{} False{} False{} False{} True{} False{} False{} True{}:      {==}    case False{} True{} False{} False{} True{} False{} False{} True{}:      {==}    case True{} True{} False{} False{} True{} False{} False{} True{}:      {==}    case False{} False{} True{} False{} True{} False{} False{} True{}:      {==}    case True{} False{} True{} False{} True{} False{} False{} True{}:      {==}    case False{} True{} True{} False{} True{} False{} False{} True{}:      {==}    case True{} True{} True{} False{} True{} False{} False{} True{}:      {==}    case False{} False{} False{} True{} True{} False{} False{} True{}:      {==}    case True{} False{} False{} True{} True{} False{} False{} True{}:      {==}    case False{} True{} False{} True{} True{} False{} False{} True{}:      {==}    case True{} True{} False{} True{} True{} False{} False{} True{}:      {==}    case False{} False{} True{} True{} True{} False{} False{} True{}:      {==}    case True{} False{} True{} True{} True{} False{} False{} True{}:      {==}    case False{} True{} True{} True{} True{} False{} False{} True{}:      {==}    case True{} True{} True{} True{} True{} False{} False{} True{}:      {==}    case False{} False{} False{} False{} False{} True{} False{} True{}:      {==}    case True{} False{} False{} False{} False{} True{} False{} True{}:      {==}    case False{} True{} False{} False{} False{} True{} False{} True{}:      {==}    case True{} True{} False{} False{} False{} True{} False{} True{}:      {==}    case False{} False{} True{} False{} False{} True{} False{} True{}:      {==}    case True{} False{} True{} False{} False{} True{} False{} True{}:      {==}    case False{} True{} True{} False{} False{} True{} False{} True{}:      {==}    case True{} True{} True{} False{} False{} True{} False{} True{}:      {==}    case False{} False{} False{} True{} False{} True{} False{} True{}:      {==}    case True{} False{} False{} True{} False{} True{} False{} True{}:      {==}    case False{} True{} False{} True{} False{} True{} False{} True{}:      {==}    case True{} True{} False{} True{} False{} True{} False{} True{}:      {==}    case False{} False{} True{} True{} False{} True{} False{} True{}:      {==}    case True{} False{} True{} True{} False{} True{} False{} True{}:      {==}    case False{} True{} True{} True{} False{} True{} False{} True{}:      {==}    case True{} True{} True{} True{} False{} True{} False{} True{}:      {==}    case False{} False{} False{} False{} True{} True{} False{} True{}:      {==}    case True{} False{} False{} False{} True{} True{} False{} True{}:      {==}    case False{} True{} False{} False{} True{} True{} False{} True{}:      {==}    case True{} True{} False{} False{} True{} True{} False{} True{}:      {==}    case False{} False{} True{} False{} True{} True{} False{} True{}:      {==}    case True{} False{} True{} False{} True{} True{} False{} True{}:      {==}    case False{} True{} True{} False{} True{} True{} False{} True{}:      {==}    case True{} True{} True{} False{} True{} True{} False{} True{}:      {==}    case False{} False{} False{} True{} True{} True{} False{} True{}:      {==}    case True{} False{} False{} True{} True{} True{} False{} True{}:      {==}    case False{} True{} False{} True{} True{} True{} False{} True{}:      {==}    case True{} True{} False{} True{} True{} True{} False{} True{}:      {==}    case False{} False{} True{} True{} True{} True{} False{} True{}:      {==}    case True{} False{} True{} True{} True{} True{} False{} True{}:      {==}    case False{} True{} True{} True{} True{} True{} False{} True{}:      {==}    case True{} True{} True{} True{} True{} True{} False{} True{}:      {==}    case False{} False{} False{} False{} False{} False{} True{} True{}:      {==}    case True{} False{} False{} False{} False{} False{} True{} True{}:      {==}    case False{} True{} False{} False{} False{} False{} True{} True{}:      {==}    case True{} True{} False{} False{} False{} False{} True{} True{}:      {==}    case False{} False{} True{} False{} False{} False{} True{} True{}:      {==}    case True{} False{} True{} False{} False{} False{} True{} True{}:      {==}    case False{} True{} True{} False{} False{} False{} True{} True{}:      {==}    case True{} True{} True{} False{} False{} False{} True{} True{}:      {==}    case False{} False{} False{} True{} False{} False{} True{} True{}:      {==}    case True{} False{} False{} True{} False{} False{} True{} True{}:      {==}    case False{} True{} False{} True{} False{} False{} True{} True{}:      {==}    case True{} True{} False{} True{} False{} False{} True{} True{}:      {==}    case False{} False{} True{} True{} False{} False{} True{} True{}:      {==}    case True{} False{} True{} True{} False{} False{} True{} True{}:      {==}    case False{} True{} True{} True{} False{} False{} True{} True{}:      {==}    case True{} True{} True{} True{} False{} False{} True{} True{}:      {==}    case False{} False{} False{} False{} True{} False{} True{} True{}:      {==}    case True{} False{} False{} False{} True{} False{} True{} True{}:      {==}    case False{} True{} False{} False{} True{} False{} True{} True{}:      {==}    case True{} True{} False{} False{} True{} False{} True{} True{}:      {==}    case False{} False{} True{} False{} True{} False{} True{} True{}:      {==}    case True{} False{} True{} False{} True{} False{} True{} True{}:      {==}    case False{} True{} True{} False{} True{} False{} True{} True{}:      {==}    case True{} True{} True{} False{} True{} False{} True{} True{}:      {==}    case False{} False{} False{} True{} True{} False{} True{} True{}:      {==}    case True{} False{} False{} True{} True{} False{} True{} True{}:      {==}    case False{} True{} False{} True{} True{} False{} True{} True{}:      {==}    case True{} True{} False{} True{} True{} False{} True{} True{}:      {==}    case False{} False{} True{} True{} True{} False{} True{} True{}:      {==}    case True{} False{} True{} True{} True{} False{} True{} True{}:      {==}    case False{} True{} True{} True{} True{} False{} True{} True{}:      {==}    case True{} True{} True{} True{} True{} False{} True{} True{}:      {==}    case False{} False{} False{} False{} False{} True{} True{} True{}:      {==}    case True{} False{} False{} False{} False{} True{} True{} True{}:      {==}    case False{} True{} False{} False{} False{} True{} True{} True{}:      {==}    case True{} True{} False{} False{} False{} True{} True{} True{}:      {==}    case False{} False{} True{} False{} False{} True{} True{} True{}:      {==}    case True{} False{} True{} False{} False{} True{} True{} True{}:      {==}    case False{} True{} True{} False{} False{} True{} True{} True{}:      {==}    case True{} True{} True{} False{} False{} True{} True{} True{}:      {==}    case False{} False{} False{} True{} False{} True{} True{} True{}:      {==}    case True{} False{} False{} True{} False{} True{} True{} True{}:      {==}    case False{} True{} False{} True{} False{} True{} True{} True{}:      {==}    case True{} True{} False{} True{} False{} True{} True{} True{}:      {==}    case False{} False{} True{} True{} False{} True{} True{} True{}:      {==}    case True{} False{} True{} True{} False{} True{} True{} True{}:      {==}    case False{} True{} True{} True{} False{} True{} True{} True{}:      {==}    case True{} True{} True{} True{} False{} True{} True{} True{}:      {==}    case False{} False{} False{} False{} True{} True{} True{} True{}:      {==}    case True{} False{} False{} False{} True{} True{} True{} True{}:      {==}    case False{} True{} False{} False{} True{} True{} True{} True{}:      {==}    case True{} True{} False{} False{} True{} True{} True{} True{}:      {==}    case False{} False{} True{} False{} True{} True{} True{} True{}:      {==}    case True{} False{} True{} False{} True{} True{} True{} True{}:      {==}    case False{} True{} True{} False{} True{} True{} True{} True{}:      {==}    case True{} True{} True{} False{} True{} True{} True{} True{}:      {==}    case False{} False{} False{} True{} True{} True{} True{} True{}:      {==}    case True{} False{} False{} True{} True{} True{} True{} True{}:      {==}    case False{} True{} False{} True{} True{} True{} True{} True{}:      {==}    case True{} True{} False{} True{} True{} True{} True{} True{}:      {==}    case False{} False{} True{} True{} True{} True{} True{} True{}:      {==}    case True{} False{} True{} True{} True{} True{} True{} True{}:      {==}    case False{} True{} True{} True{} True{} True{} True{} True{}:      {==}    case True{} True{} True{} True{} True{} True{} True{} True{}:      {==}law inverse_unit:  for +x: U32  for +h: {U32.is_eq(U32.and(255, x), 0) == False{} : Bool}  {S.mul(x, S.inverse(x)) == 1 : U32}def inverse_unit(x, h):  match x:    case U32{WCon{b0, WCon{b1, WCon{b2, WCon{b3, WCon{b4, WCon{b5, WCon{b6, WCon{b7, WCon{b8, WCon{b9, WCon{b10, WCon{b11, WCon{b12, WCon{b13, WCon{b14, WCon{b15, WCon{b16, WCon{b17, WCon{b18, WCon{b19, WCon{b20, WCon{b21, WCon{b22, WCon{b23, WCon{b24, WCon{b25, WCon{b26, WCon{b27, WCon{b28, WCon{b29, WCon{b30, WCon{b31, WNil{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}:      inverse_unit_bits(b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, h)law inverse_zero:  {S.inverse(0) == 0 : U32}def inverse_zero():  {==}