def off.take_take

bend-osdev-bytes@0.1.1.0 · PROOF.bend:874

import bend-osdev-bytes@0.1.1.0/PROOF.bend as PROOF
import Base
import bend-osdev-bytes@0.1.1.0/bytes.bend as B

874def off.take_take(+i: Nat, +j: Nat, ws: List<&2, B.OctByte>) -> {B.w8s.take(i, B.w8s.take(j, ws)) == B.w8s.take(Nat.min(i, j), ws) : List<&2, B.OctByte>}:
875  match i j ws:
876    case 0n _ _:
877      {==}
878    case 1n+p 0n _:
879      {==}
880    case 1n+p 1n+q Nil{}:
881      {==}
882    case 1n+p 1n+q Con{x, t}:
883      Equal.cong(List<&2, B.OctByte>, List<&2, B.OctByte>, l => Con{x, l}, B.w8s.take(p, B.w8s.take(q, t)), B.w8s.take(Nat.min(p, q), t), off.take_take(p, q, t))

Uses (6)

Used by (1)