[[f1 ... fm] [v1 ... vn] [v1 w1 ... vp wp]] wbf [g1 ... gq] <poly>|<string> f1 ...fm; <string> v1 ... vn; <string> v1 ... vp; <integer> w1 ... wp; <poly> g1 ... gq; f1 ... fm are generators, v1 ... vn are variables, w1 is the weight of the variable v1, ... THE ORDERS OF INTEGRAL VARIABLES MUST BE SAME BOTH IN THE SECOND AND THE THIRD ARGUMENTS. INTEGRAL VARIABLES MUST APPEAR FIRST. If the weight is not generic, then the function exits with error. cf. bf-111 for w=(1 1 1 1 ...) Example 1: [[(x-y) (Dx+Dy)] [(y) (x)] [(y) -1 (Dy) 1]] wbf restrict only for y. Example 2: [[(-3 x^2 Dy-2 y Dx) (2 x Dx+3 y Dy+6)] [(x) (y)] [(x) -1 (Dx) 1 (y) -2 (Dy) 2]] wbf Example 3: [[[(0) (x^2 Dx+x)] [(Dx^2+x Dx^3) (0)]] [(x)] [(x) -1 (Dx) 1]] wbf