reserve X1,X2,X3,X4 for set;
reserve n for non zero Nat;
reserve X for non-empty n-element FinSequence;

theorem Thm25:
  for x,y being set holds
  product <*x*> /\ product <*y*> = product <*(x/\y)*>
  proof
    let x,y be set;
    per cases;
    suppose
A1:   not x is empty & not y is empty & not x/\y is empty;
      then
A2:   product <*x*> = the set of all <*t*> where t is Element of x &
      product <*y*> = the set of all <*t*> where t is Element of y &
      product <*(x/\y)*> = the set of all <*t*> where
      t is Element of x/\y by Thm23;
      set Px = the set of all <*t*> where t is Element of x;
      set Py = the set of all <*t*> where t is Element of y;
      set Pxy = the set of all <*t*> where t is Element of x/\y;
      now
        hereby
          let u be object;
          assume u in Px/\Py;
          then
A3:       u in Px & u in Py by XBOOLE_0:def 4;
          then consider ux be Element of x such that
A4:       u=<*ux*>;
          consider uy be Element of y such that
A5:       u=<*uy*> by A3;
          ux=uy by A4,A5,FINSEQ_1:76;
          then ux in x/\y by A1,XBOOLE_0:def 4;
          hence u in Pxy by A4;
        end;
        let u be object;
        assume u in Pxy;
        then consider uxy be Element of x/\y such that
A6:     u = <*uxy*>;
        uxy is Element of x & uxy is Element of y by A1,XBOOLE_0:def 4;
        then u in Px & u in Py by A6;
        hence u in Px/\Py by XBOOLE_0:def 4;
      end;
      then Px/\Py c= Pxy & Pxy c= Px/\Py;
      hence thesis by A2;
    end;
    suppose
A7:   not x is empty & not y is empty & x/\y is empty; then
A8:   product <*x*> = the set of all <*t*> where t is Element of x &
      product <*y*> = the set of all <*t*> where t is Element of y by Thm23;
      set Px = the set of all <*t*> where t is Element of x;
      set Py = the set of all <*t*> where t is Element of y;
      Px /\ Py c= {}
      proof
        let t be object;
        assume t in Px /\ Py;
        then
A9:     t in Px & t in Py by XBOOLE_0:def 4;
        then consider t1 be Element of x such that
A10:    t=<*t1*>;
        consider t2 be Element of y such that
A11:    t=<*t2*> by A9;
        t1=t2 by A10,A11,FINSEQ_1:76;
        hence thesis by A7,XBOOLE_0:def 4;
      end;
      hence thesis by A8,A7;
    end;
    suppose
      x is empty or y is empty;
      hence thesis by Thm22;
    end;
  end;
