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

Uses (33)

Used by (8)