constant H [backward] : A → B constant G [backward] : A → B → C constant f [backward] : T → A backward rules B ==> H A ==> f (poly) C ==> G