from z3 import *

def encode(x):
    a = Extract(31, 0, x)
    b = Extract(63, 32, x)
    return [a,b]

def decode(l):
    a,b = l
    x = Concat(b, a)
    return x

x = BitVec('x', 64)
prove(x == decode(encode(x)))
