law fast_append_view_t
lawful-bytes@0.1.1.0 · proof_fast_append.bend:1609
import lawful-bytes@0.1.1.0/proof_fast_append.bend as ProofFastAppend
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
1609law fast_append_view_t:
1610 for +ld: U32
1611 for +td: P.Tree<U32>
1612 for +ls: U32
1613 for +ts: P.Tree<U32>
1614 for +d: Nat
1615 for +e: Nat
1616 for +s: U32
1617 for +n: U32
1618 for +hd: {D.ok(C.BT(ld, td), d) == True{} : Bool}
1619 for +he: {D.ok(C.BT(ls, ts), e) == True{} : Bool}
1620 for +hs: {Nat.is_le(Nat.add(U32.to_nat(s), U32.to_nat(n)), D.size(C.BT(ls, ts))) == True{} : Bool}
1621 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}
1622 {D.view(Pair.fst(D.Bytes, D.Bytes, FA.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>}