
theorem Th79:
  for R being left_zeroed right_zeroed add-cancelable distributive
  non empty doubleLoopStr,
  I being add-closed right-ideal non empty Subset of R,
  J being add-closed left-ideal non empty Subset of R holds I *' J c= I /\ J
proof
  let R be left_zeroed right_zeroed add-cancelable distributive non empty
  doubleLoopStr, I be add-closed right-ideal non empty Subset of R, J be
  add-closed left-ideal non empty Subset of R;
    let u be object;
    assume u in I *' J;
    then consider s being FinSequence of the carrier of R such that
A1: Sum s = u and
A2: 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 I & b in J;
    consider f being sequence of the carrier of R such that
A3: Sum s = f.(len s) and
A4: f.0 = 0.R and
A5: for j being Nat, v being Element of R st j < len s & v
    = s.(j + 1) holds f.(j + 1) = f.j + v by RLVECT_1:def 12;
    defpred P[Element of NAT] means f.$1 in I & f.$1 in J;
A6: now
      let j be Element of NAT;
      assume that
      0 <= j and
A7:   j < len s;
      thus P[j] implies P[j+1]
      proof
A8:     j + 1 <= len s & 0 + 1 <= j + 1 by A7,NAT_1:13;
        then j + 1 in Seg(len s) by FINSEQ_1:1;
        then j + 1 in dom s by FINSEQ_1:def 3;
        then
A9:     s.(j+1) = s/.(j+1) by PARTFUN1:def 6;
        ex a,b being Element of R st s.(j+1) = a*b & a in I & b in J by A2,A8;
        then
A10:    s/.(j+1) in I & s/.(j+1) in J by A9,Def2,Def3;
        assume
A11:    f.j in I & f.j in J;
        f.(j+1) = f.j + s/.(j+1) by A5,A7,A9;
        hence thesis by A11,A10,Def1;
      end;
    end;
A12: P[0] by A4,Th2,Th3;
    for j being Element of NAT st 0 <= j & j <= len s holds P[j] from
    INT_1:sch 7(A12,A6);
    then Sum s in I & Sum s in J by A3;
    hence u in I /\ J by A1;
end;
