F[f,g](s,t)=sup_{0 <= v <=s}sup_{0 <= u <= v} min(f(v,t),f(u,t)+g(u,v)-c*(s-u))
G[f,g](s,t)=inf_{0 <= v <= s}sup_{0 <= u <= v} max(f(v,t),f(u,t)+g(u,v)-c*(s-u))
ネットワークを考えるようにすると、都合の良い演算を導入したくなります。
F[f,g]= f F g
G[f,g]=f G g という感じです。
((f F g) F h) は二つのノードからなるネットワークで競合が各ノードにあるケースです。
もし f F (g * h) というように変形できるならネットワークは g*h に競合する
一つのノードとみなして計算できるということです。
厳密な計算(等号でつなぐ)ではこれは無理なんですが、上界で構わないと(<=で繋ぐのはOK)
すると (f F g) F h はこれ以上動かせなさそうなのですが、 (f G g) G h <= f G (g ** h) というようなことを
することができるのです。