reserve P,Q,X,Y,Z for set, p,x,x9,x1,x2,y,z for object;
reserve D for non empty set;
reserve A,B for non empty set;
reserve Y for non empty set,
  f for Function of X,Y,
  p for PartFunc of Y,Z,
  x for Element of X;
reserve g for Function of X,X;

theorem
  for X,Y being non empty set, f being Function of X,Y holds f is
  constant iff ex y being Element of Y st rng f = {y}
proof
  let X,Y be non empty set;
  let f be Function of X,Y;
  hereby
    consider x be object such that
A1: x in dom f by XBOOLE_0:def 1;
    set y = f.x;
    reconsider y as Element of Y by A1,Th5;
    assume
A2: f is constant;
    take y;
    for y9 being object holds y9 in rng f iff y9 = y
    proof
      let y9 be object;
      hereby
        assume y9 in rng f;
        then ex x9 be object st x9 in dom f & y9 = f.x9 by FUNCT_1:def 3;
        hence y9 = y by A2,A1;
      end;
      assume y9 = y;
      hence thesis by A1,Th4;
    end;
    hence rng f = {y} by TARSKI:def 1;
  end;
  given y be Element of Y such that
A3: rng f = {y};
  let x,x9 be object;
  assume x in dom f;
  then
A4: f.x in rng f by Th4;
  assume x9 in dom f;
  then
A5: f.x9 in rng f by Th4;
  thus f.x = y by A3,A4,TARSKI:def 1
    .= f.x9 by A3,A5,TARSKI:def 1;
end;
