law sv_read

lawful-bytes@0.1.1.0 · proof_shift.bend:239

import lawful-bytes@0.1.1.0/proof_shift.bend as ProofShift
import Base

239# The value read at p = j + k is element j of drop(xs, k).
240law sv_read:
241  for +xs: List<&2, U32>
242  for +jj: Nat
243  for +kk: Nat
244  for +hj: {Nat.is_le(jj, List.length(&2, U32, List.drop(&2, U32, xs, kk))) == True{} : Bool}
245  {List.get(&2, U32, SV(xs, kk, jj), Nat.add(jj, kk)) == List.get(&2, U32, List.drop(&2, U32, xs, kk), jj) : Maybe<&2, U32>}

Uses (24)

Used by (1)