law us1

lawful-bytes@0.1.1.0 · proof_fast_append.bend:157

import lawful-bytes@0.1.1.0/proof_fast_append.bend as ProofFastAppend
import Base
import lawful-bytes@0.1.1.0/defs.bend as D
import lawful-bytes@0.1.1.0/proof_core.bend as C

157# Writing word q replaces bytes 4q .. 4q+3 of the unpacked list.
158law us1:
159  for +ws: List<&2, U32>
160  for +q: Nat
161  for +x: U32
162  for +m: Nat
163  for +hq: {Nat.is_lt(q, List.length(&2, U32, ws)) == True{} : Bool}
164  for +hm: {Nat.is_le(m, 4n) == True{} : Bool}
165  {List.take(&2, U32, D.unpack(List.set(&2, U32, ws, q, x)), Nat.add(Nat.mul(q, 4n), m)) == List.append(&2, U32, List.take(&2, U32, D.unpack(ws), Nat.mul(q, 4n)), List.take(&2, U32, C.L4(x), m)) : List<&2, U32>}

Uses (18)

Used by (1)