def bs.some
bend-osdev-algo@0.1.0.0 · PROOF.bend:1179
import bend-osdev-algo@0.1.0.0/PROOF.bend as PROOF
import Base
import bend-osdev-algo@0.1.0.0/bsearch.bend as S
1179def bs.some(m: Maybe<&2, U32>, +key: U32, +xs: List<&2, U32>, +lb: Nat, +i: Nat, g: {List.get(&2, U32, xs, lb) == m : Maybe<&2, U32>}, e: {S.bsearch.find.check(lb, m, key) == Some{i} : Maybe<&2, Nat>}) -> {List.get(&2, U32, xs, i) == Some{key} : Maybe<&2, U32>}:
1180 match m:
1181 case None{}:
1182 Empty.absurd({List.get(&2, U32, xs, i) == Some{key} : Maybe<&2, U32>}, absurd.ns(i, e))
1183 case Some{+x}:
1184 bs.some.h(U32.is_eq(x, key), x, key, {==}, xs, lb, i, e, g)