law append_view_t
lawful-bytes@0.1.1.0 · proof_append.bend:382
import lawful-bytes@0.1.1.0/proof_append.bend as ProofAppend
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-bytes@0.1.1.0/proof_core.bend as C
import lawful-arrays@0.1.0.0/proof_tree.bend as P
382law append_view_t:
383 for +ld: U32
384 for +td: P.Tree<U32>
385 for +ls: U32
386 for +ts: P.Tree<U32>
387 for +d: Nat
388 for +e: Nat
389 for +s: U32
390 for +n: U32
391 for +hd: {D.ok(C.BT(ld, td), d) == True{} : Bool}
392 for +he: {D.ok(C.BT(ls, ts), e) == True{} : Bool}
393 for +hs: {Nat.is_le(Nat.add(U32.to_nat(s), U32.to_nat(n)), D.size(C.BT(ls, ts))) == True{} : Bool}
394 for +hc: {Nat.is_le(Nat.add(D.size(C.BT(ld, td)), U32.to_nat(n)), D.cap(C.BT(ld, td))) == True{} : Bool}
395 {D.view(Pair.fst(D.Bytes, D.Bytes, B.append(C.BT(ld, td), C.BT(ls, ts), s, n))) == List.append(&2, U32, D.view(C.BT(ld, td)), D.slice(D.view(C.BT(ls, ts)), U32.to_nat(s), U32.to_nat(n))) : List<&2, U32>}