let x, y be object ; :: thesis: for f1, f2 being Function st x in dom f1 & y in dom f2 holds
for y1, y2 being object holds
( [:f1,f2:] . (x,y) = [y1,y2] iff (Frege <*f1,f2*>) . <*x,y*> = <*y1,y2*> )

let f1, f2 be Function; :: thesis: ( x in dom f1 & y in dom f2 implies for y1, y2 being object holds
( [:f1,f2:] . (x,y) = [y1,y2] iff (Frege <*f1,f2*>) . <*x,y*> = <*y1,y2*> ) )

assume A1: ( x in dom f1 & y in dom f2 ) ; :: thesis: for y1, y2 being object holds
( [:f1,f2:] . (x,y) = [y1,y2] iff (Frege <*f1,f2*>) . <*x,y*> = <*y1,y2*> )

let y1, y2 be object ; :: thesis: ( [:f1,f2:] . (x,y) = [y1,y2] iff (Frege <*f1,f2*>) . <*x,y*> = <*y1,y2*> )
A2: ( <*(f1 . x),(f2 . y)*> . 1 = f1 . x & <*(f1 . x),(f2 . y)*> . 2 = f2 . y ) ;
A3: ( <*y1,y2*> . 1 = y1 & <*y1,y2*> . 2 = y2 ) ;
( [(f1 . x),(f2 . y)] = [y1,y2] iff ( f1 . x = y1 & f2 . y = y2 ) ) by XTUPLE_0:1;
hence ( [:f1,f2:] . (x,y) = [y1,y2] iff (Frege <*f1,f2*>) . <*x,y*> = <*y1,y2*> ) by A1, A2, A3, Th142, FUNCT_3:def 8; :: thesis: verum