let X1, X2 be non empty set ; :: thesis: for S1 being SigmaField of X1
for S2 being SigmaField of X2
for M1 being sigma_Measure of S1
for M2 being sigma_Measure of S2
for F being disjoint_valued FinSequence of measurable_rectangles (S1,S2) st Union F in measurable_rectangles (S1,S2) holds
(product-pre-Measure (M1,M2)) . (Union F) = Sum ((product-pre-Measure (M1,M2)) * F)

let S1 be SigmaField of X1; :: thesis: for S2 being SigmaField of X2
for M1 being sigma_Measure of S1
for M2 being sigma_Measure of S2
for F being disjoint_valued FinSequence of measurable_rectangles (S1,S2) st Union F in measurable_rectangles (S1,S2) holds
(product-pre-Measure (M1,M2)) . (Union F) = Sum ((product-pre-Measure (M1,M2)) * F)

let S2 be SigmaField of X2; :: thesis: for M1 being sigma_Measure of S1
for M2 being sigma_Measure of S2
for F being disjoint_valued FinSequence of measurable_rectangles (S1,S2) st Union F in measurable_rectangles (S1,S2) holds
(product-pre-Measure (M1,M2)) . (Union F) = Sum ((product-pre-Measure (M1,M2)) * F)

let M1 be sigma_Measure of S1; :: thesis: for M2 being sigma_Measure of S2
for F being disjoint_valued FinSequence of measurable_rectangles (S1,S2) st Union F in measurable_rectangles (S1,S2) holds
(product-pre-Measure (M1,M2)) . (Union F) = Sum ((product-pre-Measure (M1,M2)) * F)

let M2 be sigma_Measure of S2; :: thesis: for F being disjoint_valued FinSequence of measurable_rectangles (S1,S2) st Union F in measurable_rectangles (S1,S2) holds
(product-pre-Measure (M1,M2)) . (Union F) = Sum ((product-pre-Measure (M1,M2)) * F)

set S = measurable_rectangles (S1,S2);
set P = product-pre-Measure (M1,M2);
let F be disjoint_valued FinSequence of measurable_rectangles (S1,S2); :: thesis: ( Union F in measurable_rectangles (S1,S2) implies (product-pre-Measure (M1,M2)) . (Union F) = Sum ((product-pre-Measure (M1,M2)) * F) )
assume A1: Union F in measurable_rectangles (S1,S2) ; :: thesis: (product-pre-Measure (M1,M2)) . (Union F) = Sum ((product-pre-Measure (M1,M2)) * F)
defpred S1[ object , object ] means ( ( $1 in dom F implies $2 = F . $1 ) & ( not $1 in dom F implies $2 = {} ) );
A2: for n being Element of NAT ex y being Element of measurable_rectangles (S1,S2) st S1[n,y]
proof
let n be Element of NAT ; :: thesis: ex y being Element of measurable_rectangles (S1,S2) st S1[n,y]
per cases ( n in dom F or not n in dom F ) ;
suppose A3: n in dom F ; :: thesis: ex y being Element of measurable_rectangles (S1,S2) st S1[n,y]
then F . n in rng F by FUNCT_1:3;
hence ex y being Element of measurable_rectangles (S1,S2) st S1[n,y] by A3; :: thesis: verum
end;
end;
end;
consider G being Function of NAT,(measurable_rectangles (S1,S2)) such that
A5: for n being Element of NAT holds S1[n,G . n] from FUNCT_2:sch 3(A2);
A6: for x being object st not x in dom F holds
G . x = {}
proof
let x be object ; :: thesis: ( not x in dom F implies G . x = {} )
assume A7: not x in dom F ; :: thesis: G . x = {}
per cases ( x in dom G or not x in dom G ) ;
end;
end;
for x, y being object st x <> y holds
G . x misses G . y
proof
let x, y be object ; :: thesis: ( x <> y implies G . x misses G . y )
assume A7: x <> y ; :: thesis: G . x misses G . y
per cases ( ( x in dom F & y in dom F ) or not x in dom F or not y in dom F ) ;
suppose ( x in dom F & y in dom F ) ; :: thesis: G . x misses G . y
then ( G . x = F . x & G . y = F . y ) by A5;
hence G . x misses G . y by A7, PROB_2:def 2; :: thesis: verum
end;
suppose ( not x in dom F or not y in dom F ) ; :: thesis: G . x misses G . y
then ( G . x = {} or G . y = {} ) by A6;
hence G . x misses G . y ; :: thesis: verum
end;
end;
end;
then reconsider G = G as disjoint_valued Function of NAT,(measurable_rectangles (S1,S2)) by PROB_2:def 2;
now :: thesis: for y being object st y in (rng F) \/ {{}} holds
y in rng G
let y be object ; :: thesis: ( y in (rng F) \/ {{}} implies b1 in rng G )
assume B1: y in (rng F) \/ {{}} ; :: thesis: b1 in rng G
per cases ( y in rng F or y in {{}} ) by B1, XBOOLE_0:def 3;
suppose y in rng F ; :: thesis: b1 in rng G
then consider x being object such that
A8: ( x in dom F & y = F . x ) by FUNCT_1:def 3;
y = G . x by A8, A5;
hence y in rng G by A8, FUNCT_2:4; :: thesis: verum
end;
end;
end;
then A10: (rng F) \/ {{}} c= rng G ;
now :: thesis: for y being object st y in rng G holds
y in (rng F) \/ {{}}
let y be object ; :: thesis: ( y in rng G implies b1 in (rng F) \/ {{}} )
assume y in rng G ; :: thesis: b1 in (rng F) \/ {{}}
then consider x being Element of NAT such that
A11: y = G . x by FUNCT_2:113;
per cases ( x in dom F or not x in dom F ) ;
end;
end;
then rng G c= (rng F) \/ {{}} ;
then (rng F) \/ {{}} = rng G by A10;
then (union (rng F)) \/ (union {{}}) = union (rng G) by ZFMISC_1:78;
then (union (rng F)) \/ {} = union (rng G) by ZFMISC_1:25;
then Union F = union (rng G) by CARD_3:def 4;
then Union F = Union G by CARD_3:def 4;
then P2: (product-pre-Measure (M1,M2)) . (Union F) = SUM ((product-pre-Measure (M1,M2)) * G) by A1, Th35;
P3: (product-pre-Measure (M1,M2)) * F is nonnegative FinSequence of ExtREAL by MEASURE9:47;
P4: for n being object st n in dom ((product-pre-Measure (M1,M2)) * F) holds
((product-pre-Measure (M1,M2)) * F) . n = ((product-pre-Measure (M1,M2)) * G) . n
proof
let n be object ; :: thesis: ( n in dom ((product-pre-Measure (M1,M2)) * F) implies ((product-pre-Measure (M1,M2)) * F) . n = ((product-pre-Measure (M1,M2)) * G) . n )
assume Q1: n in dom ((product-pre-Measure (M1,M2)) * F) ; :: thesis: ((product-pre-Measure (M1,M2)) * F) . n = ((product-pre-Measure (M1,M2)) * G) . n
Q5: dom G = NAT by FUNCT_2:def 1;
F . n = G . n by A5, Q1, FUNCT_1:11;
then ((product-pre-Measure (M1,M2)) * F) . n = (product-pre-Measure (M1,M2)) . (G . n) by Q1, FUNCT_1:12;
hence ((product-pre-Measure (M1,M2)) * F) . n = ((product-pre-Measure (M1,M2)) * G) . n by Q5, Q1, FUNCT_1:13; :: thesis: verum
end;
for n being Element of NAT st not n in dom ((product-pre-Measure (M1,M2)) * F) holds
((product-pre-Measure (M1,M2)) * G) . n = 0
proof
let n be Element of NAT ; :: thesis: ( not n in dom ((product-pre-Measure (M1,M2)) * F) implies ((product-pre-Measure (M1,M2)) * G) . n = 0 )
assume L1: not n in dom ((product-pre-Measure (M1,M2)) * F) ; :: thesis: ((product-pre-Measure (M1,M2)) * G) . n = 0
L2: dom (product-pre-Measure (M1,M2)) = measurable_rectangles (S1,S2) by FUNCT_2:def 1;
n in NAT ;
then L4: n in dom G by FUNCT_2:def 1;
now :: thesis: ( not F . n in dom (product-pre-Measure (M1,M2)) implies not n in dom F )end;
then G . n = {} by A5, L1, FUNCT_1:11;
then ((product-pre-Measure (M1,M2)) * G) . n = (product-pre-Measure (M1,M2)) . {} by L4, FUNCT_1:13;
hence ((product-pre-Measure (M1,M2)) * G) . n = 0 by VALUED_0:def 19; :: thesis: verum
end;
hence (product-pre-Measure (M1,M2)) . (Union F) = Sum ((product-pre-Measure (M1,M2)) * F) by P2, P3, P4, Th37; :: thesis: verum