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

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

then consider d being Element of F2() such that
A5: x = F3(d) by A1;
reconsider d = d as object ;
take d = d; :: thesis: ( d in { d where d is Element of F2() : F3(d) in F1() } & [x,d] in Z )
thus d in { d where d is Element of F2() : F3(d) in F1() } by A4, A5; :: thesis: [x,d] in Z
thus [x,d] in Z by A5; :: 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 { d where d is Element of F2() : F3(d) in F1() } implies ex x being object st
( x in A & [x,y] in Z ) )

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

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