reserve a,b,c,d,x,y,z for object, X,Y,Z for set;
reserve R,S,T for Relation;
reserve F,G for Function;

theorem Th41:
  F is_isomorphism_of R,S & G is_isomorphism_of S,T implies G*F
  is_isomorphism_of R,T
proof
  assume that
A1: dom F = field R and
A2: rng F = field S and
A3: F is one-to-one and
A4: for a,b holds [a,b] in R iff a in field R & b in field R & [F.a,F.b] in S;
  assume that
A5: dom G = field S and
A6: rng G = field T and
A7: G is one-to-one and
A8: for a,b holds [a,b] in S iff a in field S & b in field S & [G.a,G.b] in T;
  thus dom(G*F) = field R by A1,A2,A5,RELAT_1:27;
  thus rng(G*F) = field T by A2,A5,A6,RELAT_1:28;
  thus G*F is one-to-one by A3,A7;
  let a,b;
  thus [a,b] in R implies a in field R & b in field R & [(G*F).a,(G*F).b] in T
  proof
    assume
A9: [a,b] in R;
    hence a in field R & b in field R by RELAT_1:15;
    then
A10: (G*F).a = G.(F.a) & (G*F).b = G.(F.b) by A1,FUNCT_1:13;
    [F.a,F.b] in S by A4,A9;
    hence thesis by A8,A10;
  end;
  assume that
A11: a in field R & b in field R and
A12: [(G*F).a,(G*F).b] in T;
A13: (G*F).a = G.(F.a) & (G*F).b = G.(F.b) by A1,A11,FUNCT_1:13;
  F.a in field S & F.b in field S by A1,A2,A11,FUNCT_1:def 3;
  then [F.a,F.b] in S by A8,A12,A13;
  hence thesis by A4,A11;
end;
