reserve k,m,n for Element of NAT,
  a,X,Y for set,
  D,D1,D2 for non empty set;
reserve p,q for FinSequence of NAT;
reserve x,y,z,t for Variable;
reserve F,F1,G,G1,H,H1 for ZF-formula;
reserve sq,sq9 for FinSequence;

theorem Th30:
  H '&' G = H1 '&' G1 implies H = H1 & G = G1
proof
  assume
A1: H '&' G = H1 '&' G1;
  <*3*>^H^G = <*3*>^(H^G) & <*3*>^H1^G1 = <*3*>^(H1^G1) by FINSEQ_1:32;
  then
A2: H^G = H1^G1 by A1,FINSEQ_1:33;
  then
A3: len H1 <= len H implies ex sq st H = H1^sq by FINSEQ_1:47;
A4: len H <= len H1 implies ex sq st H1 = H^sq by A2,FINSEQ_1:47;
  hence H = H1 by A3,Th29;
  (ex sq st H1 = H^sq) implies H1 = H by Th29;
  hence thesis by A1,A3,A4,Th29,FINSEQ_1:33;
end;
