reserve x,y,X,Y for set;
reserve C,D,E for non empty set;
reserve SC for Subset of C;
reserve SD for Subset of D;
reserve SE for Subset of E;
reserve c,c1,c2 for Element of C;
reserve d,d1,d2 for Element of D;
reserve e for Element of E;
reserve f,f1,g for PartFunc of C,D;
reserve t for PartFunc of D,C;
reserve s for PartFunc of D,E;
reserve h for PartFunc of C,E;
reserve F for PartFunc of D,D;

theorem
  f|X is constant & f|Y is constant & X /\ Y meets dom f implies f|(X \/
  Y) is constant
proof
  assume that
A1: f|X is constant and
A2: f|Y is constant and
A3: X /\ Y /\ dom f <> {};
  consider d1 such that
A4: for c st c in X /\ dom f holds f/.c = d1 by A1,Th35;
  set x = the Element of X /\ Y /\ dom f;
A5: x in X /\ Y by A3,XBOOLE_0:def 4;
A6: x in dom f by A3,XBOOLE_0:def 4;
  then reconsider x as Element of C;
  x in Y by A5,XBOOLE_0:def 4;
  then
A7: x in Y /\ dom f by A6,XBOOLE_0:def 4;
  consider d2 such that
A8: for c st c in Y /\ dom f holds f/.c = d2 by A2,Th35;
  x in X by A5,XBOOLE_0:def 4;
  then x in X /\ dom f by A6,XBOOLE_0:def 4;
  then f/.x = d1 by A4;
  then
A9: d1 = d2 by A8,A7;
  take d1;
  let c;
  assume
A10: c in dom(f|(X \/ Y));
  then
A11: c in (X \/ Y) /\ dom f by RELAT_1:61;
  then
A12: c in dom f by XBOOLE_0:def 4;
A13: c in X \/ Y by A11,XBOOLE_0:def 4;
  now
    per cases by A13,XBOOLE_0:def 3;
    suppose
      c in X;
      then c in X /\ dom f by A12,XBOOLE_0:def 4;
      hence f/.c = d1 by A4;
    end;
    suppose
      c in Y;
      then c in Y /\ dom f by A12,XBOOLE_0:def 4;
      hence f/.c = d1 by A8,A9;
    end;
  end;
  then (f|(X \/ Y))/.c = d1 by A11,Th16;
  hence thesis by A10,PARTFUN1:def 6;
end;
