law sv_read
import lawful-bytes@0.1.1.0/proof_shift.bend as ProofShiftimport 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>}