reserve i, I for set,
  f, g, h for Function,
  s for ManySortedSet of I;
reserve G1, G2, G3 for non empty multMagma,
  x1, x2 for Element of G1,
  y1, y2 for Element of G2,
  z1, z2 for Element of G3;

theorem
  <*x1,y1,z1*> * <*x2,y2,z2*> = <*x1*x2,y1*y2,z1*z2*>
proof
  set G = <*G1,G2,G3*>;
A1: 3 in {1,2,3} by ENUMSET1:def 1;
A2: G.1 = G1;
A3: G.3 = G3;
A4: G.2 = G2;
  reconsider l = <*x1,y1,z1*>, p = <*x2,y2,z2*>, lpl = <*x1,y1,z1*> * <*x2,y2,
  z2*>, lpp = <*x1*x2,y1*y2,z1*z2*> as Element of product Carrier G by Def2;
A5: 2 in {1,2,3} by ENUMSET1:def 1;
A6: l.1 = x1;
A7: l.3 = z1;
A8: l.2 = y1;
A12: p.3 = z2;
A13: p.2 = y2;
A14: p.1 = x2;
A15: 1 in {1,2,3} by ENUMSET1:def 1;
A16: for k being Nat st 1 <= k & k <= 3 holds lpl.k = lpp.k
  proof
    let k be Nat;
    assume that
A17: 1 <= k and
A18: k <= 3;
A19: k in Seg 3 by A17,A18;
    per cases by A19,ENUMSET1:def 1,FINSEQ_3:1;
    suppose
      k = 1;
      hence thesis by A15,A6,A14,A2,Th1;
    end;
    suppose
      k = 2;
      hence thesis by A5,A8,A13,A4,Th1;
    end;
    suppose
      k = 3;
      hence thesis by A1,A7,A12,A3,Th1;
    end;
  end;
  dom lpl = dom Carrier G by CARD_3:9
    .= Seg 3 by FINSEQ_3:1,PARTFUN1:def 2;
  then
A20: len lpl = 3 by FINSEQ_1:def 3;
  len lpp = 3 by FINSEQ_1:45;
  hence thesis by A20,A16;
end;
