law run_skip
lawful-bytes@0.1.1.0 · proof_fast_find.bend:185
import lawful-bytes@0.1.1.0/proof_fast_find.bend as ProofFastFind
import Base
import lawful-bytes@0.1.1.0/defs.bend as D
185
186law run_skip:
187 for +xs: List<&2, U32>
188 for +ys: List<&2, U32>
189 for +n: Nat
190 for +c: U32
191 for +b: Bool
192 for +hb: {hd_eq(xs, c) == b : Bool}
193 for +h: {D.run_len(xs, c) == List.length(&2, U32, xs) : Nat}
194 for +hn: {Nat.is_le(List.length(&2, U32, xs), n) == True{} : Bool}
195 {D.run_len(List.take(&2, U32, List.append(&2, U32, xs, ys), n), c) == Nat.add(List.length(&2, U32, xs), D.run_len(List.take(&2, U32, ys, Nat.sub(n, List.length(&2, U32, xs))), c)) : Nat}