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
  dom Frege<*h*> = product <*dom h*> &
  rng Frege<*h*> = product <*rng h*> &
    for x st x in dom h holds (Frege<*h*>).<*x*> = <*h.x*>
proof
A1: <*h*>.1 = h;
A2: rngs <*h*> = <*rng h*> by Th130;
A3: doms <*h*> = <*dom h*> by Th130;
  hence
  dom Frege<*h*> = product <*dom h*> & rng Frege<*h*> = product <*rng h*>
  by A2,FUNCT_6:38,def 7;
  let x;
  assume x in dom h;
  then
A4: <*x*> in product doms <*h*> by A3,Th121;
  then consider f such that
A5: (Frege<*h*>).<*x*> = f and
  dom f = dom <*h*> and
  for y st y in dom f holds f.y = (uncurry <*h*>).(y,<*x*>.y) by FUNCT_6:def 7;
A6: dom <*h*> = Seg 1 & 1 in Seg 1 by FINSEQ_1:2,def 8,TARSKI:def 1;
  then dom <*rng h*> = Seg 1 & f in product rngs <*h*> by A1,A4,A5,
FINSEQ_1:def 8,FUNCT_6:37;
  then
A7: dom f = Seg 1 by A2,CARD_3:9;
  reconsider f as FinSequence by A7,FINSEQ_1:def 2;
  f.1 = h.(<*x*>.1) by A6,A1,A4,A5,FUNCT_6:37;
  hence thesis by A5,A7,FINSEQ_1:def 8;
end;
