per cases ( F1() = {} or F1() <> {} ) ;
suppose A3: F1() = {} ; :: thesis: { F3(d) where d is Element of F2() : F4(d) in F1() } is finite
now :: thesis: not { F3(d) where d is Element of F2() : F4(d) in F1() } <> {}
set a = the Element of { F3(d) where d is Element of F2() : F4(d) in F1() } ;
assume { F3(d) where d is Element of F2() : F4(d) in F1() } <> {} ; :: thesis: contradiction
then the Element of { F3(d) where d is Element of F2() : F4(d) in F1() } in { F3(d) where d is Element of F2() : F4(d) in F1() } ;
then ex d being Element of F2() st
( the Element of { F3(d) where d is Element of F2() : F4(d) in F1() } = F3(d) & F4(d) in F1() ) ;
hence contradiction by A3; :: thesis: verum
end;
hence { F3(d) where d is Element of F2() : F4(d) in F1() } is finite ; :: thesis: verum
end;
suppose F1() <> {} ; :: thesis: { F3(d) where d is Element of F2() : F4(d) in F1() } is finite
then reconsider D = F1() as non empty set ;
defpred S1[ set ] means ex d being Element of F2() st $1 = F4(d);
set B = { d where d is Element of F2() : F4(d) in D } ;
set C = { a where a is Element of D : S1[a] } ;
A4: { F3(d) where d is Element of F2() : F4(d) in F1() } = { F3(d) where d is Element of F2() : d in { d where d is Element of F2() : F4(d) in D } }
proof
thus { F3(d) where d is Element of F2() : F4(d) in F1() } c= { F3(d) where d is Element of F2() : d in { d where d is Element of F2() : F4(d) in D } } :: according to XBOOLE_0:def 10 :: thesis: { F3(d) where d is Element of F2() : d in { d where d is Element of F2() : F4(d) in D } } c= { F3(d) where d is Element of F2() : F4(d) in F1() }
proof
let x be object ; :: according to TARSKI:def 3 :: thesis: ( not x in { F3(d) where d is Element of F2() : F4(d) in F1() } or x in { F3(d) where d is Element of F2() : d in { d where d is Element of F2() : F4(d) in D } } )
assume x in { F3(d) where d is Element of F2() : F4(d) in F1() } ; :: thesis: x in { F3(d) where d is Element of F2() : d in { d where d is Element of F2() : F4(d) in D } }
then consider d9 being Element of F2() such that
A5: x = F3(d9) and
A6: F4(d9) in F1() ;
d9 in { d where d is Element of F2() : F4(d) in D } by A6;
hence x in { F3(d) where d is Element of F2() : d in { d where d is Element of F2() : F4(d) in D } } by A5; :: thesis: verum
end;
let x be object ; :: according to TARSKI:def 3 :: thesis: ( not x in { F3(d) where d is Element of F2() : d in { d where d is Element of F2() : F4(d) in D } } or x in { F3(d) where d is Element of F2() : F4(d) in F1() } )
assume x in { F3(d) where d is Element of F2() : d in { d where d is Element of F2() : F4(d) in D } } ; :: thesis: x in { F3(d) where d is Element of F2() : F4(d) in F1() }
then consider d1 being Element of F2() such that
A7: x = F3(d1) and
A8: d1 in { d where d is Element of F2() : F4(d) in D } ;
ex d3 being Element of F2() st
( d3 = d1 & F4(d3) in D ) by A8;
hence x in { F3(d) where d is Element of F2() : F4(d) in F1() } by A7; :: thesis: verum
end;
A9: { a where a is Element of D : S1[a] } , { d where d is Element of F2() : F4(d) in D } are_equipotent
proof
take Z = { [F4(d),d] where d is Element of F2() : verum } ; :: according to TARSKI:def 6 :: thesis: ( ( for b1 being object holds
( not b1 in { a where a is Element of D : S1[a] } or ex b2 being object st
( b2 in { d where d is Element of F2() : F4(d) in D } & [b1,b2] in Z ) ) ) & ( for b1 being object holds
( not b1 in { d where d is Element of F2() : F4(d) in D } or ex b2 being object st
( b2 in { a where a is Element of D : S1[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() : F4(d) in D } or ex b2 being object st
( b2 in { a where a is Element of D : S1[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 where a is Element of D : S1[a] } implies ex d being object st
( d in { d where d is Element of F2() : F4(d) in D } & [x,d] in Z ) )

assume x in { a where a is Element of D : S1[a] } ; :: thesis: ex d being object st
( d in { d where d is Element of F2() : F4(d) in D } & [x,d] in Z )

then consider a being Element of D such that
A10: a = x and
A11: ex d being Element of F2() st a = F4(d) ;
consider d being Element of F2() such that
A12: a = F4(d) by A11;
reconsider d = d as object ;
take d = d; :: thesis: ( d in { d where d is Element of F2() : F4(d) in D } & [x,d] in Z )
thus ( d in { d where d is Element of F2() : F4(d) in D } & [x,d] in Z ) by A10, A12; :: 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() : F4(d) in D } implies ex x being object st
( x in { a where a is Element of D : S1[a] } & [x,y] in Z ) )

assume y in { d where d is Element of F2() : F4(d) in D } ; :: thesis: ex x being object st
( x in { a where a is Element of D : S1[a] } & [x,y] in Z )

then consider d being Element of F2() such that
A13: ( d = y & F4(d) in D ) ;
reconsider x = F4(d) as object ;
take x = x; :: thesis: ( x in { a where a is Element of D : S1[a] } & [x,y] in Z )
thus ( x in { a where a is Element of D : S1[a] } & [x,y] in Z ) by A13; :: 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
A14: [x,y] = [F4(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
A15: [z,u] = [F4(d2),d2] ;
A16: ( z = F4(d2) & u = d2 ) by A15, XTUPLE_0:1;
( x = F4(d1) & y = d1 ) by A14, XTUPLE_0:1;
hence ( ( not x = z or y = u ) & ( not y = u or x = z ) ) by A2, A16; :: thesis: verum
end;
{ a where a is Element of D : S1[a] } is Subset of D from DOMAIN_1:sch 7();
then { a where a is Element of D : S1[a] } is finite by A1, FINSET_1:1;
then A17: { d where d is Element of F2() : F4(d) in D } is finite by A9, CARD_1:38;
{ F3(d) where d is Element of F2() : d in { d where d is Element of F2() : F4(d) in D } } is finite from FRAENKEL:sch 21(A17);
hence { F3(d) where d is Element of F2() : F4(d) in F1() } is finite by A4; :: thesis: verum
end;
end;