def li.mask_take

bend-osdev-cipher-modes@0.1.0.0 · PROOF.bend:231

import bend-osdev-cipher-modes@0.1.0.0/PROOF.bend as PROOF
import Base
import bend-osdev-bytes@0.1.0.0/bytes.bend as B

231def li.mask_take(+n: Nat, +xs: List<&2, U32>) -> {B.mask(B.take(n, xs)) == B.take(n, B.mask(xs)) : List<&2, U32>}:
232  match n:
233    case 0n:
234      {==}
235    case 1n+p:
236      match xs:
237        case Nil{}:
238          {==}
239        case Con{+h, +t}:
240          %li.mask_take(p, t) : {Con{B.byte(h), B.mask(B.take(p, t))} == Con{B.byte(h), _} : List<&2, U32>}
241          {==}

Uses (6)

Used by (2)