law dg_view
lawful-fields@0.1.1.0 · proof_digits.bend:122
import lawful-fields@0.1.1.0/proof_digits.bend as ProofDigits
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-fields@0.1.1.0/fields.bend as FC
import lawful-bytes@0.1.1.0/proof_core.bend as C
import lawful-arrays@0.1.0.0/proof_tree.bend as P
122law dg_view:
123 for +n: Nat
124 for +len: U32
125 for +t: P.Tree<U32>
126 for +d: Nat
127 for +j: U32
128 for +ok: Bool
129 for +h: {D.ok(C.BT(len, t), d) == True{} : Bool}
130 for +hs: {Nat.is_le(Nat.add(U32.to_nat(j), n), U32.to_nat(len)) == True{} : Bool}
131 {Pair.snd(D.Bytes, Bool, FC.digits.go(n, B.at(C.BT(len, t), j), j, ok)) == Bool.and(ok, alld(D.slice(D.view(C.BT(len, t)), U32.to_nat(j), n))) : Bool}