law run_skip2
lawful-bytes@0.1.1.0 · proof_fast_find2.bend:245
import lawful-bytes@0.1.1.0/proof_fast_find2.bend as ProofFastFind2
import Base
import lawful-bytes@0.1.1.0/defs.bend as D
245law run_skip2:
246 for +xs: List<&2, U32>
247 for +ys: List<&2, U32>
248 for +n: Nat
249 for +c1: U32
250 for +c2: U32
251 for +b: Bool
252 for +hb: {hd2(xs, c1, c2) == b : Bool}
253 for +h: {D.run_len2(xs, c1, c2) == List.length(&2, U32, xs) : Nat}
254 for +hn: {Nat.is_le(List.length(&2, U32, xs), n) == True{} : Bool}
255 {D.run_len2(List.take(&2, U32, List.append(&2, U32, xs, ys), n), c1, c2) == Nat.add(List.length(&2, U32, xs), D.run_len2(List.take(&2, U32, ys, Nat.sub(n, List.length(&2, U32, xs))), c1, c2)) : Nat}