reserve x,y,z for Real,
  R for real non empty RelStr,
  a,b for Element of R;
reserve C for non empty set,
  c for Element of C,
  f,g for Membership_Func of C,
  s,t for Element of FuzzyLattice C;

theorem
  for X,Y,Z,W being non empty set for R being RMembership_Func of X,Y
for S being RMembership_Func of Y,Z for T being RMembership_Func of Z,W holds (
  R (#) S) (#) T = R (#) (S (#) T)
proof
  let X,Y,Z,W be non empty set;
  let R be RMembership_Func of X,Y;
  let S be RMembership_Func of Y,Z;
  let T be RMembership_Func of Z,W;
A1: for x,w being object st x in X & w in W
    holds ((R (#) S) (#) T).(x,w) = (R (#) (S (#) T)).(x,w)
  proof
    let x,w being object;
    assume that
A2: x in X and
A3: w in W;
    reconsider w as Element of W by A3;
    reconsider x as Element of X by A2;
    set A = the set of all "\/"((the set of all R.(x,y) "/\" S.(y,z) "/\"
    T.(z,w)
    where y is Element of Y), RealPoset [. 0,1 .]) where z is Element of Z;
    set B = the set of all (R (#) S).(x,z) "/\" T.(z,w)
    where z is Element of Z;
    set C = the set of all "\/"((the set of all R.(x,y) "/\" S.(y,z) "/\"
    T.(z,w)  where z is Element of Z),
    RealPoset [. 0,1 .]) where y is Element of Y;
    set D = the set of all R.(x,y) "/\" ((S (#) T).(y,w))
    where y is Element of Y;
    defpred X[set] means not contradiction;
    deffunc U(Element of Y,Element of Z) = R.(x,$1) "/\" S.($1,$2) "/\" T.($2,
    w);
A4: for a be object holds a in A iff a in B
    proof
      let a be object;
      hereby
        assume a in A;
        then consider z being Element of Z such that
A5:     a = "\/"((the set of all R.(x,y) "/\" S.(y,z) "/\" T.(z,w)
        where y is Element of Y), RealPoset [. 0,1 .]);
        a = (R (#) S).(x,z) "/\" T.(z,w) by A5,Lm5;
        hence a in B;
      end;
      assume a in B;
      then consider z being Element of Z such that
A6:   a = (R (#) S).(x,z) "/\" T.(z,w);
      a = "\/"((the set of all R.(x,y) "/\" S.(y,z) "/\" T.(z,w)
      where y is Element of Y), RealPoset [. 0,1 .]) by A6,Lm5;
      hence thesis;
    end;
A7: for y being Element of Y, z being Element of Z st X[y] & X[z] holds U
    (y,z) = U(y,z);
A8: "\/"({"\/"({U(y,z) where z is Element of Z: X[z]}, RealPoset [. 0,1
.]) where y is Element of Y :X[y]}, RealPoset [. 0,1 .]) ="\/"({"\/"({U(y1,z1)
where y1 is Element of Y: X[y1]}, RealPoset [. 0,1 .]) where z1 is Element of Z
    :X[z1]}, RealPoset [. 0,1 .]) from SupCommutativity(A7);
    for c be object holds c in C iff c in D
    proof
      let c be object;
      hereby
        assume c in C;
        then consider y being Element of Y such that
A9:     c = "\/"((the set of all R.(x,y) "/\" S.(y,z) "/\" T.(z,w) where z is
        Element of Z), RealPoset [. 0,1 .]);
        c = R.(x,y) "/\" (S (#) T).(y,w) by A9,Lm6;
        hence c in D;
      end;
      assume c in D;
      then consider y being Element of Y such that
A10:  c = R.(x,y) "/\" ((S (#) T).(y,w));
      c = "\/"((the set of all R.(x,y) "/\" S.(y,z) "/\" T.(z,w)
      where z is Element of Z),RealPoset [. 0,1 .]) by A10,Lm6;
      hence thesis;
    end;
    then
A11: C = D by TARSKI:2;
    ((R (#) S) (#) T).(x,w) = "\/"((the set of all ((R (#) S).(x,z))
    "/\" T.(z,w) where z
is Element of Z), RealPoset [. 0,1 .]) & (R (#) (S (#) T)).(
    x, w) = "\/"((the set of all R.(x,y) "/\" ((S (#) T).(y,w))
    where y is Element of Y), RealPoset [. 0,1 .]) by Th22;
    hence thesis by A4,A11,A8,TARSKI:2;
  end;
  thus thesis by A1;
end;
