law fast_eq

lawful-bytes@0.1.1.0 · proof_fast_find.bend:64

import lawful-bytes@0.1.1.0/proof_fast_find.bend as ProofFastFind
import Base
import lawful-bytes@0.1.1.0/defs.bend as D
import lawful-bytes@0.1.1.0/fast.bend as FA
import lawful-bytes@0.1.1.0/proof_core.bend as C
import lawful-arrays@0.1.0.0/proof_tree.bend as P

64# fast find on the mirror: the same Bytes, and the min of the loop's answer with to.
65law fast_eq:
66  for +len: U32
67  for +t: P.Tree<U32>
68  for +from: U32
69  for +to: U32
70  for +c: U32
71  {FA.find(C.BT(len, t), from, to, c) == (C.BT(len, t), U32.min(FG(FA.words(from, to), U32.is_zero(M0(t, from, FA.rep(c))), (from >> 2n : U32), M0(t, from, FA.rep(c)), FA.rep(c), t), to)) : D.Bytes & U32}

Uses (26)

Used by (2)