law fgo_view
lawful-bytes@0.1.1.0 · proof_find.bend:263
import lawful-bytes@0.1.1.0/proof_find.bend as ProofFind
import Base
import lawful-bytes@0.1.1.0/defs.bend as D
import lawful-bytes@0.1.1.0/bytes.bend as B
import lawful-bytes@0.1.1.0/proof_core.bend as C
import lawful-arrays@0.1.0.0/proof_tree.bend as P
263
264law fgo_view:
265 for +n: Nat
266 for +hit: Bool
267 for +len: U32
268 for +t: P.Tree<U32>
269 for +d: Nat
270 for +j: U32
271 for +to: U32
272 for +c: U32
273 for +hh: {U32.is_eq(C.AT(len, t, j), c) == hit : Bool}
274 for +hn: {Nat.add(U32.to_nat(j), n) == U32.to_nat(to) : Nat}
275 for +hto: {Nat.is_le(U32.to_nat(to), U32.to_nat(len)) == True{} : Bool}
276 for +h: {D.ok(C.BT(len, t), d) == True{} : Bool}
277 {U32.to_nat(Pair.snd(D.Bytes, U32, B.find.go(n, hit, (C.BT(len, t), C.AT(len, t, (j + 1 : U32))), j, to, c))) == Nat.add(U32.to_nat(j), D.run_len(D.slice(D.view(C.BT(len, t)), U32.to_nat(j), n), c)) : Nat}