def view_size.go
lawful-bytes@0.1.1.0 · PROOF.bend:46
import lawful-bytes@0.1.1.0/PROOF.bend as PROOF
import Base
import lawful-bytes@0.1.1.0/defs.bend as D
import lawful-bytes@0.1.1.0/proof_core.bend as C
import lawful-bytes@0.1.1.0/proof_ops.bend as O
46def view_size.go(-b: D.Bytes, +d: Nat, h: {D.ok(b, d) == True{} : Bool}, m_b: C.BMirror(b)) ->
47 {List.length(&2, U32, D.view(b)) == D.size(b) : Nat}:
48 (+l_b, m2_b) = m_b
49 (+t_b, +e_b) = m2_b
50 %e_b : {List.length(&2, U32, D.view(_)) == D.size(_) : Nat}
51 +h_t = C.tr(x => {D.ok(x, d) == True{} : Bool}, b, l_b, t_b, e_b, h)
52 O.view_size_t(l_b, t_b, d, h_t)