reserve S,S9 for non void Signature,
  f,g for Function;

theorem Th47:
  for S1,S2 being non empty Signature st S1 tolerates S2 holds S1
  +*S2 is Extension of S1
proof
  let S1,S2 be non empty Signature such that
A1: the Arity of S1 tolerates the Arity of S2 and
A2: the ResultSort of S1 tolerates the ResultSort of S2;
  set S = S1+*S2;
  the ResultSort of S = (the ResultSort of S1)+*the ResultSort of S2 by
CIRCCOMB:def 2;
  then
A3: the ResultSort of S1 c= the ResultSort of S by A2,FUNCT_4:28;
  set f1 = id the carrier of S1, g1 = id the carrier' of S1;
  thus dom f1 = the carrier of S1 & dom g1 = the carrier' of S1;
  dom the ResultSort of S1 = the carrier' of S1 by FUNCT_2:def 1;
  then the ResultSort of S1 = (the ResultSort of S)|the carrier' of S1 by A3,
GRFUNC_1:23;
  then
A4: the ResultSort of S1 = (the ResultSort of S)*g1 by RELAT_1:65;
A5: the carrier' of S = (the carrier' of S1) \/ the carrier' of S2 by
CIRCCOMB:def 2;
A6: the carrier of S = (the carrier of S1) \/ the carrier of S2 by
CIRCCOMB:def 2;
  thus rng f1 c= the carrier of S & rng g1 c= the carrier' of S by A6,A5,
XBOOLE_1:7;
  rng the ResultSort of S1 c= the carrier of S1;
  hence f1*the ResultSort of S1 = (the ResultSort of S)*g1 by A4,RELAT_1:53;
  let o be set, p be Function such that
A7: o in the carrier' of S1 and
A8: p = (the Arity of S1).o;
A9: dom the Arity of S1 = the carrier' of S1 by FUNCT_2:def 1;
  then p in rng the Arity of S1 by A7,A8,FUNCT_1:def 3;
  then p is FinSequence of the carrier of S1 by FINSEQ_1:def 11;
  then rng p c= the carrier of S1 by FINSEQ_1:def 4;
  hence f1*p = p by RELAT_1:53
    .= ((the Arity of S1)+*the Arity of S2).o by A1,A7,A8,A9,FUNCT_4:15
    .= (the Arity of S).o by CIRCCOMB:def 2
    .= (the Arity of S).(g1.o) by A7,FUNCT_1:18;
end;
