
theorem
  for R being left_zeroed right_add-cancelable right-distributive
  commutative associative non empty doubleLoopStr, I being add-closed
right-ideal non empty Subset of R, J,K being Subset of R holds (I % J) % K =
  I % (J *' K)
proof
  let R be left_zeroed right_add-cancelable right-distributive commutative
  associative non empty doubleLoopStr, I be add-closed right-ideal non empty
  Subset of R, J,K be Subset of R;
A1: now
    let u be object;
    assume u in (I % J) % K;
    then consider a being Element of R such that
A2: u = a and
A3: a*K c= I % J;
    now
      let v be object;
      assume v in a*(J *' K);
      then consider b being Element of R such that
A4:   v = a*b and
A5:   b in J *' K;
      consider s being FinSequence of the carrier of R such that
A6:   Sum s = b and
A7:   for i being Element of NAT st 1 <= i & i <= len s ex a,b being
      Element of R st s.i = a*b & a in J & b in K by A5;
      set q = a*s;
A8:   dom q = dom s by POLYNOM1:def 1;
A9:   Seg(len q) = dom q by FINSEQ_1:def 3
        .= dom s by POLYNOM1:def 1
        .= Seg(len s) by FINSEQ_1:def 3;
      then
A10:  len q = len s by FINSEQ_1:6;
      for j being Element of NAT st 1 <= j & j <= len q holds ex c,d
      being Element of R st q.j = c*d & c in I%J & d in J
      proof
        let j be Element of NAT;
        assume
A11:    1 <= j & j <= len q;
        then consider c,d being Element of R such that
A12:    s.j = c*d and
A13:    c in J and
A14:    d in K by A7,A10;
A15:    a*d in {a*b9 where b9 is Element of R : b9 in K} by A14;
        j in Seg(len s) by A9,A11,FINSEQ_1:1;
        then
A16:    j in dom s by FINSEQ_1:def 3;
        then
A17:    s/.j = c*d by A12,PARTFUN1:def 6;
        q.j = q/.j by A8,A16,PARTFUN1:def 6
          .= a*(c*d) by A16,A17,POLYNOM1:def 1
          .= (a*d)*c by GROUP_1:def 3;
        hence thesis by A3,A13,A15;
      end;
      then
A18:  Sum q in {Sum t where t is FinSequence of the carrier of R : for i
being Element of NAT st 1 <= i & i <= len t ex a,b being Element of R st t.i =
      a*b & a in I%J & b in J};
A19:  (I % J) *' J c= I by Th87;
      Sum q = v by A4,A6,BINOM:4;
      hence v in I by A18,A19;
    end;
    then a*(J*'K) c= I;
    hence u in I % (J *' K) by A2;
  end;
  now
    let u be object;
    assume u in I % (J *' K);
    then consider a being Element of R such that
A20: u = a and
A21: a*(J *' K) c= I;
    now
      let v be object;
      assume v in a*K;
      then consider b being Element of R such that
A22:  v = a*b and
A23:  b in K;
      now
        let z be object;
        assume z in (a*b)*J;
        then consider c being Element of R such that
A24:    z = (a*b)*c and
A25:    c in J;
A26:    z = a*(c*b) by A24,GROUP_1:def 3;
        set q = <*c*b*>;
A27:    len q = 1 by FINSEQ_1:40;
A28:    for i being Element of NAT st 1 <= i & i <= len q ex x,y being
        Element of R st q.i = x*y & x in J & y in K
        proof
          let i be Element of NAT;
          assume 1 <= i & i <= len q;
          then q.i = q.1 by A27,XXREAL_0:1
            .= c*b;
          hence thesis by A23,A25;
        end;
        Sum q = c*b by BINOM:3;
        then c*b in {Sum t where t is FinSequence of the carrier of R : for i
being Element of NAT st 1 <= i & i <= len t ex a,b being Element of R st t.i =
        a*b & a in J & b in K} by A28;
        then z in {a*f where f is Element of R : f in J*'K} by A26;
        hence z in I by A21;
      end;
      then (a*b)*J c= I;
      hence v in I % J by A22;
    end;
    then a*K c= I % J;
    hence u in (I % J) % K by A20;
  end;
  hence thesis by A1,TARSKI:2;
end;
