reserve x,y,z,a,b,c,X,A for set;
reserve C,D for Coherence_Space;
reserve T for Tolerance of union C;
reserve E for Tolerance of X;
reserve C,C1,C2 for Element of CSp(X);
reserve g for Element of FuncsC(X);
reserve l,l1,l2,l3 for Element of MapsC(X);

theorem Th25:
  l*(id$ dom l) = l & (id$ cod l)*l = l
proof
  set i1 = id$ dom l, i2 = id$ cod l;
A1: l`2 is Function of union dom l,union cod l by Th21;
  then
A2: rng l`2 c= union cod l by RELAT_1:def 19;
  union cod l <> {} or union dom l = {} by Th21;
  then
A3: dom l`2 = union dom l by A1,FUNCT_2:def 1;
A4: cod i1 = dom l;
  then
A5: cod(l*i1) = cod l by Th22;
  (l*i1)`2 = l`2*i1`2 & dom(l*i1) = dom i1 by A4,Th22;
  hence l*i1 = l by A3,A5,Lm1,RELAT_1:52;
A6: dom i2 = cod l;
  then
A7: cod(i2*l) = cod i2 by Th22;
  (i2*l)`2 = i2`2*l`2 & dom(i2*l) = dom l by A6,Th22;
  hence thesis by A2,A7,Lm1,RELAT_1:53;
end;
