reserve c,c1,c2,x,y,z,z1,z2 for set;
reserve C1,C2,C3 for non empty set;

theorem
  for f be RMembership_Func of C1,C2, g be RMembership_Func of C2,C3
  holds converse(f(#)g) = (converse g)(#)(converse f)
proof
  let f be RMembership_Func of C1,C2, g be RMembership_Func of C2,C3;
A1: dom((converse g)(#)(converse f)) = [:C3,C1:] by FUNCT_2:def 1;
A2: for c being Element of [:C3,C1:] st c in [:C3,C1:] holds (converse(f(#)g
  )).c = ((converse g)(#)(converse f)).c
  proof
    let c being Element of [:C3,C1:];
    assume c in [:C3,C1:];
    consider z,x be object such that
A3: z in C3 and
A4: x in C1 and
A5: c =[z,x] by ZFMISC_1:def 2;
A6: [x,z] in [:C1,C3:] by A3,A4,ZFMISC_1:87;
    reconsider z,x as set by TARSKI:1;
A7: ((converse g)(#)(converse f)).(z,x) =
 upper_bound rng min(converse g,converse
    f,z,x) by A5,Def3;
    (converse(f(#)g)).(z,x) = (f(#)g).(x,z) by A5,Def1
      .= upper_bound rng min(f,g,x,z) by A6,Def3;
    hence thesis by A3,A4,A5,A7,Lm5;
  end;
  dom converse(f(#)g) = [:C3,C1:] by FUNCT_2:def 1;
  hence thesis by A1,A2,PARTFUN1:5;
end;
