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
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}