PROOF.off.drop_take: def of bend-osdev-bytes@0.1.1.1 Import: import bend-osdev-bytes@0.1.1.1/PROOF.bend as PROOF Lines 894-905 of bend-osdev-bytes@0.1.1.1/PROOF.bend: https://jend.leeeet.dev/read.txt?path=bend-osdev-bytes@0.1.1.1/PROOF.bend&start_line=894&end_line=905 import Base import bend-osdev-bytes@0.1.1.1/bytes.bend as B def off.drop_take(+i: Nat, +j: Nat, ws: List<&2, B.OctByte>) -> {B.w8s.drop(i, B.w8s.take(j, ws)) == B.w8s.take(Nat.sub(j, i), B.w8s.drop(i, ws)) : List<&2, B.OctByte>}: match i j ws: case 0n 0n _: {==} case 0n 1n+q _: {==} case 1n+p 0n _: {==} case 1n+p 1n+q Nil{}: Equal.sym(List<&2, B.OctByte>, B.w8s.take(Nat.sub(q, p), Nil{}), Nil{}, off.take_nil(Nat.sub(q, p))) case 1n+p 1n+q Con{x, t}: off.drop_take(p, q, t) Uses (8): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Equal.sym https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat.sub https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.1/PROOF.bend&name=off.take_nil https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.1/bytes.bend&name=OctByte https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.1/bytes.bend&name=w8s.drop https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.1/bytes.bend&name=w8s.take