reserve X1, X2, Y for non empty RelStr,
  f for Function of [:X1, X2:], Y,
  x for Element of X1,
  y for Element of X2;

theorem Th12:
  for R, S, T being LATTICE, f being Function of [:R,S:], T st (
for a being Element of R, b being Element of S holds Proj (f, a) is monotone &
  Proj (f, b) is monotone) holds f is monotone
proof
  let R, S, T be LATTICE, f be Function of [:R,S:], T;
  assume
A1: for a being Element of R, b being Element of S holds Proj (f, a) is
  monotone & Proj (f, b) is monotone;
  now
    let x, y be Element of [:R, S:];
    assume
A2: x <= y;
    then
A3: x`1 <= y`1 by YELLOW_3:12;
A4: x`2 <= y`2 by A2,YELLOW_3:12;
A5: f.(x`1, y`2) = Proj (f, x`1). y`2 by Th7;
    Proj (f, x`1) is monotone & f.(x`1, x`2) = Proj (f, x`1). x`2 by A1,Th7;
    then
A6: f. [x`1, x`2] <= f. [x`1, y`2] by A4,A5,WAYBEL_1:def 2;
A7: f.(y`1, y`2) = Proj (f, y`2). y`1 by Th8;
    Proj (f, y`2) is monotone & f.(x`1, y`2) = Proj (f, y`2). x`1 by A1,Th8;
    then f. [x`1, y`2] <= f. [y`1, y`2] by A3,A7,WAYBEL_1:def 2;
    then
A8: f. [x`1, x`2] <= f. [y`1, y`2] by A6,YELLOW_0:def 2;
A9: [:the carrier of R, the carrier of S:] = the carrier of [:R, S:] by
YELLOW_3:def 2;
    then f. [y`1, y`2] = f. y by MCART_1:21;
    hence f.x <= f.y by A8,A9,MCART_1:21;
  end;
  hence thesis by WAYBEL_1:def 2;
end;
