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}

Uses (20)

Used by (1)