law at_view_t
lawful-bytes@0.1.1.0 · proof_core.bend:188
import lawful-bytes@0.1.1.0/proof_core.bend as ProofCore
import Base
import lawful-bytes@0.1.1.0/defs.bend as D
import lawful-arrays@0.1.0.0/defs.bend as A
import lawful-arrays@0.1.0.0/proof_tree.bend as P
188law at_view_t:
189 for +len: U32
190 for +t: P.Tree<U32>
191 for +d: Nat
192 for +i: U32
193 for +hf: {A.full(U32, P.fromT(U32, t), d) == True{} : Bool}
194 for +hd: {Nat.is_le(d, 29n) == True{} : Bool}
195 for +hl: {Nat.is_le(U32.to_nat(len), Nat.mul(4n, Nat.pow(2n, d))) == True{} : Bool}
196 for +hi: {Nat.is_lt(U32.to_nat(i), U32.to_nat(len)) == True{} : Bool}
197 {Some{AT(len, t, i)} == List.get(&2, U32, D.view(BT(len, t)), U32.to_nat(i)) : Maybe<&2, U32>}