let I be non empty set ; :: thesis: for J being non-empty disjoint_valued ManySortedSet of I
for F being Group-Family of I,J
for x, y, z being Function st z in dprod F & x = (dprod2prod F) . z holds
( (supp_restr (x,F)) | (support (z,(sum_bundle F))) is non-empty disjoint_valued ManySortedSet of support (z,(sum_bundle F)) & support (x,(Union F)) = Union ((supp_restr (x,F)) | (support (z,(sum_bundle F)))) )

let J be non-empty disjoint_valued ManySortedSet of I; :: thesis: for F being Group-Family of I,J
for x, y, z being Function st z in dprod F & x = (dprod2prod F) . z holds
( (supp_restr (x,F)) | (support (z,(sum_bundle F))) is non-empty disjoint_valued ManySortedSet of support (z,(sum_bundle F)) & support (x,(Union F)) = Union ((supp_restr (x,F)) | (support (z,(sum_bundle F)))) )

let F be Group-Family of I,J; :: thesis: for x, y, z being Function st z in dprod F & x = (dprod2prod F) . z holds
( (supp_restr (x,F)) | (support (z,(sum_bundle F))) is non-empty disjoint_valued ManySortedSet of support (z,(sum_bundle F)) & support (x,(Union F)) = Union ((supp_restr (x,F)) | (support (z,(sum_bundle F)))) )

let x, y, z be Function; :: thesis: ( z in dprod F & x = (dprod2prod F) . z implies ( (supp_restr (x,F)) | (support (z,(sum_bundle F))) is non-empty disjoint_valued ManySortedSet of support (z,(sum_bundle F)) & support (x,(Union F)) = Union ((supp_restr (x,F)) | (support (z,(sum_bundle F)))) ) )
assume that
A1: z in dprod F and
A2: x = (dprod2prod F) . z ; :: thesis: ( (supp_restr (x,F)) | (support (z,(sum_bundle F))) is non-empty disjoint_valued ManySortedSet of support (z,(sum_bundle F)) & support (x,(Union F)) = Union ((supp_restr (x,F)) | (support (z,(sum_bundle F)))) )
set srx = supp_restr (x,F);
set sz = support (z,(sum_bundle F));
set f = (supp_restr (x,F)) | (support (z,(sum_bundle F)));
A3: dom (supp_restr (x,F)) = I by PARTFUN1:def 2;
dom ((supp_restr (x,F)) | (support (z,(sum_bundle F)))) = support (z,(sum_bundle F)) by A3, RELAT_1:62;
then reconsider f = (supp_restr (x,F)) | (support (z,(sum_bundle F))) as ManySortedSet of support (z,(sum_bundle F)) by PARTFUN1:def 2;
for s, t being object st s <> t holds
f . s misses f . t
proof
let s, t be object ; :: thesis: ( s <> t implies f . s misses f . t )
assume A4: s <> t ; :: thesis: f . s misses f . t
per cases ( not s in dom f or not t in dom f or ( s in dom f & t in dom f ) ) ;
suppose ( not s in dom f or not t in dom f ) ; :: thesis: f . s misses f . t
then ( f . s = {} or f . t = {} ) by FUNCT_1:def 2;
then (f . s) /\ (f . t) = {} ;
hence f . s misses f . t by XBOOLE_0:def 7; :: thesis: verum
end;
suppose ( s in dom f & t in dom f ) ; :: thesis: f . s misses f . t
then A5: ( f . s = (supp_restr (x,F)) . s & f . t = (supp_restr (x,F)) . t ) by FUNCT_1:47;
supp_restr (x,F) is disjoint_valued ;
hence f . s misses f . t by A4, A5; :: thesis: verum
end;
end;
end;
then reconsider f = f as disjoint_valued ManySortedSet of support (z,(sum_bundle F)) by PROB_2:def 2;
not {} in rng f
proof
assume {} in rng f ; :: thesis: contradiction
then consider i being object such that
A6: ( i in dom f & {} = f . i ) by FUNCT_1:def 3;
i in support (z,(sum_bundle F)) by A6;
then reconsider i = i as Element of I ;
A7: {} = (supp_restr (x,F)) . i by A6, FUNCT_1:47;
A8: support ((x | (J . i)),(F . i)) = {} by A7, Def12;
ex Z being Group st
( Z = (sum_bundle F) . i & z . i <> 1_ Z & i in I ) by A6, GROUP_19:def 1;
then A9: z . i <> 1_ (sum (F . i)) by Def7;
z . i in (prod_bundle F) . i by A1, GROUP_19:5;
then A10: z . i in product (F . i) by Def6;
then reconsider zi = z . i as Function ;
ex j being Element of J . i st zi . j <> 1_ ((F . i) . j)
proof
assume A11: for j being Element of J . i holds zi . j = 1_ ((F . i) . j) ; :: thesis: contradiction
dom zi = J . i by A10, GROUP_19:3;
then reconsider zi = zi as ManySortedSet of J . i by PARTFUN1:def 2, RELAT_1:def 18;
for k being set st k in J . i holds
ex G being non empty Group-like multMagma st
( G = (F . i) . k & zi . k = 1_ G )
proof
let k be set ; :: thesis: ( k in J . i implies ex G being non empty Group-like multMagma st
( G = (F . i) . k & zi . k = 1_ G ) )

assume k in J . i ; :: thesis: ex G being non empty Group-like multMagma st
( G = (F . i) . k & zi . k = 1_ G )

then reconsider j = k as Element of J . i ;
take G = (F . i) . j; :: thesis: ( G = (F . i) . k & zi . k = 1_ G )
thus G = (F . i) . k ; :: thesis: zi . k = 1_ G
thus zi . k = 1_ G by A11; :: thesis: verum
end;
then zi = 1_ (product (F . i)) by GROUP_7:5;
hence contradiction by A9, GROUP_2:44; :: thesis: verum
end;
then consider j being Element of J . i such that
A12: zi . j <> 1_ ((F . i) . j) ;
j in support (zi,(F . i)) by A12, GROUP_19:def 1;
hence contradiction by A1, A2, A8, Def10; :: thesis: verum
end;
then reconsider f = f as non-empty disjoint_valued ManySortedSet of support (z,(sum_bundle F)) by RELAT_1:def 9;
f = (supp_restr (x,F)) | (support (z,(sum_bundle F))) ;
hence (supp_restr (x,F)) | (support (z,(sum_bundle F))) is non-empty disjoint_valued ManySortedSet of support (z,(sum_bundle F)) ; :: thesis: support (x,(Union F)) = Union ((supp_restr (x,F)) | (support (z,(sum_bundle F))))
A13: support (x,(Union F)) = Union (supp_restr (x,F)) by Th28;
Union ((supp_restr (x,F)) | (support (z,(sum_bundle F)))) c= Union (supp_restr (x,F)) by RELAT_1:70, ZFMISC_1:77;
then A14: Union ((supp_restr (x,F)) | (support (z,(sum_bundle F)))) c= support (x,(Union F)) by A13;
for k being object st k in support (x,(Union F)) holds
k in Union ((supp_restr (x,F)) | (support (z,(sum_bundle F))))
proof
let k be object ; :: thesis: ( k in support (x,(Union F)) implies k in Union ((supp_restr (x,F)) | (support (z,(sum_bundle F)))) )
assume k in support (x,(Union F)) ; :: thesis: k in Union ((supp_restr (x,F)) | (support (z,(sum_bundle F))))
then consider Y being set such that
A15: ( k in Y & Y in rng (supp_restr (x,F)) ) by A13, TARSKI:def 4;
consider i being object such that
A16: ( i in dom (supp_restr (x,F)) & Y = (supp_restr (x,F)) . i ) by A15, FUNCT_1:def 3;
reconsider i = i as Element of I by A16;
k in support ((x | (J . i)),(F . i)) by A15, A16, Def12;
then consider Z being Group such that
A17: ( Z = (F . i) . k & (x | (J . i)) . k <> 1_ Z & k in J . i ) by GROUP_19:def 1;
z . i in (prod_bundle F) . i by A1, GROUP_19:5;
then A18: z . i in product (F . i) by Def6;
then reconsider zi = z . i as Function ;
dom zi = J . i by A18, GROUP_19:3;
then reconsider zi = zi as ManySortedSet of J . i by PARTFUN1:def 2, RELAT_1:def 18;
A19: ( zi . k <> 1_ Z & k in J . i ) by A1, A2, A17, Def10;
zi <> 1_ (product (F . i)) by A17, A19, GROUP_7:6;
then z . i <> 1_ (sum (F . i)) by GROUP_2:44;
then z . i <> 1_ ((sum_bundle F) . i) by Def7;
then i in support (z,(sum_bundle F)) by GROUP_19:def 1;
then A20: i in dom ((supp_restr (x,F)) | (support (z,(sum_bundle F)))) by A16, RELAT_1:57;
then Y = ((supp_restr (x,F)) | (support (z,(sum_bundle F)))) . i by A16, FUNCT_1:47;
then Y in rng ((supp_restr (x,F)) | (support (z,(sum_bundle F)))) by A20, FUNCT_1:3;
hence k in Union ((supp_restr (x,F)) | (support (z,(sum_bundle F)))) by A15, TARSKI:def 4; :: thesis: verum
end;
then support (x,(Union F)) c= Union ((supp_restr (x,F)) | (support (z,(sum_bundle F)))) ;
hence support (x,(Union F)) = Union ((supp_restr (x,F)) | (support (z,(sum_bundle F)))) by A14, XBOOLE_0:def 10; :: thesis: verum