reserve x,y,z, X,Y,Z for set,
  n for Element of NAT;
reserve A for set,
  D for non empty set,
  a,b,c,l,r for Element of D,
  o,o9 for BinOp of D,
  f,g,h for Function of A,D;

theorem Th6:
  o is idempotent implies o.:(f,f) = f
proof
A1: dom (o.:(f,f)) = A by FUNCT_2:def 1;
  assume
A2: o.(a,a) = a;
A3: now
    let x be object;
    assume
A4: x in A;
    then reconsider a = f.x as Element of D by FUNCT_2:5;
    thus o.:(f,f).x = o.(a,a) by A1,A4,FUNCOP_1:22
      .= f.x by A2;
  end;
  dom f = A by FUNCT_2:def 1;
  hence thesis by A1,A3,FUNCT_1:2;
end;
