let x, y be object ; 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; ( 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 )
; 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 ; ( [: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; verum