reserve r,p,x for Real;
reserve n for Element of NAT;
reserve A for non empty closed_interval Subset of REAL;
reserve Z for open Subset of REAL;

theorem Th22:
  for f1,f2,g being PartFunc of REAL,REAL, C being non empty
  Subset of REAL holds ((f1-f2)||C)(#)(g||C)=(f1(#)g-f2(#)g)||C
proof
  let f1,f2,g be PartFunc of REAL,REAL;
  let C be non empty Subset of REAL;
A1: dom ((f1(#)g-f2(#)g)||C) = dom (f1(#)g-f2(#)g) /\ C by RELAT_1:61
    .= (dom (f1(#)g) /\ dom (f2(#)g))/\ C by VALUED_1:12
    .= (dom f1 /\ dom g) /\ dom (f2(#)g) /\ C by VALUED_1:def 4
    .= dom f1 /\ dom g /\ (dom f2 /\ dom g) /\ C by VALUED_1:def 4
    .= dom f1 /\ (dom g /\ dom f2 /\ dom g) /\ C by XBOOLE_1:16
    .= dom f1 /\ (dom f2 /\ (dom g /\ dom g)) /\ C by XBOOLE_1:16
    .= (dom f1 /\ dom f2 /\ dom g) /\ C by XBOOLE_1:16;
A2: dom (((f1-f2)||C)(#)(g||C)) = dom ((f1-f2)|C) /\ dom (g|C) by
VALUED_1:def 4
    .= (dom (f1-f2) /\ C) /\ dom (g|C) by RELAT_1:61
    .= (dom (f1-f2) /\ C) /\ (dom g /\ C) by RELAT_1:61
    .= (dom f1 /\ dom f2 /\ C) /\ (dom g /\ C) by VALUED_1:12
    .= (dom f1 /\ dom f2) /\ (C /\ dom g /\ C) by XBOOLE_1:16
    .= (dom f1 /\ dom f2) /\ (dom g /\ (C /\ C)) by XBOOLE_1:16
    .= (dom f1 /\ dom f2 /\ dom g) /\ C by XBOOLE_1:16;
  for c being Element of C st c in dom(((f1-f2)||C)(#)(g||C)) holds (((f1-
  f2)||C)(#)(g||C)).c = ((f1(#)g-f2(#)g)||C).c
  proof
    let c be Element of C;
    assume
A3: c in dom(((f1-f2)||C)(#)(g||C));
    then
A4: c in dom((f1-f2)||C) /\ dom (g||C) by VALUED_1:def 4;
    then
A5: c in dom (g|C) by XBOOLE_0:def 4;
    c in dom (f1(#)g-f2(#)g) /\ C by A2,A1,A3,RELAT_1:61;
    then
A6: c in dom (f1(#)g-f2(#)g) by XBOOLE_0:def 4;
    then
A7: c in dom (f1(#)g) /\ dom(f2(#)g) by VALUED_1:12;
    then
A8: c in dom (f1(#)g) by XBOOLE_0:def 4;
A9: c in dom ((f1-f2)|C) by A4,XBOOLE_0:def 4;
    then c in dom(f1-f2) /\ C by RELAT_1:61;
    then
A10: c in dom(f1-f2) by XBOOLE_0:def 4;
A11: (((f1-f2)||C)(#)(g||C)).c =((f1-f2)|C).c * (g|C).c by A3,VALUED_1:def 4
      .= (f1-f2).c * (g|C).c by A9,FUNCT_1:47
      .= (f1.c - f2.c) * (g|C).c by A10,VALUED_1:13;
A12: c in dom(f2(#)g) by A7,XBOOLE_0:def 4;
    ((f1(#)g)-(f2(#)g))||C.c = (f1(#)g-f2(#)g).c by A2,A1,A3,FUNCT_1:47
      .= (f1(#)g).c-(f2(#)g).c by A6,VALUED_1:13
      .= f1.c * g.c-(f2(#)g).c by A8,VALUED_1:def 4
      .= f1.c * g.c-f2.c * g.c by A12,VALUED_1:def 4
      .= (f1.c-f2.c) * g.c;
    hence thesis by A5,A11,FUNCT_1:47;
  end;
  hence thesis by A2,A1,PARTFUN1:5;
end;
