def grow_ok.go

lawful-bytes@0.1.1.0 · PROOF.bend:89

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/bytes.bend as B
import lawful-bytes@0.1.1.0/proof_core.bend as C
import lawful-bytes@0.1.1.0/proof_grow.bend as G

89def grow_ok.go(-b: D.Bytes, +d: Nat, +e: Nat, h: {D.ok(b, d) == True{} : Bool}, he: {Nat.is_le(d, e) == True{} : Bool}, he29: {Nat.is_le(e, 29n) == True{} : Bool}, m_b: C.BMirror(b)) ->
90  {D.ok(B.grow(b, e), e) == True{} : Bool}:
91  (+l_b, m2_b) = m_b
92  (+t_b, +e_b) = m2_b
93  %e_b : {D.ok(B.grow(_, e), e) == True{} : Bool}
94  +h_t = C.tr(x => {D.ok(x, d) == True{} : Bool}, b, l_b, t_b, e_b, h)
95  G.grow_ok_t(l_b, t_b, d, e, h_t, he, he29)

Uses (10)

Used by (1)