reserve x,y,X,Y for set;
reserve C for non empty set;
reserve c for Element of C;
reserve f,f1,f2,f3,g,g1 for PartFunc of C,COMPLEX;
reserve r1,r2,p1 for Real;
reserve r,q,cr1,cr2 for Complex;

theorem Th7:
  dom (f1(#)f2) \ (f1(#)f2)"{0} = (dom f1 \ (f1)"{0}) /\ (dom f2 \ (f2)"{0})
proof
  thus dom (f1(#)f2) \ (f1(#)f2)"{0} c= (dom f1 \ (f1)"{0}) /\ (dom f2 \ (f2)"
  {0})
  proof
    let x be object;
    assume
A1: x in dom (f1(#)f2) \ (f1(#)f2)"{0};
    then
A2: x in dom (f1(#)f2) by XBOOLE_0:def 5;
    reconsider x1=x as Element of C by A1;
    not x in (f1(#)f2)"{0c} by A1,XBOOLE_0:def 5;
    then not (f1(#)f2)/.x1 in {0c} by A2,PARTFUN2:26;
    then (f1(#)f2)/.x1 <> 0c by TARSKI:def 1;
    then
A3: (f1/.x1) * (f2/.x1) <> 0c by A2,Th3;
    then (f2/.x1) <> 0c;
    then not (f2/.x1) in {0c } by TARSKI:def 1;
    then
A4: not x1 in (f2)"{0c} by PARTFUN2:26;
A5: x1 in dom f1 /\ dom f2 by A2,Th3;
    then x1 in dom f2 by XBOOLE_0:def 4;
    then
A6: x in dom f2 \ (f2)"{0c} by A4,XBOOLE_0:def 5;
    (f1/.x1) <> 0c by A3;
    then not (f1/.x1) in {0c} by TARSKI:def 1;
    then
A7: not x1 in (f1)"{0c} by PARTFUN2:26;
    x1 in dom f1 by A5,XBOOLE_0:def 4;
    then x in dom f1 \ (f1)"{0c} by A7,XBOOLE_0:def 5;
    hence thesis by A6,XBOOLE_0:def 4;
  end;
  thus (dom f1 \ (f1)"{0}) /\ (dom f2 \ (f2)"{0}) c= dom (f1(#)f2) \ (f1(#)f2)
  "{0}
  proof
    let x be object;
    assume
A8: x in (dom f1 \ (f1)"{0}) /\ (dom f2 \ (f2)"{0});
    then reconsider x1=x as Element of C;
A9: x in dom f2 \ (f2)"{0c} by A8,XBOOLE_0:def 4;
    then
A10: x in dom f2 by XBOOLE_0:def 5;
    not x in (f2)"{0c } by A9,XBOOLE_0:def 5;
    then not (f2/.x1) in {0c} by A10,PARTFUN2:26;
    then
A11: (f2/.x1) <> 0c by TARSKI:def 1;
A12: x in dom f1 \ (f1)"{0c} by A8,XBOOLE_0:def 4;
    then
A13: x in dom f1 by XBOOLE_0:def 5;
    then x1 in dom f1 /\ dom f2 by A10,XBOOLE_0:def 4;
    then
A14: x1 in dom (f1(#)f2) by Th3;
    not x in (f1)"{0c} by A12,XBOOLE_0:def 5;
    then not (f1/.x1) in {0c} by A13,PARTFUN2:26;
    then (f1/.x1) <> 0c by TARSKI:def 1;
    then (f1/.x1) * (f2/.x1) <>0c by A11,XCMPLX_1:6;
    then (f1(#)f2)/.x1 <> 0c by A14,Th3;
    then not (f1(#)f2)/.x1 in {0c} by TARSKI:def 1;
    then not x in (f1(#)f2)"{0c} by PARTFUN2:26;
    hence thesis by A14,XBOOLE_0:def 5;
  end;
end;
