6 type t is range t2int: 0 .. 42
8 (* meta "range:keep" type t *)
10 goal g : forall x:t. x = (12 : t)
18 (* meta "range:keep" type t *)
20 goal g : forall x:t. x = (12 : t)
28 ensures { ule result (12 : t) }
39 meta "encoding : kept" type t
41 let ghost step1 (n x1 : t) (i : int) : unit
43 assert { let i' = of_int i in
44 let twoi = mul (2 : t) i' in
45 to_uint (bw_and (lsr_bv x1 twoi) (0x03 : t))
46 = numof (nth n) (to_uint twoi) (to_uint twoi + 2) }