per cases ( F1() = {} or F1() <> {} ) ;
suppose A3: F1() = {} ; :: thesis: F1(), { F3(d) where d is Element of F2() : d in F1() } are_equipotent
now :: thesis: not { F3(d) where d is Element of F2() : d in F1() } <> {}
set a = the Element of { F3(d) where d is Element of F2() : d in F1() } ;
assume { F3(d) where d is Element of F2() : d in F1() } <> {} ; :: thesis: contradiction
then the Element of { F3(d) where d is Element of F2() : d in F1() } in { F3(d) where d is Element of F2() : d in F1() } ;
then ex d being Element of F2() st
( the Element of { F3(d) where d is Element of F2() : d in F1() } = F3(d) & d in F1() ) ;
hence contradiction by A3; :: thesis: verum
end;
hence F1(), { F3(d) where d is Element of F2() : d in F1() } are_equipotent by A3; :: thesis: verum
end;
suppose F1() <> {} ; :: thesis: F1(), { F3(d) where d is Element of F2() : d in F1() } are_equipotent
then reconsider A = F1() as non empty set ;
set D = { F3(d) where d is Element of F2() : d in A } ;
A, { F3(d) where d is Element of F2() : d in A } are_equipotent
proof
take Z = { [d,F3(d)] where d is Element of F2() : verum } ; :: according to TARSKI:def 6 :: thesis: ( ( for b1 being object holds
( not b1 in A or ex b2 being object st
( b2 in { F3(d) where d is Element of F2() : d in A } & [b1,b2] in Z ) ) ) & ( for b1 being object holds
( not b1 in { F3(d) where d is Element of F2() : d in A } or ex b2 being object st
( b2 in A & [b2,b1] in Z ) ) ) & ( for b1, b2, b3, b4 being object holds
( not [b1,b2] in Z or not [b3,b4] in Z or ( ( not b1 = b3 or b2 = b4 ) & ( not b2 = b4 or b1 = b3 ) ) ) ) )

hereby :: thesis: ( ( for b1 being object holds
( not b1 in { F3(d) where d is Element of F2() : d in A } or ex b2 being object st
( b2 in A & [b2,b1] in Z ) ) ) & ( for b1, b2, b3, b4 being object holds
( not [b1,b2] in Z or not [b3,b4] in Z or ( ( not b1 = b3 or b2 = b4 ) & ( not b2 = b4 or b1 = b3 ) ) ) ) )
let x be object ; :: thesis: ( x in A implies ex y being object st
( y in { F3(d) where d is Element of F2() : d in A } & [x,y] in Z ) )

assume A4: x in A ; :: thesis: ex y being object st
( y in { F3(d) where d is Element of F2() : d in A } & [x,y] in Z )

then reconsider d = x as Element of F2() by A1;
reconsider y = F3(d) as object ;
take y = y; :: thesis: ( y in { F3(d) where d is Element of F2() : d in A } & [x,y] in Z )
thus y in { F3(d) where d is Element of F2() : d in A } by A4; :: thesis: [x,y] in Z
thus [x,y] in Z ; :: thesis: verum
end;
hereby :: thesis: for b1, b2, b3, b4 being object holds
( not [b1,b2] in Z or not [b3,b4] in Z or ( ( not b1 = b3 or b2 = b4 ) & ( not b2 = b4 or b1 = b3 ) ) )
let y be object ; :: thesis: ( y in { F3(d) where d is Element of F2() : d in A } implies ex d being object st
( d in A & [d,y] in Z ) )

assume y in { F3(d) where d is Element of F2() : d in A } ; :: thesis: ex d being object st
( d in A & [d,y] in Z )

then consider d being Element of F2() such that
A5: ( F3(d) = y & d in A ) ;
reconsider d = d as object ;
take d = d; :: thesis: ( d in A & [d,y] in Z )
thus ( d in A & [d,y] in Z ) by A5; :: thesis: verum
end;
let x, y, z, u be object ; :: thesis: ( not [x,y] in Z or not [z,u] in Z or ( ( not x = z or y = u ) & ( not y = u or x = z ) ) )
assume [x,y] in Z ; :: thesis: ( not [z,u] in Z or ( ( not x = z or y = u ) & ( not y = u or x = z ) ) )
then consider d1 being Element of F2() such that
A6: [x,y] = [d1,F3(d1)] ;
assume [z,u] in Z ; :: thesis: ( ( not x = z or y = u ) & ( not y = u or x = z ) )
then consider d2 being Element of F2() such that
A7: [z,u] = [d2,F3(d2)] ;
A8: ( z = d2 & u = F3(d2) ) by A7, XTUPLE_0:1;
( x = d1 & y = F3(d1) ) by A6, XTUPLE_0:1;
hence ( ( not x = z or y = u ) & ( not y = u or x = z ) ) by A2, A8; :: thesis: verum
end;
hence F1(), { F3(d) where d is Element of F2() : d in F1() } are_equipotent ; :: thesis: verum
end;
end;