reserve p,q,r for FinSequence;
reserve u,v,x,y,y1,y2,z for object, A,D,X,Y for set;
reserve i,j,k,l,m,n for Nat;
reserve J for Nat;
reserve n for Nat;
reserve x,y,y1,y2,z,a,b for object, X,Y,Z,V1,V2 for set,
  f,g,h,h9,f1,f2 for Function,
  i for Nat,
  P for Permutation of X,
  D,D1,D2,D3 for non empty set,
  d1 for Element of D1,
  d2 for Element of D2,
  d3 for Element of D3;

theorem Th142:
  dom Frege<*f1,f2*> = product <*dom f1, dom f2*> &
  rng Frege<*f1,f2*> = product <*rng f1, rng f2*> &
  for x,y st x in dom f1 & y in dom f2 holds
    (Frege<*f1,f2*>).<*x,y*> = <*f1.x, f2.y*>
proof
A1: rngs <*f1,f2*> = <*rng f1, rng f2*> by Th131;
  len <*rng f1, rng f2*> = 2 by FINSEQ_1:44;
  then
A2: dom <*rng f1, rng f2*> = Seg 2 by FINSEQ_1:def 3;
  len <*f1,f2*> = 2 by FINSEQ_1:44;
  then
A3: dom <*f1,f2*> = Seg 2 by FINSEQ_1:def 3;
A4: doms <*f1,f2*> = <*dom f1, dom f2*> by Th131;
  hence dom Frege<*f1,f2*> = product <*dom f1, dom f2*> & rng Frege<*f1,f2*> =
  product <*rng f1, rng f2*> by A1,FUNCT_6:38,def 7;
  let x,y;
  assume x in dom f1 & y in dom f2;
  then
A5: <*x,y*> in product doms <*f1,f2*> by A4,Th122;
  then consider f such that
A6: (Frege<*f1,f2*>).<*x,y*> = f and
  dom f = dom <*f1,f2*> and
  for z st z in dom f holds f.z = (uncurry <*f1,f2*>).(z,<*x,y*>.z)
   by FUNCT_6:def 7;
A8: 1 in Seg 2 & <*f1,f2*>.1 = f1 by FINSEQ_1:2,TARSKI:def 2;
  then f in product rngs <*f1,f2*> by A3,A5,A6,FUNCT_6:37;
  then
A9: dom f = Seg 2 by A1,A2,CARD_3:9;
  then reconsider f as FinSequence by FINSEQ_1:def 2;
  2 in Seg 2 & <*f1,f2*>.2 = f2 by FINSEQ_1:2,TARSKI:def 2;
  then
A10: f.2 = f2.(<*x,y*>.2) by A3,A5,A6,FUNCT_6:37;
A11: len f = 2 by A9,FINSEQ_1:def 3;
  f.1 = f1.(<*x,y*>.1) by A3,A8,A5,A6,FUNCT_6:37;
  hence thesis by A6,A10,A11,FINSEQ_1:44;
end;
