law pb

lawful-fields@0.1.1.0 · proof_cut.bend:557

import lawful-fields@0.1.1.0/proof_cut.bend as ProofCut
import Base
import lawful-fields@0.1.1.0/defs.bend as F

557# The ends of split(ys) from s give back its pieces when ys starts xs at s.
558law pb:
559  for +ys: List<&2, U32>
560  for +xs: List<&2, U32>
561  for +s: Nat
562  for +sep: U32
563  for +hp: {List.take(&2, U32, List.drop(&2, U32, xs, s), List.length(&2, U32, ys)) == ys : List<&2, U32>}
564  {PN(F.ends(F.split(ys, sep), s), xs, s) == F.split(ys, sep) : List<&2, List<&2, U32>>}

Uses (20)

Used by (1)