let X be non empty set ; :: thesis: for S being SigmaField of X
for F being Function st F is Finite_Sep_Sequence of S holds
ex G being Sep_Sequence of S st
( union (rng F) = union (rng G) & ( for n being Nat st n in dom F holds
F . n = G . n ) & ( for m being Nat st not m in dom F holds
G . m = {} ) )

let S be SigmaField of X; :: thesis: for F being Function st F is Finite_Sep_Sequence of S holds
ex G being Sep_Sequence of S st
( union (rng F) = union (rng G) & ( for n being Nat st n in dom F holds
F . n = G . n ) & ( for m being Nat st not m in dom F holds
G . m = {} ) )

let F be Function; :: thesis: ( F is Finite_Sep_Sequence of S implies ex G being Sep_Sequence of S st
( union (rng F) = union (rng G) & ( for n being Nat st n in dom F holds
F . n = G . n ) & ( for m being Nat st not m in dom F holds
G . m = {} ) ) )

defpred S1[ set , set ] means ( ( $1 in dom F implies F . $1 = $2 ) & ( not $1 in dom F implies $2 = {} ) );
assume A1: F is Finite_Sep_Sequence of S ; :: thesis: ex G being Sep_Sequence of S st
( union (rng F) = union (rng G) & ( for n being Nat st n in dom F holds
F . n = G . n ) & ( for m being Nat st not m in dom F holds
G . m = {} ) )

A2: for x1 being set st x1 in NAT holds
ex y1 being set st
( y1 in S & S1[x1,y1] )
proof
let x1 be set ; :: thesis: ( x1 in NAT implies ex y1 being set st
( y1 in S & S1[x1,y1] ) )

assume A3: x1 in NAT ; :: thesis: ex y1 being set st
( y1 in S & S1[x1,y1] )

reconsider x1 = x1 as Element of NAT by A3;
per cases ( x1 in dom F or not x1 in dom F ) ;
suppose A4: x1 in dom F ; :: thesis: ex y1 being set st
( y1 in S & S1[x1,y1] )

A5: F . x1 in rng F by A4, FUNCT_1:def 5;
A6: rng F c= S by A1, FINSEQ_1:def 4;
take F . x1 ; :: thesis: ( F . x1 in S & S1[x1,F . x1] )
thus ( F . x1 in S & S1[x1,F . x1] ) by A4, A5, A6; :: thesis: verum
end;
suppose A7: not x1 in dom F ; :: thesis: ex y1 being set st
( y1 in S & S1[x1,y1] )

take {} ; :: thesis: ( {} in S & S1[x1, {} ] )
thus ( {} in S & S1[x1, {} ] ) by A7, PROB_1:10; :: thesis: verum
end;
end;
end;
consider G being Function of NAT ,S such that
A8: for x1 being set st x1 in NAT holds
S1[x1,G . x1] from FUNCT_2:sch 1(A2);
A9: for n, m being set st n <> m holds
G . n misses G . m
proof
let n, m be set ; :: thesis: ( n <> m implies G . n misses G . m )
assume A10: n <> m ; :: thesis: G . n misses G . m
per cases ( ( n in NAT & m in NAT ) or not n in NAT or not m in NAT ) ;
suppose A11: ( n in NAT & m in NAT ) ; :: thesis: G . n misses G . m
A12: now
per cases ( ( n in dom F & m in dom F ) or not n in dom F or not m in dom F ) ;
suppose A13: ( n in dom F & m in dom F ) ; :: thesis: G . n misses G . m
A14: ( G . n = F . n & G . m = F . m ) by A8, A11, A13;
thus G . n misses G . m by A1, A10, A14, PROB_2:def 3; :: thesis: verum
end;
suppose A15: ( not n in dom F or not m in dom F ) ; :: thesis: G . n misses G . m
thus G . n misses G . m by A16; :: thesis: verum
end;
end;
end;
thus G . n misses G . m by A12; :: thesis: verum
end;
suppose A21: ( not n in NAT or not m in NAT ) ; :: thesis: G . n misses G . m
A22: ( not n in dom G or not m in dom G ) by A21;
A23: ( G . n = {} or G . m = {} ) by A22, FUNCT_1:def 4;
thus G . n misses G . m by A23, XBOOLE_1:65; :: thesis: verum
end;
end;
end;
reconsider G = G as Sep_Sequence of S by A9, PROB_2:def 3;
take G ; :: thesis: ( union (rng F) = union (rng G) & ( for n being Nat st n in dom F holds
F . n = G . n ) & ( for m being Nat st not m in dom F holds
G . m = {} ) )

A24: for x1 being set st x1 in union (rng F) holds
x1 in union (rng G)
proof
let x1 be set ; :: thesis: ( x1 in union (rng F) implies x1 in union (rng G) )
assume A25: x1 in union (rng F) ; :: thesis: x1 in union (rng G)
consider Y being set such that
A26: x1 in Y and
A27: Y in rng F by A25, TARSKI:def 4;
consider k being set such that
A28: k in dom F and
A29: Y = F . k by A27, FUNCT_1:def 5;
A30: dom F c= NAT by A1, RELAT_1:def 18;
reconsider k = k as Element of NAT by A28, A30;
A31: F . k = G . k by A8, A28;
A32: G . k in rng G by FUNCT_2:6;
thus x1 in union (rng G) by A26, A29, A31, A32, TARSKI:def 4; :: thesis: verum
end;
A33: union (rng F) c= union (rng G) by A24, TARSKI:def 3;
A34: for x1 being set st x1 in union (rng G) holds
x1 in union (rng F)
proof
let x1 be set ; :: thesis: ( x1 in union (rng G) implies x1 in union (rng F) )
assume A35: x1 in union (rng G) ; :: thesis: x1 in union (rng F)
consider Y being set such that
A36: x1 in Y and
A37: Y in rng G by A35, TARSKI:def 4;
consider k being set such that
A38: k in dom G and
A39: Y = G . k by A37, FUNCT_1:def 5;
reconsider k = k as Element of NAT by A38;
A40: k in dom F by A8, A36, A39;
A41: F . k = G . k by A8, A36, A39;
A42: F . k in rng F by A40, FUNCT_1:def 5;
thus x1 in union (rng F) by A36, A39, A41, A42, TARSKI:def 4; :: thesis: verum
end;
A43: union (rng G) c= union (rng F) by A34, TARSKI:def 3;
thus union (rng F) = union (rng G) by A33, A43, XBOOLE_0:def 10; :: thesis: ( ( for n being Nat st n in dom F holds
F . n = G . n ) & ( for m being Nat st not m in dom F holds
G . m = {} ) )

hereby :: thesis: for m being Nat st not m in dom F holds
G . m = {}
let n be Nat; :: thesis: ( n in dom F implies F . n = G . n )
A44: n in NAT by ORDINAL1:def 13;
thus ( n in dom F implies F . n = G . n ) by A8, A44; :: thesis: verum
end;
let m be Nat; :: thesis: ( not m in dom F implies G . m = {} )
A45: m in NAT by ORDINAL1:def 13;
thus ( not m in dom F implies G . m = {} ) by A8, A45; :: thesis: verum