def b_treef
bendtorch@1.3.0.0 · PROOF.bend:800
import bendtorch@1.3.0.0/PROOF.bend as PROOF
import Base
import bendtorch@1.3.0.0/main.bend as T
import bend-ml-tensor-array@0.1.18.0/main.bend as TA
800def b_treef(d: Nat, gs: T.Halves<T.BG>, +n: Nat, +h: Nat, +dm: T.Dm) -> b_MRF<d, gs, n, h, dm>:
801 match d gs:
802 case 0n T.Halves{l, r}:
803 b_fm0a(l, r, n, h, dm, b_lf1(l, h, dm, Nil{}))
804 case 1n++e T.Halves{l, r}:
805 b_fm1a(e, l, r, n, h, dm, b_cg(TA.half(TA.half(n)), l, Nil{}), b_cg(TA.half(Nat.sub(n, TA.half(n))), r, Nil{}), g1 => b_treef(e, g1, TA.half(n), h, dm), g2 => b_treef(e, g2, Nat.sub(n, TA.half(n)), h, dm))