law append_go_view

lawful-bytes@0.1.1.0 · proof_append.bend:324

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

324law append_go_view:
325  for +n: Nat
326  for +ld: U32
327  for +td: P.Tree<U32>
328  for +ls: U32
329  for +ts: P.Tree<U32>
330  for +d: Nat
331  for +e: Nat
332  for +s: U32
333  for +hd: {D.ok(C.BT(ld, td), d) == True{} : Bool}
334  for +he: {D.ok(C.BT(ls, ts), e) == True{} : Bool}
335  for +hs: {Nat.is_le(Nat.add(U32.to_nat(s), n), U32.to_nat(ls)) == True{} : Bool}
336  for +hc: {Nat.is_le(Nat.add(U32.to_nat(ld), n), D.cap(C.BT(ld, td))) == True{} : Bool}
337  {D.view(Pair.fst(D.Bytes, D.Bytes, B.append.go(n, C.BT(ld, td), B.at(C.BT(ls, ts), s), s))) == List.append(&2, U32, D.view(C.BT(ld, td)), D.slice(D.view(C.BT(ls, ts)), U32.to_nat(s), n)) : List<&2, U32>}

Uses (52)

Used by (1)