MEASUR11

index · ← NIVEN · POLYDIFF →
:: Fubini's Theorem on Measure
::  by Noboru Endou
::
:: Received February 23, 2017
:: Copyright (c) 2017-2026 Association of Mizar Users
::           (Stowarzyszenie Uzytkownikow Mizara, Bialystok, Poland).
:: This code can be distributed under the GNU General Public Licence
:: version 3.0 or later, or the Creative Commons Attribution-ShareAlike
:: License version 3.0 or later, subject to the binding interpretation
:: detailed in file COPYING.interpretation.
:: See COPYING.GPL and COPYING.CC-BY-SA for the full text of these
:: licenses, or see http://www.gnu.org/licenses/gpl.html and
:: http://creativecommons.org/licenses/by-sa/3.0/.

environ

 vocabularies NUMBERS, XXREAL_0, SUBSET_1, CARD_1, ARYTM_3, ARYTM_1, RELAT_1,
      NAT_1, REAL_1, CARD_3, FUNCT_1, FINSEQ_1, XBOOLE_0, TARSKI, ZFMISC_1,
      ORDINAL4, PROB_1, FINSUB_1, SETFAM_1, PROB_2, MEASURE9, FUNCOP_1,
      SUPINF_2, VALUED_0, FUNCT_2, PARTFUN1, MEASURE1, ORDINAL2, SERIES_1,
      MESFUNC5, SEQ_2, SEQFUNC, PBOOLE, MESFUNC9, VALUED_1, MESFUNC1, SRINGS_3,
      MEASUR10, MESFUNC8, FUNCT_3, MEASURE7, MEASURE4, MEASURE8, MEASUR11,
      PROB_3, SEQM_3, EQREL_1, SETLIM_2;
 notations TARSKI, XBOOLE_0, ZFMISC_1, SUBSET_1, ORDINAL1,
      XXREAL_3, XXREAL_0, XREAL_0,
      NUMBERS, KURATO_0, SETFAM_1, RELAT_1, FUNCT_1, RELSET_1, PARTFUN1,
      FUNCT_2, FUNCOP_1, FINSUB_1, CARD_3, FUNCT_3, BINOP_1, XTUPLE_0, PROB_1,
      PROB_3, NAT_1, VALUED_0, MEASURE8, FINSEQ_1, FINSEQOP, SUPINF_2, PROB_2,
      SEQFUNC, MEASURE1, MESFUNC1, MEASURE3, MEASURE4, MESFUNC2, MESFUNC5,
      MESFUNC8, DBLSEQ_3, MESFUNC9, EXTREAL1, SRINGS_3, MEASURE9, MEASUR10,
      SETLIM_1, SETLIM_2, MCART_1;
 constructors SEQFUNC, PROB_3, FINSEQOP, MEASURE3, MESFUNC8, MESFUNC9,
      EXTREAL1, RINFSUP2, MEASUR10, SETLIM_1, SUPINF_1, MEASURE8, MESFUNC2,
      KURATO_0, SETLIM_2, DBLSEQ_3;
 registrations ORDINAL1, XBOOLE_0, RELAT_1, SUBSET_1, ROUGHS_1, XXREAL_0,
      XREAL_0, NAT_1, INT_1, MEMBERED, FUNCT_1, FINSEQ_1, FUNCT_2, NUMBERS,
      VALUED_0, MESFUNC9, RELSET_1, MEASURE1, PARTFUN1, XXREAL_3, CARD_1,
      SIMPLEX0, SRINGS_3, DBLSEQ_3, MEASURE4, MEASURE9, PROB_1, MEASUR10;
 requirements BOOLE, SUBSET, NUMERALS, ARITHM, REAL;
 definitions TARSKI, XBOOLE_0;
 equalities XCMPLX_0, FINSEQ_1, BINOP_1, RELAT_1;
 expansions TARSKI, XBOOLE_0;
 theorems TARSKI, XBOOLE_0, XREAL_0, FINSEQ_1, NAT_1, FUNCT_1, CARD_3,
      XXREAL_0, ZFMISC_1, FINSEQ_3, XBOOLE_1, PROB_2, XREAL_1, PROB_1,
      FINSUB_1, SETFAM_1, FUNCOP_1, XXREAL_3, MEASURE1, VALUED_0, FUNCT_2,
      RELAT_1, MESFUNC5, EXTREAL1, MESFUNC9, FINSEQ_2, PARTFUN1, ORDINAL1,
      RINFSUP2, MEASURE8, MESFUNC1, SUPINF_2, XTUPLE_0, SRINGS_3, MEASURE9,
      FUNCT_5, MESFUNC8, FUNCT_3, MESFUNC2, MEASURE4, MEASUR10, NUMBERS,
      PROB_3, SETLIM_1, SUBSET_1, LATTICE5, RFUNCT_1, FINSEQ_4, DBLSEQ_3,
      FINSEQ_5, PROB_4, SETLIM_2, KURATO_0, MESFUN10;
 schemes FINSEQ_1, NAT_1, FUNCT_2, FINSEQ_2;

begin :: Preliminaries

theorem Th72:
for F be disjoint_valued FinSequence, n,m be Nat
  st n < m holds union rng(F|n) misses F.m
proof
   let F be disjoint_valued FinSequence, n,m be Nat;
   assume A1: n < m;
   per cases;
   suppose n >= len F; then
    m > len F by A1,XXREAL_0:2; then
    not m in dom F by FINSEQ_3:25; then
    F.m = {} by FUNCT_1:def 2;
    hence union rng(F|n) misses F.m;
   end;
   suppose A2: n < len F;
    for A be set st A in rng(F|n) holds A misses F.m
    proof
     let A be set;
     assume A in rng(F|n); then
     consider k be object such that
A3:   k in dom(F|n) & A = (F|n).k by FUNCT_1:def 3;
     reconsider k as Element of NAT by A3;
     1 <= k <= len(F|n) by A3,FINSEQ_3:25; then
A4:  k <= n by A2,FINSEQ_1:59; then
     A = F.k by A3,FINSEQ_3:112;
     hence A misses F.m by A1,A4,PROB_2:def 2;
    end;
    hence union rng(F|n) misses F.m by ZFMISC_1:80;
   end;
end;

theorem Th73:
for F be FinSequence, m,n be Nat st m <= n holds len(F|m) <= len(F|n)
proof
   let F be FinSequence, m,n be Nat;
   assume m <= n; then
   F|m = F|n|m by FINSEQ_1:82;
   hence len(F|m) <= len(F|n) by FINSEQ_1:79;
end;

theorem Th74:
for F be FinSequence, n be Nat holds
 union rng(F|n) \/ F.(n+1) = union rng(F|(n+1))
proof
   let F be FinSequence, n be Nat;
   now let x be set;
    assume x in union rng(F|n) \/ F.(n+1); then
    per cases by XBOOLE_0:def 3;
    suppose x in union rng(F|n); then
     consider A be set such that
A2:   x in A & A in rng(F|n) by TARSKI:def 4;
     consider k be object such that
A3:   k in dom(F|n) & A = (F|n).k by A2,FUNCT_1:def 3;
     reconsider k as Element of NAT by A3;
A4:  1 <= k <= len(F|n) by A3,FINSEQ_3:25;
     len(F|n) <= n by FINSEQ_1:86; then
A5:  k <= n & A = F.k by A4,A3,FINSEQ_3:112,XXREAL_0:2;
     n <= n+1 by NAT_1:11; then
A6:  A = (F|(n+1)).k by A5,XXREAL_0:2,FINSEQ_3:112;
     len(F|n) <= len(F|(n+1)) by NAT_1:11,Th73; then
     k <= len(F|(n+1)) by A4,XXREAL_0:2; then
     k in dom(F|(n+1)) by A4,FINSEQ_3:25; then
     A in rng(F|(n+1)) by A6,FUNCT_1:3;
     hence x in union rng(F|(n+1)) by A2,TARSKI:def 4;
    end;
    suppose x in F.(n+1); then
A7:  x in (F|(n+1)).(n+1) by FINSEQ_3:112; then
     n+1 in dom (F|(n+1)) by FUNCT_1:def 2; then
     (F|(n+1)).(n+1) in rng(F|(n+1)) by FUNCT_1:3;
     hence x in union rng(F|(n+1)) by A7,TARSKI:def 4;
    end;
   end;
   hence union rng(F|n) \/ F.(n+1) c= union rng(F|(n+1));
   let x be object;
    assume x in union rng(F|(n+1)); then
    consider A be set such that
A9:  x in A & A in rng(F|(n+1)) by TARSKI:def 4;
    consider k be object such that
A10: k in dom(F|(n+1)) & A = (F|(n+1)).k by A9,FUNCT_1:def 3;
    reconsider k as Element of NAT by A10;
    1 <= k <= len(F|(n+1)) <= n+1 by A10,FINSEQ_1:86,FINSEQ_3:25; then
A11:k <= n+1 & (F|(n+1)).k = F.k by XXREAL_0:2,FINSEQ_3:112;
    per cases;
    suppose k = n+1;
     hence x in union rng(F|n) \/ F.(n+1) by A9,A10,A11,XBOOLE_0:def 3;
    end;
    suppose k <> n+1; then
     k < n+1 by A11,XXREAL_0:1; then
     k <= n by NAT_1:13; then
A12: (F|n).k = F.k by FINSEQ_3:112; then
     k in dom(F|n) by A11,A10,A9,FUNCT_1:def 2; then
     A in rng(F|n) by A12,A11,A10,FUNCT_1:3; then
     x in union rng(F|n) by A9,TARSKI:def 4;
     hence x in union rng(F|n) \/ F.(n+1) by XBOOLE_0:def 3;
    end;
end;

theorem Th101:
for F be disjoint_valued FinSequence, n be Nat holds
 Union(F|n) misses F.(n+1)
proof
   let F be disjoint_valued FinSequence, n be Nat;
   assume Union(F|n) meets F.(n+1); then
   consider x be object such that
A1: x in Union(F|n) & x in F.(n+1) by XBOOLE_0:3;
   x in union rng(F|n) by A1,CARD_3:def 4; then
   consider A be set such that
A2: x in A & A in rng(F|n) by TARSKI:def 4;
   consider m be object such that
A3: m in dom(F|n) & A = (F|n).m by A2,FUNCT_1:def 3;
   reconsider m as Element of NAT by A3;
   m <= len(F|n) & len(F|n) <= n by A3,FINSEQ_3:25,FINSEQ_1:86; then
   m <> n+1 by NAT_1:13; then
   F.m misses F.(n+1) by PROB_2:def 2; then
   (F|n).m /\ F.(n+1) = {} by A3,FUNCT_1:47;
   hence contradiction by A1,A2,A3,XBOOLE_0:def 4;
end;

theorem Th41:
for P be set, F be FinSequence st
 P is cup-closed & {} in P & (for n be Nat st n in dom F holds F.n in P)
holds Union F in P
proof
   let P be set, F be FinSequence;
   assume that
A0: P is cup-closed and
A1: {} in P and
A2: for n be Nat st n in dom F holds F.n in P;
   defpred P[Nat] means union rng (F|$1) in P;
A3:P[0] by A1,ZFMISC_1:2;
A4:for k be Nat st P[k] holds P[k+1]
   proof
    let k be Nat;
    assume A5: P[k];
A6: k <= k+1 by NAT_1:13;
    per cases;
    suppose A7: len F >= k+1; then
     len (F|(k+1)) = k+1 by FINSEQ_1:59; then
     F|(k+1) = ((F|(k+1))|k) ^ <* (F|(k+1)).(k+1) *> by FINSEQ_3:55
      .= F|k ^ <* (F|(k+1)).(k+1) *> by A6,FINSEQ_1:82
      .= F|k ^ <* F.(k+1) *> by FINSEQ_3:112; then
     rng(F|(k+1)) = rng(F|k) \/ rng <* F.(k+1) *> by FINSEQ_1:31
      .= rng(F|k) \/ {F.(k+1)} by FINSEQ_1:38; then
A8:  union rng(F|(k+1)) = union rng(F|k) \/ union {F.(k+1)} by ZFMISC_1:78
      .= union rng(F|k) \/ F.(k+1) by ZFMISC_1:25;
     1 <= k+1 by NAT_1:11; then
     F.(k+1) in P by A2,A7,FINSEQ_3:25;
     hence P[k+1] by A0,A5,A8,FINSUB_1:def 1;
    end;
    suppose len F < k+1; then
     (F|(k+1)) = F & F|k = F by FINSEQ_3:49,NAT_1:13;
     hence P[k+1] by A5;
    end;
   end;
   for k be Nat holds P[k] from NAT_1:sch 2(A3,A4); then
   union rng (F| len F) in P; then
   union rng F in P by FINSEQ_3:49;
   hence thesis by CARD_3:def 4;
end;

definition
  let A,X be set;
  redefine func chi(A,X) -> Function of X,ExtREAL;  :: redefines chi (FUNCT_3, definition)
  coherence
  proof
    dom chi(A,X) = X by FUNCT_3:def 3;
    hence thesis by FUNCT_2:def 1;
  end;
end;

definition
  let X be non empty set, S be SigmaField of X, F be FinSequence of S;
  redefine func Union F -> Element of S;  :: redefines Union (CARD_3, definition)
  coherence by PROB_3:57;
end;

definition
 let X be non empty set, S be SigmaField of X, F be sequence of S;
 redefine func Union F -> Element of S;  :: redefines Union (CARD_3, definition)
 coherence
 proof
  union rng F is Element of S;
  hence thesis by CARD_3:def 4;
 end;
end;

definition
 let X be non empty set;
 let F be FinSequence of PFuncs(X,ExtREAL);
 let x be Element of X;
 func F#x -> FinSequence of ExtREAL means :DEF5:
  dom it = dom F & (for n be Element of NAT st n in dom it holds
    it.n = (F.n).x);
existence
proof
   defpred P[Nat,set] means $2 = F.$1.x;
A1:for n be Nat st n in Seg len F ex z being Element of ExtREAL st P[n,z];
   consider p being FinSequence of ExtREAL such that
A2: dom p = Seg len F and
A3: for n be Nat st n in Seg len F holds P[n,p.n] from FINSEQ_1:sch 5(A1);
   take p;
   thus dom p = dom F by A2,FINSEQ_1:def 3;
   thus thesis by A2,A3;
end;
uniqueness
proof
   let p1,p2 be FinSequence of ExtREAL;
   assume that
A4:dom p1 = dom F and
A5:for n be Element of NAT st n in dom p1 holds p1.n = F.n.x and
A6:dom p2 = dom F and
A7:for n be Element of NAT st n in dom p2 holds p2.n = F.n.x;
B1:len p1 = len p2 by A4,A6,FINSEQ_3:29;
   now
    let n be Nat;
    assume
A10: n in dom p1;
     then p1.n = F.n.x by A5;
     hence p1.n = p2.n by A4,A6,A7,A10;
    end;
    hence thesis by B1,FINSEQ_2:9;
   end;
end;

theorem
for X be non empty set, S be non empty Subset-Family of X,
 f be FinSequence of S, F be FinSequence of PFuncs(X,ExtREAL) st
 dom f = dom F & f is disjoint_valued
& (for n be Nat st n in dom F holds F.n = chi(f.n,X))
 holds (for x be Element of X holds chi(Union f,X).x = Sum (F#x))
proof
   let X be non empty set, S be non empty Subset-Family of X,
    f be FinSequence of S, F be FinSequence of PFuncs(X,ExtREAL);
   assume that
A0: dom f = dom F and
A1: f is disjoint_valued and
A2: for n be Nat st n in dom F holds F.n = chi(f.n,X);
   let x be Element of X;
   reconsider x1=x as Element of X;
   consider Sf be sequence of ExtREAL such that
B1: Sum(F#x) = Sf.(len (F#x)) & Sf.0 = 0 &
    for i be Nat st i < len (F#x) holds Sf.(i+1) = Sf.i + (F#x).(i+1)
      by EXTREAL1:def 2;
   per cases;
   suppose A8: x in Union f; then
    x in union rng f by CARD_3:def 4; then
    consider fn be set such that
A9:  x in fn & fn in rng f by TARSKI:def 4;
    consider n be Element of NAT such that
A10: n in dom f & fn = f.n by A9,PARTFUN1:3;
A11:for m be Nat holds (m = n implies (F#x).m = 1) &
    (m <> n implies (F#x).m = 0)
    proof
     let m be Nat;
     hereby assume A12: m = n; then
      m in dom (F#x) by A0,A10,DEF5; then
      (F#x).m = (F.m).x by DEF5; then
      (F#x).m = chi(f.m,X).x by A2,A12,A10,A0;
      hence (F#x).m = 1 by A9,A10,A12,FUNCT_3:def 3;
     end;
     assume m <> n; then
A13: not x in f.m by A9,A10,A1,PROB_2:def 2,XBOOLE_0:3;
     per cases;
     suppose m in dom (F#x); then
      m in dom F & (F#x).m = (F.m).x by DEF5; then
      (F#x).m = chi(f.m,X).x by A2;
      hence (F#x).m = 0 by A13,FUNCT_3:def 3;
     end;
     suppose not m in dom(F#x);
      hence (F#x).m = 0 by FUNCT_1:def 2;
     end;
    end;
    defpred P1[Nat] means $1 < n implies Sf.$1 = 0;
A14:P1[0] by B1;
A15:for m be Nat st P1[m] holds P1[m+1]
    proof
     let m be Nat;
     assume A16: P1[m];
     assume A17: m+1 < n; then
A18: m < n by NAT_1:13;
A20: (F#x).(m+1) = 0 by A17,A11;
     n in dom(F#x) by A0,A10,DEF5; then
     1 <= n <= len (F#x) by FINSEQ_3:25; then
     m < len (F#x) by A18,XXREAL_0:2; then
     Sf.(m+1) = Sf.m + (F#x).(m+1) by B1
      .= 0 + 0 by A20,A16,A17,NAT_1:13;
     hence Sf.(m+1) = 0;
    end;
A21:for m be Nat holds P1[m] from NAT_1:sch 2(A14,A15);
    defpred P2[Nat] means n <= $1 <= len(F#x) implies Sf.$1 = 1;
A23:P2[0] by A10,FINSEQ_3:25;
A24:for m be Nat st P2[m] holds P2[m+1]
    proof
     let m be Nat;
     assume A25: P2[m];
     assume A26: n <= m+1 <= len(F#x); then
A27: Sf.(m+1) = Sf.m + (F#x).(m+1) by B1,NAT_1:13;
     per cases by A26,XXREAL_0:1;
     suppose A28: n = m+1; then
      m < n by NAT_1:13; then
      Sf.m = 0 & (F#x).(m+1) = 1 by A21,A28,A11;
      hence Sf.(m+1) = 1 by A27,XXREAL_3:4;
     end;
     suppose n < m+1; then
      Sf.m = 1 & (F#x).(m+1) = 0 by A25,A11,A26,NAT_1:13;
      hence Sf.(m+1) = 1 by A27,XXREAL_3:4;
     end;
    end;
A30:for m be Nat holds P2[m] from NAT_1:sch 2(A23,A24);
    n in dom(F#x) by A10,A0,DEF5; then
    n <= len (F#x) by FINSEQ_3:25; then
    Sf.(len(F#x)) = 1 by A30;
    hence chi(Union f,X).x = Sum(F#x) by A8,B1,FUNCT_3:def 3;
   end;
   suppose A31: not x in Union f; then
    not x in union rng f by CARD_3:def 4; then
A32:for V be set st V in rng f holds not x in V by TARSKI:def 4;
    defpred P3[Nat] means $1 <= len(F#x) implies Sf.$1 = 0;
A33:P3[0] by B1;
A34:for m be Nat st P3[m] holds P3[m+1]
    proof
     let m be Nat;
     assume A35: P3[m];
     assume A37: m+1 <= len (F#x); then
A38: m+1 in dom(F#x) by NAT_1:11,FINSEQ_3:25; then
C2:  m+1 in dom f by A0,DEF5; then
A39: not x in f.(m+1) by A32,FUNCT_1:3;
     (F#x).(m+1) = (F.(m+1)).x by A38,DEF5
       .= chi(f.(m+1),X).x by A2,C2,A0; then
     (F#x).(m+1) = 0 by A39,FUNCT_3:def 3; then
     Sf.m + (F#x).(m+1) = 0 by A35,A37,NAT_1:13;
     hence Sf.(m+1) = 0 by A37,B1,NAT_1:13;
    end;
    for m be Nat holds P3[m] from NAT_1:sch 2(A33,A34); then
    Sum(F#x) = 0 by B1;
    hence chi(Union f,X).x = Sum(F#x) by A31,FUNCT_3:def 3;
   end;
end;

begin :: Product measure and product sigma measure

theorem Th1:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2
 holds
  sigma DisUnion measurable_rectangles(S1,S2)
    = sigma measurable_rectangles(S1,S2)
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2;
   Field_generated_by (measurable_rectangles(S1,S2))
    = DisUnion (measurable_rectangles(S1,S2)) by SRINGS_3:22;
   hence thesis by SRINGS_3:23;
end;

definition
let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
    M1 be sigma_Measure of S1, M2 be sigma_Measure of S2;
func product_Measure(M1,M2) ->
      induced_Measure of measurable_rectangles(S1,S2),
       product-pre-Measure(M1,M2) means
  for E be set st E in Field_generated_by measurable_rectangles(S1,S2) holds
   for F be disjoint_valued FinSequence of measurable_rectangles(S1,S2)
    st E = Union F holds it.E = Sum(product-pre-Measure(M1,M2)*F);
existence
proof
   consider IT be Measure of Field_generated_by measurable_rectangles(S1,S2)
    such that
A1: for E be set st E in Field_generated_by measurable_rectangles(S1,S2) holds
    for F be disjoint_valued FinSequence of measurable_rectangles(S1,S2)
     st E = Union F holds IT.E = Sum(product-pre-Measure(M1,M2)*F)
      by MEASURE9:55;
   reconsider IT as induced_Measure of measurable_rectangles(S1,S2),
       product-pre-Measure(M1,M2) by A1,MEASURE9:def 8;
   take IT;
   thus thesis by A1;
end;
uniqueness
proof
   let f1,f2 be induced_Measure of measurable_rectangles(S1,S2),
       product-pre-Measure(M1,M2);
   assume that
A1:
  for E be set st E in Field_generated_by measurable_rectangles(S1,S2) holds
   for F be disjoint_valued FinSequence of measurable_rectangles(S1,S2)
    st E = Union F holds f1.E = Sum(product-pre-Measure(M1,M2)*F) and
A2:
  for E be set st E in Field_generated_by measurable_rectangles(S1,S2) holds
   for F be disjoint_valued FinSequence of measurable_rectangles(S1,S2)
    st E = Union F holds f2.E = Sum(product-pre-Measure(M1,M2)*F);
   now let E be Element of Field_generated_by measurable_rectangles(S1,S2);
    Field_generated_by (measurable_rectangles(S1,S2))
     = DisUnion (measurable_rectangles(S1,S2)) by SRINGS_3:22; then
    E in DisUnion measurable_rectangles(S1,S2); then
    E in { A where A is Subset of [:X1,X2:] :
        ex F be disjoint_valued FinSequence of measurable_rectangles(S1,S2)
          st A = Union F } by SRINGS_3:def 3; then
    consider A be Subset of [:X1,X2:] such that
A3:  E = A &
     ex F be disjoint_valued FinSequence of measurable_rectangles(S1,S2)
        st A = Union F;
    consider F be disjoint_valued FinSequence of measurable_rectangles(S1,S2)
    such that
A4:  E = Union F by A3;
    f1.E = Sum(product-pre-Measure(M1,M2)*F) by A1,A4;
    hence f1.E = f2.E by A2,A4;
   end;
   hence f1=f2 by FUNCT_2:63;
end;
end;

definition
let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
    M1 be sigma_Measure of S1, M2 be sigma_Measure of S2;
func product_sigma_Measure(M1,M2) ->
    induced_sigma_Measure of measurable_rectangles(S1,S2),
     product_Measure(M1,M2) equals
     (sigma_Meas(C_Meas product_Measure(M1,M2)))
       |(sigma measurable_rectangles(S1,S2));
correctness
proof
   Field_generated_by measurable_rectangles(S1,S2)
    = DisUnion measurable_rectangles(S1,S2) by SRINGS_3:22; then
A1:sigma Field_generated_by measurable_rectangles(S1,S2)
    = sigma measurable_rectangles(S1,S2) by Th1;
   (sigma_Meas(C_Meas product_Measure(M1,M2)))|
     (sigma measurable_rectangles(S1,S2)) is
   sigma_Measure of (sigma measurable_rectangles(S1,S2))
     by A1,MEASURE9:61;
    hence thesis by A1,MEASURE9:def 9;
end;
end;

theorem Th2:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
    M1 be sigma_Measure of S1, M2 be sigma_Measure of S2 holds
 product_sigma_Measure(M1,M2) is
   sigma_Measure of sigma measurable_rectangles(S1,S2)
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
    M1 be sigma_Measure of S1, M2 be sigma_Measure of S2;
   Field_generated_by measurable_rectangles(S1,S2)
    = DisUnion measurable_rectangles(S1,S2) by SRINGS_3:22; then
   sigma Field_generated_by measurable_rectangles(S1,S2)
    = sigma measurable_rectangles(S1,S2) by Th1;
   hence thesis;
end;

theorem Th3:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
F1 be Set_Sequence of S1, F2 be Set_Sequence of S2, n be Nat holds
   [:F1.n,F2.n:] is Element of sigma measurable_rectangles(S1,S2)
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
       F1 be Set_Sequence of S1, F2 be Set_Sequence of S2, n be Nat;
   set S = measurable_rectangles(S1,S2);
   F1.n in S1 & F2.n in S2 by MEASURE8:def 2; then
   [:F1.n,F2.n:] in the set of all [:A,B:]
      where A is Element of S1, B is Element of S2; then
A1: [:F1.n,F2.n:] in S by MEASUR10:def 5;
A2:S c= DisUnion S by SRINGS_3:12;
   DisUnion S c= sigma(DisUnion S) by PROB_1:def 9; then
   [:F1.n,F2.n:] is Element of sigma DisUnion (measurable_rectangles(S1,S2))
     by A1,A2;
   hence thesis by Th1;
end;

theorem Th4:
for X1,X2 be set, F1 be SetSequence of X1, F2 be SetSequence of X2, n be Nat
  st F1 is non-descending & F2 is non-descending
  holds [:F1.n,F2.n:] c= [:F1.(n+1),F2.(n+1):]
proof
   let X1,X2 be set, F1 be SetSequence of X1, F2 be SetSequence of X2,
   n be Nat;
   assume F1 is non-descending & F2 is non-descending; then
   F1.n c= F1.(n+1) & F2.n c= F2.(n+1) by PROB_1:def 5,NAT_1:11;
   hence [:F1.n,F2.n:] c= [:F1.(n+1),F2.(n+1):] by ZFMISC_1:96;
end;

theorem Th5:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
A be Element of S1, B be Element of S2 holds
 product_Measure(M1,M2).([:A,B:]) = M1.A * M2.B
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
       M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
       A be Element of S1, B be Element of S2;
   set S = measurable_rectangles(S1,S2);
   set P = product-pre-Measure(M1,M2);
   set m = product_Measure(M1,M2);
A1:DisUnion S = Field_generated_by S by SRINGS_3:22;
   [:A,B:] in the set of all [:A,B:]
       where A is Element of S1, B is Element of S2; then
A2:[:A,B:] in S by MEASUR10:def 5; then
   reconsider F = <* [:A,B:] *> as disjoint_valued FinSequence of S
      by FINSEQ_1:74;
A3:S c= DisUnion S by SRINGS_3:12;
   consider SumPF be sequence of ExtREAL such that
A4: Sum(P*F) = SumPF.(len(P*F)) & SumPF.0 = 0. &
    (for n be Nat st n < len(P*F) holds
      SumPF.(n+1) = SumPF.n + (P*F).(n+1)) by EXTREAL1:def 2;
A5:len F = 1 by FINSEQ_1:39; then
A6:1 in dom F by FINSEQ_3:25;
   len(P*F) = 1 by A5,FINSEQ_3:120; then
   Sum(P*F) = SumPF.0 + (P*F).(0+1) by A4; then
   Sum(P*F) = (P*F).1 by A4,XXREAL_3:4; then
   Sum(P*F) = P.(F.1) by A6,FUNCT_1:13; then
   Sum(P*F) = P.([:A,B:]); then
A7:Sum(P*F) = M1.A * M2.B by MEASUR10:22;
   rng <* [:A,B:] *> = { [:A,B:] } by FINSEQ_1:39; then
   union rng <* [:A,B:] *> = [:A,B:] by ZFMISC_1:25; then
   [:A,B:] = Union <* [:A,B:] *> by CARD_3:def 4;
   hence m.([:A,B:]) = M1.A * M2.B by A1,A2,A3,A7,MEASURE9:def 8;
end;

theorem Th6:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
F1 be Set_Sequence of S1, F2 be Set_Sequence of S2, n be Nat holds
  product_Measure(M1,M2).([:F1.n,F2.n:]) = M1.(F1.n) * M2.(F2.n)
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
       M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
       F1 be Set_Sequence of S1, F2 be Set_Sequence of S2,
       n be Nat;
   F1.n in S1 & F2.n in S2 by MEASURE8:def 2;
   hence product_Measure(M1,M2).([:F1.n,F2.n:]) = M1.(F1.n) * M2.(F2.n)
     by Th5;
end;

theorem
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
F1 be FinSequence of S1, F2 be FinSequence of S2, n be Nat
 st n in dom F1 & n in dom F2 holds
  product_Measure(M1,M2).([:F1.n,F2.n:]) = M1.(F1.n) * M2.(F2.n) by Th5;

theorem
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
E be Subset of [:X1,X2:] holds
 (C_Meas product_Measure(M1,M2)).E = inf(Svc(product_Measure(M1,M2),E))
by MEASURE8:def 8;

theorem Th9:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
M1 be sigma_Measure of S1, M2 be sigma_Measure of S2 holds
   sigma measurable_rectangles(S1,S2)
    c= sigma_Field(C_Meas product_Measure(M1,M2))
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
       M1 be sigma_Measure of S1, M2 be sigma_Measure of S2;
   set C = C_Meas product_Measure(M1,M2);
   set F = Field_generated_by measurable_rectangles(S1,S2);
   F c= sigma_Field(C_Meas product_Measure(M1,M2)) by MEASURE8:20; then
   sigma F c= sigma_Field(C_Meas product_Measure(M1,M2)) by PROB_1:def 9; then
   sigma DisUnion measurable_rectangles(S1,S2)
    c= sigma_Field(C_Meas product_Measure(M1,M2)) by SRINGS_3:22;
   hence thesis by Th1;
end;

theorem Th10:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
E be Element of sigma measurable_rectangles(S1,S2),
A be Element of S1, B be Element of S2
 st E = [:A,B:] holds product_sigma_Measure(M1,M2).E = M1.A * M2.B
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
       M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
       E be Element of sigma measurable_rectangles(S1,S2),
       A be Element of S1, B be Element of S2;
   assume A1: E = [:A,B:]; then
A2:product_sigma_Measure(M1,M2).([:A,B:])
    = (sigma_Meas(C_Meas product_Measure(M1,M2))).([:A,B:]) by FUNCT_1:49;
A3:measurable_rectangles(S1,S2)
    c= Field_generated_by measurable_rectangles(S1,S2) by SRINGS_3:21;
   [:A,B:] in the set of all [:A,B:]
      where A is Element of S1, B is Element of S2; then
A4: [:A,B:] in measurable_rectangles(S1,S2) by MEASUR10:def 5;
   product_Measure(M1,M2) is completely-additive by MEASURE9:60; then
A5:(product_Measure(M1,M2)).([:A,B:])
     = (C_Meas product_Measure(M1,M2)).([:A,B:]) by A3,A4,MEASURE8:18;
   sigma measurable_rectangles(S1,S2)
    c= sigma_Field(C_Meas product_Measure(M1,M2)) by Th9; then
   product_sigma_Measure(M1,M2).([:A,B:])
    = (product_Measure(M1,M2)).([:A,B:]) by A1,A2,A5,MEASURE4:def 3;
   hence thesis by A1,Th5;
end;

theorem
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
F1 be Set_Sequence of S1, F2 be Set_Sequence of S2, n be Nat holds
  product_sigma_Measure(M1,M2).([:F1.n,F2.n:]) = M1.(F1.n) * M2.(F2.n)
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
       M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
       F1 be Set_Sequence of S1, F2 be Set_Sequence of S2, n be Nat;
A1: [:F1.n,F2.n:] is Element of sigma measurable_rectangles(S1,S2) by Th3;
 then
A2:product_sigma_Measure(M1,M2).([:F1.n,F2.n:])
    = (sigma_Meas(C_Meas product_Measure(M1,M2))).([:F1.n,F2.n:])
      by FUNCT_1:49;
A3:measurable_rectangles(S1,S2)
    c= Field_generated_by measurable_rectangles(S1,S2) by SRINGS_3:21;
   F1.n in S1 & F2.n in S2 by MEASURE8:def 2; then
    [:F1.n,F2.n:] in the set of all [:A,B:]
      where A is Element of S1, B is Element of S2; then
A4: [:F1.n,F2.n:] in measurable_rectangles(S1,S2) by MEASUR10:def 5;
   product_Measure(M1,M2) is completely-additive by MEASURE9:60; then
A5:(product_Measure(M1,M2)).([:F1.n,F2.n:])
     = (C_Meas product_Measure(M1,M2)).([:F1.n,F2.n:]) by A3,A4,MEASURE8:18;
   sigma measurable_rectangles(S1,S2)
    c= sigma_Field(C_Meas product_Measure(M1,M2)) by Th9; then
   product_sigma_Measure(M1,M2).([:F1.n,F2.n:])
    = (product_Measure(M1,M2)).([:F1.n,F2.n:]) by A1,A2,A5,MEASURE4:def 3;
   hence thesis by Th6;
end;

theorem Th12:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
E1,E2 be Element of sigma measurable_rectangles(S1,S2)
st E1 misses E2 holds
 product_sigma_Measure(M1,M2).(E1 \/ E2)
  = product_sigma_Measure(M1,M2).E1 + product_sigma_Measure(M1,M2).E2
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
    M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
    E1,E2 be Element of sigma measurable_rectangles(S1,S2);
   assume A1: E1 misses E2;
   product_sigma_Measure(M1,M2) is sigma_Measure of
    sigma measurable_rectangles(S1,S2) by Th2;
   hence thesis by A1,MEASURE1:30;
end;

theorem
for X1,X2,A,B be set, F1 be SetSequence of X1, F2 be SetSequence of X2,
F be SetSequence of [:X1,X2:] st
  F1 is non-descending & lim F1 = A & F2 is non-descending & lim F2 = B &
  (for n be Nat holds F.n = [:F1.n,F2.n:])
holds lim F = [:A,B:]
proof
   let X1,X2,A,B be set, F1 be SetSequence of X1, F2 be SetSequence of X2,
   F be SetSequence of [:X1,X2:];
   assume that
A1: F1 is non-descending and
A2: lim F1 = A and
A3: F2 is non-descending and
A4: lim F2 = B and
A5: for n be Nat holds F.n = [:F1.n,F2.n:];
   now let n be Nat;
    F.n = [:F1.n,F2.n:] & F.(n+1) = [:F1.(n+1),F2.(n+1):] by A5;
    hence F.n c= F.(n+1) by A1,A3,Th4;
   end; then
   F is non-descending by PROB_2:7; then
A6:lim F = Union F by SETLIM_1:63;
   Union F1 = A & Union F2 = B by A1,A2,A3,A4,SETLIM_1:63; then
A8:union rng F1 = A & union rng F2 = B by CARD_3:def 4; then
A7: [:A,B:]
    = union { [:P,Q:] where P is Element of rng F1, Q is Element of rng F2 :
               P in rng F1 & Q in rng F2} by LATTICE5:2;
   now let z be object;
    assume z in [:A,B:]; then
    consider Z be set such that
X1:  z in Z
   & Z in { [:A,B:] where A is Element of rng F1, B is Element of rng F2 :
               A in rng F1 & B in rng F2} by A7,TARSKI:def 4;
    consider A be Element of rng F1, B be Element of rng F2 such that
X2:  Z = [:A,B:] & A in rng F1 & B in rng F2 by X1;
    consider n1 be Element of NAT such that
X3:  n1 in dom F1 & A = F1.n1 by PARTFUN1:3;
    consider n2 be Element of NAT such that
X4:  n2 in dom F2 & B = F2.n2 by PARTFUN1:3;
    set n = max(n1,n2);
    A c= F1.n & B c= F2.n by A1,A3,X3,X4,PROB_1:def 5,XXREAL_0:25; then
X5: Z c= [:F1.n,F2.n:] by X2,ZFMISC_1:96;
    n in NAT; then
    n in dom F by FUNCT_2:def 1; then
    F.n in rng F by FUNCT_1:3; then
    [:F1.n,F2.n:] in rng F by A5;
    hence z in union rng F by X1,X5,TARSKI:def 4;
   end; then
X6: [:A,B:] c= union rng F;
   now let z be object;
    assume z in union rng F; then
    consider Z be set such that
Y1:  z in Z & Z in rng F by TARSKI:def 4;
    consider n be Element of NAT such that
Y2:  n in dom F & Z = F.n by Y1,PARTFUN1:3;
Y3: Z = [:F1.n,F2.n:] by A5,Y2;
    dom F1 = NAT & dom F2 = NAT by FUNCT_2:def 1; then
    F1.n c= union rng F1 & F2.n c= union rng F2 by FUNCT_1:3,ZFMISC_1:74; then
    Z c= [:A,B:] by A8,Y3,ZFMISC_1:96;
    hence z in [:A,B:] by Y1;
   end; then
   union rng F c= [:A,B:];
   hence lim F = [:A,B:] by A6,X6,CARD_3:def 4;
end;

begin :: Sections

notation
  let R be Relation, x be set;
  synonym X-section(R,x) for Im(R,x);
end;

notation
  let R be Relation, y be set;
  synonym Y-section(R,y) for Coim(R,y);
end;

Lm1:
now
let X,Y,x be set, E be Subset of [:X,Y:];
set A = {y where y is Element of Y: [x,y] in E};
thus X-section(E,x) = A
proof
  thus X-section(E,x) c= A
  proof
    let a be object;
    assume a in X-section(E,x);
    then consider z being object such that
    z in dom E and
A2: [z,a] in E and
A3: z in {x} by RELAT_1:110;
A4: z = x by A3,TARSKI:def 1;
    a in rng E by A2,XTUPLE_0:def 13;
    hence thesis by A2,A4;
  end;
  let a be object;
  assume a in A;
  then consider y being Element of Y such that
A5: a = y and
A6: [x,y] in E;
A7: x in dom E by A6,XTUPLE_0:def 12;
  x in {x} by TARSKI:def 1;
  hence thesis by A5,A6,A7,RELAT_1:110;
end;
end;

Lm2:
now
let X,Y,y be set, E be Subset of [:X,Y:];
set A = {x where x is Element of X: [x,y] in E};
thus Y-section(E,y) = A
proof
  thus Y-section(E,y) c= A
  proof
    let a be object;
    assume a in Y-section(E,y);
    then consider z being object such that
    z in rng E and
A2: [a,z] in E and
A3: z in {y} by RELAT_1:131;
A4: z = y by A3,TARSKI:def 1;
    a in dom E by A2,XTUPLE_0:def 12;
    hence thesis by A2,A4;
  end;
  let a be object;
  assume a in A;
  then consider x being Element of X such that
A5: a = x and
A6: [x,y] in E;
A7: y in rng E by A6,XTUPLE_0:def 13;
  y in {y} by TARSKI:def 1;
  hence thesis by A5,A6,A7,RELAT_1:131;
end;
end;

definition
let X,Y be set, E be Subset of [:X,Y:], x be set;
redefine func X-section(E,x) -> Subset of Y equals  :: redefines X-section (MEASUR11, synonym) → Im (RELAT_1, definition)
 {y where y is Element of Y: [x,y] in E};
coherence
proof
  Im(E,x) = E.:{x};
  hence thesis;
end;
compatibility by Lm1;
end;

definition
let X,Y be set, E be Subset of [:X,Y:], y be set;
redefine func Y-section(E,y) -> Subset of X equals  :: redefines Y-section (MEASUR11, synonym) → Coim (RELAT_1, definition)
 {x where x is Element of X: [x,y] in E};
coherence
proof
  Coim(E,y) = E"{y};
  hence thesis;
end;
compatibility by Lm2;
end;

theorem Th14:
for X,Y,p be set, E1,E2 be Subset of [:X,Y:]
  st E1 c= E2 holds X-section(E1,p) c= X-section(E2,p) by RELAT_1:124;

theorem Th15:
for X,Y,p be set, E1,E2 be Subset of [:X,Y:]
  st E1 c= E2 holds Y-section(E1,p) c= Y-section(E2,p) by RELAT_1:144;

theorem Th16:
for X,Y be non empty set, A be Subset of X, B be Subset of Y, p be set
 holds
   (p in A implies X-section([:A,B:],p) = B)
 & (not p in A implies X-section([:A,B:],p) = {})
 & (p in B implies Y-section([:A,B:],p) = A)
 & (not p in B implies Y-section([:A,B:],p) = {})
proof
   let X,Y be non empty set, A be Subset of X, B be Subset of Y, p be set;
   set E = [:A,B:];
   thus p in A implies X-section([:A,B:],p) = B by RELAT_1:168;
   hereby assume A5: not p in A;
    now let y be set;
     assume y in X-section([:A,B:],p); then
     ex y1 be Element of Y st y = y1 & [p,y1] in E;
     hence contradiction by A5,ZFMISC_1:87;
    end; then
    X-section([:A,B:],p) is empty;
    hence X-section([:A,B:],p) = {};
   end;
   hereby assume A4: p in B;
    now let x be set;
     assume x in Y-section([:A,B:],p); then
     ex x1 be Element of X st x = x1 & [x1,p] in E;
     hence x in A by ZFMISC_1:87;
    end; then
A5: Y-section([:A,B:],p) c= A;
    now let x be set;
     assume A6: x in A; then
     [x,p] in [:A,B:] by A4,ZFMISC_1:87;
     hence x in Y-section([:A,B:],p) by A6;
    end; then
    A c= Y-section([:A,B:],p);
    hence Y-section([:A,B:],p) = A by A5;
   end;
   assume A7: not p in B;
    now let x be set;
     assume x in Y-section([:A,B:],p); then
     ex x1 be Element of X st x = x1 & [x1,p] in E;
     hence contradiction by A7,ZFMISC_1:87;
    end; then
    Y-section([:A,B:],p) is empty;
    hence Y-section([:A,B:],p) = {};
end;

theorem Th17:
for X,Y be non empty set, E be Subset of [:X,Y:], p be set holds
  ( not p in X implies X-section(E,p) = {} )
& ( not p in Y implies Y-section(E,p) = {} )
proof
   let X,Y be non empty set, E be Subset of [:X,Y:], p be set;
   hereby assume A1: not p in X;
    now let y be set;
     assume y in X-section(E,p); then
     ex y1 be Element of Y st y = y1 & [p,y1] in E;
     hence contradiction by A1,ZFMISC_1:87;
    end; then
    X-section(E,p) is empty;
    hence X-section(E,p) = {};
   end;
   assume A7: not p in Y;
   now let y be set;
    assume y in Y-section(E,p); then
    ex y1 be Element of X st y = y1 & [y1,p] in E;
    hence contradiction by A7,ZFMISC_1:87;
   end; then
   Y-section(E,p) is empty;
   hence Y-section(E,p) = {};
end;

theorem
for X,Y be non empty set, p be set holds
   X-section({}[:X,Y:],p) = {} & Y-section({}[:X,Y:],p) = {}
& ( p in X implies X-section([#][:X,Y:],p) = Y )
& ( p in Y implies Y-section([#][:X,Y:],p) = X )
proof
   let X,Y be non empty set, p be set;
   thus X-section({}[:X,Y:],p) = {};
   thus Y-section({}[:X,Y:],p) = {};
A3: [#]X = X & [#]Y = Y by SUBSET_1:def 3; then
A4: [#][:X,Y:] = [:[#]X,[#]Y:] by SUBSET_1:def 3;
   hence p in X implies X-section([#][:X,Y:],p) = Y by A3,Th16;
   thus thesis by A3,A4,Th16;
end;

theorem Th19:
for X,Y be non empty set, E be Subset of [:X,Y:], p be set holds
  ( p in X implies X-section([:X,Y:] \ E,p) = Y \ X-section(E,p) )
& ( p in Y implies Y-section([:X,Y:] \ E,p) = X \ Y-section(E,p) )
proof
   let X,Y be non empty set, E be Subset of [:X,Y:], p be set;
   hereby assume A1: p in X;
    now let y be set;
     assume A2: y in X-section([:X,Y:] \ E,p); then
A3:   ex y1 be Element of Y st y = y1 & [p,y1] in [:X,Y:] \ E;
     now assume y in X-section(E,p); then
      ex y2 be Element of Y st y = y2 & [p,y2] in E;
      hence contradiction by A3,XBOOLE_0:def 5;
     end;
     hence y in Y \ X-section(E,p) by A2,XBOOLE_0:def 5;
    end; then
A4: X-section([:X,Y:] \ E,p) c= Y \ X-section(E,p);
    now let y be set;
     assume A5: y in Y \ X-section(E,p); then
     y in Y & not y in X-section(E,p) by XBOOLE_0:def 5; then
A6:  not [p,y] in E;
     [p,y] in [:X,Y:] by A1,A5,ZFMISC_1:def 2; then
     [p,y] in [:X,Y:] \ E by A6,XBOOLE_0:def 5;
     hence y in X-section([:X,Y:] \ E,p) by A5;
    end; then
    Y \ X-section(E,p) c= X-section([:X,Y:] \ E,p);
    hence X-section([:X,Y:] \ E,p) = Y \ X-section(E,p) by A4;
   end;
   assume A7: p in Y;
   now let y be set;
    assume A8: y in Y-section([:X,Y:] \ E,p); then
A9:  ex y1 be Element of X st y = y1 & [y1,p] in [:X,Y:] \ E;
    now assume y in Y-section(E,p); then
     ex y2 be Element of X st y = y2 & [y2,p] in E;
     hence contradiction by A9,XBOOLE_0:def 5;
    end;
    hence y in X \ Y-section(E,p) by A8,XBOOLE_0:def 5;
   end; then
A10:Y-section([:X,Y:] \ E,p) c= X \ Y-section(E,p);
   now let y be set;
    assume A11: y in X \ Y-section(E,p); then
    y in X & not y in Y-section(E,p) by XBOOLE_0:def 5; then
A12:not [y,p] in E;
    [y,p] in [:X,Y:] by A7,A11,ZFMISC_1:def 2; then
    [y,p] in [:X,Y:] \ E by A12,XBOOLE_0:def 5;
    hence y in Y-section([:X,Y:] \ E,p) by A11;
   end; then
   X \ Y-section(E,p) c= Y-section([:X,Y:] \ E,p);
   hence Y-section([:X,Y:] \ E,p) = X \ Y-section(E,p) by A10;
end;

theorem Th20:
for X,Y be non empty set, E1,E2 be Subset of [:X,Y:], p be set holds
  X-section(E1\/E2,p) = X-section(E1,p) \/ X-section(E2,p)
& Y-section(E1\/E2,p) = Y-section(E1,p) \/ Y-section(E2,p)
proof
   let X,Y be non empty set, E1,E2 be Subset of [:X,Y:], p be set;
   now let q be set;
    assume q in X-section(E1\/E2,p); then
    consider y1 be Element of Y such that
A2:  q = y1 & [p,y1] in E1 \/ E2;
    [p,y1] in E1 or [p,y1] in E2 by A2,XBOOLE_0:def 3; then
    q in X-section(E1,p) or q in X-section(E2,p) by A2;
    hence q in X-section(E1,p) \/ X-section(E2,p) by XBOOLE_0:def 3;
   end; then
A3: X-section(E1\/E2,p) c= X-section(E1,p) \/ X-section(E2,p);
   now let q be set;
    assume A4: q in X-section(E1,p) \/ X-section(E2,p);
    per cases by A4,XBOOLE_0:def 3;
    suppose q in X-section(E1,p); then
     consider y1 be Element of Y such that
A5:   q = y1 & [p,y1] in E1;
     [p,y1] in E1 \/ E2 by A5,XBOOLE_0:def 3;
     hence q in X-section(E1\/E2,p) by A5;
    end;
    suppose q in X-section(E2,p); then
     consider y1 be Element of Y such that
A6:   q = y1 & [p,y1] in E2;
     [p,y1] in E1 \/ E2 by A6,XBOOLE_0:def 3;
     hence q in X-section(E1\/E2,p) by A6;
    end;
   end; then
   X-section(E1,p) \/ X-section(E2,p) c= X-section(E1\/E2,p);
   hence X-section(E1\/E2,p) = X-section(E1,p) \/ X-section(E2,p) by A3;
   now let q be set;
    assume q in Y-section(E1\/E2,p); then
    consider x1 be Element of X such that
A2:  q = x1 & [x1,p] in E1 \/ E2;
    [x1,p] in E1 or [x1,p] in E2 by A2,XBOOLE_0:def 3; then
    q in Y-section(E1,p) or q in Y-section(E2,p) by A2;
    hence q in Y-section(E1,p) \/ Y-section(E2,p) by XBOOLE_0:def 3;
   end; then
A3: Y-section(E1\/E2,p) c= Y-section(E1,p) \/ Y-section(E2,p);
   now let q be set;
    assume A4: q in Y-section(E1,p) \/ Y-section(E2,p);
    per cases by A4,XBOOLE_0:def 3;
    suppose q in Y-section(E1,p); then
     consider x1 be Element of X such that
A5:   q = x1 & [x1,p] in E1;
     [x1,p] in E1 \/ E2 by A5,XBOOLE_0:def 3;
     hence q in Y-section(E1\/E2,p) by A5;
    end;
    suppose q in Y-section(E2,p); then
     consider x1 be Element of X such that
A6:   q = x1 & [x1,p] in E2;
     [x1,p] in E1 \/ E2 by A6,XBOOLE_0:def 3;
     hence q in Y-section(E1\/E2,p) by A6;
    end;
   end; then
   Y-section(E1,p) \/ Y-section(E2,p) c= Y-section(E1\/E2,p);
   hence Y-section(E1\/E2,p) = Y-section(E1,p) \/ Y-section(E2,p) by A3;
end;

theorem Th21:
for X,Y be non empty set, E1,E2 be Subset of [:X,Y:], p be set holds
  X-section(E1/\E2,p) = X-section(E1,p) /\ X-section(E2,p)
& Y-section(E1/\E2,p) = Y-section(E1,p) /\ Y-section(E2,p)
proof
   let X,Y be non empty set, E1,E2 be Subset of [:X,Y:], p be set;
   now let q be set;
    assume q in X-section(E1/\E2,p); then
    consider y1 be Element of Y such that
A2:  q = y1 & [p,y1] in E1 /\ E2;
    [p,y1] in E1 & [p,y1] in E2 by A2,XBOOLE_0:def 4; then
    q in X-section(E1,p) & q in X-section(E2,p) by A2;
    hence q in X-section(E1,p) /\ X-section(E2,p) by XBOOLE_0:def 4;
   end; then
A3: X-section(E1/\E2,p) c= X-section(E1,p) /\ X-section(E2,p);
   now let q be set;
    assume q in X-section(E1,p) /\ X-section(E2,p); then
A4: q in X-section(E1,p) & q in X-section(E2,p) by XBOOLE_0:def 4; then
    consider y1 be Element of Y such that
A5:  q = y1 & [p,y1] in E1;
    consider y2 be Element of Y such that
A6:  q = y2 & [p,y2] in E2 by A4;
    [p,q] in E1 /\ E2 by A5,A6,XBOOLE_0:def 4;
    hence q in X-section(E1/\E2,p) by A5;
   end; then
   X-section(E1,p) /\ X-section(E2,p) c= X-section(E1/\E2,p);
   hence X-section(E1/\E2,p) = X-section(E1,p) /\ X-section(E2,p) by A3;
   now let q be set;
    assume q in Y-section(E1/\E2,p); then
    consider x1 be Element of X such that
A2:  q = x1 & [x1,p] in E1 /\ E2;
    [x1,p] in E1 & [x1,p] in E2 by A2,XBOOLE_0:def 4; then
    q in Y-section(E1,p) & q in Y-section(E2,p) by A2;
    hence q in Y-section(E1,p) /\ Y-section(E2,p) by XBOOLE_0:def 4;
   end; then
A3: Y-section(E1/\E2,p) c= Y-section(E1,p) /\ Y-section(E2,p);
   now let q be set;
    assume q in Y-section(E1,p) /\ Y-section(E2,p); then
A4: q in Y-section(E1,p) & q in Y-section(E2,p) by XBOOLE_0:def 4; then
    consider x1 be Element of X such that
A5:  q = x1 & [x1,p] in E1;
    consider x2 be Element of X such that
A6:  q = x2 & [x2,p] in E2 by A4;
    [x1,p] in E1 /\ E2 by A5,A6,XBOOLE_0:def 4;
    hence q in Y-section(E1/\E2,p) by A5;
   end; then
   Y-section(E1,p) /\ Y-section(E2,p) c= Y-section(E1/\E2,p);
   hence Y-section(E1/\E2,p) = Y-section(E1,p) /\ Y-section(E2,p) by A3;
end;

theorem Th22:
for X be set, Y be non empty set, F be FinSequence of bool [:X,Y:],
 Fy be FinSequence of bool Y, p be set st
  dom F = dom Fy
& ( for n be Nat st n in dom Fy holds Fy.n = X-section(F.n,p) )
 holds X-section(union rng F,p) = union rng Fy
proof
   let X be set, Y be non empty set, F be FinSequence of bool [:X,Y:],
   Fy be FinSequence of bool Y, p be set;
   assume that
A1: dom F = dom Fy and
A2: for n be Nat st n in dom Fy holds Fy.n = X-section(F.n,p);
   now let q be set;
    assume q in X-section(union rng F,p); then
    consider q1 be Element of Y such that
A3:  q = q1 & [p,q1] in union rng F;
    consider T be set such that
A4:  [p,q1] in T & T in rng F by A3,TARSKI:def 4;
    consider m be Element of NAT such that
A5:  m in dom F & T = F.m by A4,PARTFUN1:3;
    Fy.m = X-section(F.m,p) by A1,A2,A5; then
    q in Fy.m & Fy.m in rng Fy by A1,A3,A4,A5,FUNCT_1:3;
    hence q in union rng Fy by TARSKI:def 4;
   end; then
A6:X-section(union rng F,p) c= union rng Fy;
   now let q be set;
    assume q in union rng Fy; then
    consider T be set such that
A7:  q in T & T in rng Fy by TARSKI:def 4;
    consider m be Element of NAT such that
A8:  m in dom Fy & T = Fy.m by A7,PARTFUN1:3;
    q in X-section(F.m,p) by A2,A7,A8; then
    consider q1 be Element of Y such that
A9:  q = q1 & [p,q1] in F.m;
    F.m in rng F by A1,A8,FUNCT_1:3; then
    [p,q1] in union rng F by A9,TARSKI:def 4;
    hence q in X-section(union rng F,p) by A9;
   end; then
   union rng Fy c= X-section(union rng F,p);
   hence X-section(union rng F,p) = union rng Fy by A6;
end;

theorem Th23:
for X be non empty set, Y be set, F be FinSequence of bool [:X,Y:],
 Fx be FinSequence of bool X, p be set st
  dom F = dom Fx
& ( for n be Nat st n in dom Fx holds Fx.n = Y-section(F.n,p) )
 holds Y-section(union rng F,p) = union rng Fx
proof
   let X be non empty set, Y be set, F be FinSequence of bool [:X,Y:],
   Fx be FinSequence of bool X, p be set;
   assume that
A1: dom F = dom Fx and
A2: for n be Nat st n in dom Fx holds Fx.n = Y-section(F.n,p);
   now let q be set;
    assume q in Y-section(union rng F,p); then
    consider q1 be Element of X such that
A3:  q = q1 & [q1,p] in union rng F;
    consider T be set such that
A4:  [q1,p] in T & T in rng F by A3,TARSKI:def 4;
    consider m be Element of NAT such that
A5:  m in dom F & T = F.m by A4,PARTFUN1:3;
    Fx.m = Y-section(F.m,p) by A1,A2,A5; then
    q in Fx.m & Fx.m in rng Fx by A1,A3,A4,A5,FUNCT_1:3;
    hence q in union rng Fx by TARSKI:def 4;
   end; then
A6:Y-section(union rng F,p) c= union rng Fx;
   now let q be set;
    assume q in union rng Fx; then
    consider T be set such that
A7:  q in T & T in rng Fx by TARSKI:def 4;
    consider m be Element of NAT such that
A8:  m in dom Fx & T = Fx.m by A7,PARTFUN1:3;
    q in Y-section(F.m,p) by A2,A7,A8; then
    consider q1 be Element of X such that
A9:  q = q1 & [q1,p] in F.m;
    F.m in rng F by A1,A8,FUNCT_1:3; then
    [q1,p] in union rng F by A9,TARSKI:def 4;
    hence q in Y-section(union rng F,p) by A9;
   end; then
   union rng Fx c= Y-section(union rng F,p);
   hence Y-section(union rng F,p) = union rng Fx by A6;
end;

theorem Th24:
for X be set, Y be non empty set, p be set, F be SetSequence of [:X,Y:],
 Fy be SetSequence of Y st
  ( for n be Nat holds Fy.n = X-section(F.n,p) )
 holds X-section(union rng F,p) = union rng Fy
proof
   let X be set, Y be non empty set, p be set, F be SetSequence of [:X,Y:],
    Fy be SetSequence of Y;
   assume A2: for n be Nat holds Fy.n = X-section(F.n,p);
   now let q be set;
    assume q in X-section(union rng F,p); then
    consider y1 be Element of Y such that
A3:  q = y1 & [p,y1] in union rng F;
    consider T be set such that
A4:  [p,y1] in T & T in rng F by A3,TARSKI:def 4;
    consider m be Element of NAT such that
A5:  T = F.m by A4,FUNCT_2:113;
    Fy.m = X-section(F.m,p) by A2; then
    q in Fy.m & Fy.m in rng Fy by A3,A4,A5,FUNCT_2:112;
    hence q in union rng Fy by TARSKI:def 4;
   end; then
A7:X-section(union rng F,p) c= union rng Fy;
   now let q be set;
    assume q in union rng Fy; then
    consider T be set such that
A8:  q in T & T in rng Fy by TARSKI:def 4;
    consider m be Element of NAT such that
A9:  T = Fy.m by A8,FUNCT_2:113;
    q in X-section(F.m,p) by A2,A8,A9; then
    consider y1 be Element of Y such that
A10: q = y1 & [p,y1] in F.m;
    F.m in rng F by FUNCT_2:112; then
    [p,y1] in union rng F by A10,TARSKI:def 4;
    hence q in X-section(union rng F,p) by A10;
   end; then
   union rng Fy c= X-section(union rng F,p);
   hence X-section(union rng F,p) = union rng Fy by A7;
end;

theorem Th25:
for X be set, Y be non empty set, p be set, F be SetSequence of [:X,Y:],
 Fy be SetSequence of Y st
  ( for n be Nat holds Fy.n = X-section(F.n,p) )
 holds X-section(meet rng F,p) = meet rng Fy
proof
   let X be set, Y be non empty set, p be set, F be SetSequence of [:X,Y:],
    Fy be SetSequence of Y;
   assume A2: for n be Nat holds Fy.n = X-section(F.n,p);
   now let q be set;
    assume q in X-section(meet rng F,p); then
    consider y1 be Element of Y such that
A3:  q = y1 & [p,y1] in meet rng F;
    for T be set st T in rng Fy holds q in T
    proof
     let T be set;
     assume T in rng Fy; then
     consider n be object such that
B1:   n in dom Fy & T = Fy.n by FUNCT_1:def 3;
     reconsider n as Element of NAT by B1;
     dom F = NAT by FUNCT_2:def 1; then
     F.n in rng F by FUNCT_1:3; then
     [p,q] in F.n by A3,SETFAM_1:def 1; then
     q in X-section(F.n,p) by A3;
     hence q in T by B1,A2;
    end;
    hence q in meet rng Fy by SETFAM_1:def 1;
   end; then
A7:X-section(meet rng F,p) c= meet rng Fy;
   now let q be set;
    assume B0: q in meet rng Fy;
    now let T be set;
     assume T in rng F; then
     consider n be object such that
B2:   n in dom F & T = F.n by FUNCT_1:def 3;
     reconsider n as Nat by B2;
     dom Fy = NAT by FUNCT_2:def 1; then
     Fy.n in rng Fy by B2,FUNCT_1:3; then
     q in Fy.n by B0,SETFAM_1:def 1; then
     q in X-section(F.n,p) by A2; then
     ex y be Element of Y st q = y & [p,y] in F.n;
     hence [p,q] in T by B2;
    end; then
    [p,q] in meet rng F by SETFAM_1:def 1;
    hence q in X-section(meet rng F,p) by B0;
   end; then
   meet rng Fy c= X-section(meet rng F,p);
   hence X-section(meet rng F,p) = meet rng Fy by A7;
end;

theorem Th26:
for X be non empty set, Y be set, p be set, F be SetSequence of [:X,Y:],
 Fx be SetSequence of X st
  ( for n be Nat holds Fx.n = Y-section(F.n,p) )
 holds Y-section(union rng F,p) = union rng Fx
proof
   let X be non empty set, Y be set, p be set, F be SetSequence of [:X,Y:],
    Fx be SetSequence of X;
   assume A2: for n be Nat holds Fx.n = Y-section(F.n,p);
   now let q be set;
    assume q in Y-section(union rng F,p); then
    consider x1 be Element of X such that
A3:  q = x1 & [x1,p] in union rng F;
    consider T be set such that
A4:  [x1,p] in T & T in rng F by A3,TARSKI:def 4;
    consider m be Element of NAT such that
A5:  T = F.m by A4,FUNCT_2:113;
    Fx.m = Y-section(F.m,p) by A2; then
    q in Fx.m & Fx.m in rng Fx by A3,A4,A5,FUNCT_2:112;
    hence q in union rng Fx by TARSKI:def 4;
   end; then
A7:Y-section(union rng F,p) c= union rng Fx;
   now let q be set;
    assume q in union rng Fx; then
    consider T be set such that
A8:  q in T & T in rng Fx by TARSKI:def 4;
    consider m be Element of NAT such that
A9:  T = Fx.m by A8,FUNCT_2:113;
    q in Y-section(F.m,p) by A2,A8,A9; then
    consider x1 be Element of X such that
A10: q = x1 & [x1,p] in F.m;
    F.m in rng F by FUNCT_2:112; then
    [x1,p] in union rng F by A10,TARSKI:def 4;
    hence q in Y-section(union rng F,p) by A10;
   end; then
   union rng Fx c= Y-section(union rng F,p);
   hence Y-section(union rng F,p) = union rng Fx by A7;
end;

theorem Th27:
for X be non empty set, Y be set, p be set, F be SetSequence of [:X,Y:],
 Fx be SetSequence of X st
  ( for n be Nat holds Fx.n = Y-section(F.n,p) )
 holds Y-section(meet rng F,p) = meet rng Fx
proof
   let X be non empty set, Y be set, p be set, F be SetSequence of [:X,Y:],
    Fx be SetSequence of X;
   assume A2: for n be Nat holds Fx.n = Y-section(F.n,p);
   now let q be set;
    assume q in Y-section(meet rng F,p); then
    consider y1 be Element of X such that
A3:  q = y1 & [y1,p] in meet rng F;
    for T be set st T in rng Fx holds q in T
    proof
     let T be set;
     assume T in rng Fx; then
     consider n be object such that
B1:   n in dom Fx & T = Fx.n by FUNCT_1:def 3;
     reconsider n as Element of NAT by B1;
     dom F = NAT by FUNCT_2:def 1; then
     F.n in rng F by FUNCT_1:3; then
     [q,p] in F.n by A3,SETFAM_1:def 1; then
     q in Y-section(F.n,p) by A3;
     hence q in T by B1,A2;
    end;
    hence q in meet rng Fx by SETFAM_1:def 1;
   end; then
A7:Y-section(meet rng F,p) c= meet rng Fx;
   now let q be set;
    assume B0: q in meet rng Fx;
    now let T be set;
     assume T in rng F; then
     consider n be object such that
B2:   n in dom F & T = F.n by FUNCT_1:def 3;
     reconsider n as Nat by B2;
     dom Fx = NAT by FUNCT_2:def 1; then
     Fx.n in rng Fx by B2,FUNCT_1:3; then
     q in Fx.n by B0,SETFAM_1:def 1; then
     q in Y-section(F.n,p) by A2; then
     ex y be Element of X st q = y & [y,p] in F.n;
     hence [q,p] in T by B2;
    end; then
    [q,p] in meet rng F by SETFAM_1:def 1;
    hence q in Y-section(meet rng F,p) by B0;
   end; then
   meet rng Fx c= Y-section(meet rng F,p);
   hence Y-section(meet rng F,p) = meet rng Fx by A7;
end;

theorem Th28:
for X,Y be non empty set, x,y be set, E be Subset of [:X,Y:]
 holds chi(E,[:X,Y:]).(x,y) = chi(X-section(E,x),Y).y &
       chi(E,[:X,Y:]).(x,y) = chi(Y-section(E,y),X).x
proof
   let X,Y be non empty set, x,y be set, E be Subset of [:X,Y:];
   set z = [x,y];
   per cases;
   suppose A1: [x,y] in E; then
    consider x1,y1 be object such that
A2:  x1 in X & y1 in Y & [x,y] = [x1,y1] by ZFMISC_1:84;
    x = x1 & y = y1 by A2,XTUPLE_0:1; then
A3: y in X-section(E,x) & x in Y-section(E,y) by A1,A2;
    chi(E,[:X,Y:]).z = 1 by A1,RFUNCT_1:63;
    hence chi(E,[:X,Y:]).(x,y) = chi(X-section(E,x),Y).y &
          chi(E,[:X,Y:]).(x,y) = chi(Y-section(E,y),X).x by A3,RFUNCT_1:63;
   end;
   suppose A4: not [x,y] in E;
A5: chi(E,[:X,Y:]).(x,y) = 0
    proof
     per cases;
     suppose [x,y] in [:X,Y:];
      hence chi(E,[:X,Y:]).(x,y) = 0 by A4,FUNCT_3:def 3;
     end;
     suppose not [x,y] in [:X,Y:]; then
      not [x,y] in dom (chi(E,[:X,Y:]));
      hence chi(E,[:X,Y:]).(x,y) = 0 by FUNCT_1:def 2;
     end;
    end;
A6: now assume y in X-section(E,x); then
     ex y1 be Element of Y st y = y1 & [x,y1] in E;
     hence contradiction by A4;
    end;
A7: chi(X-section(E,x),Y).y = 0
    proof
     per cases;
     suppose y in Y;
      hence thesis by A6,FUNCT_3:def 3;
     end;
     suppose not y in Y; then
      not y in dom (chi(X-section(E,x),Y));
      hence thesis by FUNCT_1:def 2;
     end;
    end;
A8: now assume x in Y-section(E,y); then
     ex x1 be Element of X st x = x1 & [x1,y] in E;
     hence contradiction by A4;
    end;
    chi(Y-section(E,y),X).x = 0
    proof
     per cases;
     suppose x in X;
      hence thesis by A8,FUNCT_3:def 3;
     end;
     suppose not x in X; then
      not x in dom (chi(Y-section(E,y),X));
      hence thesis by FUNCT_1:def 2;
     end;
    end;
    hence chi(E,[:X,Y:]).(x,y) = chi(X-section(E,x),Y).y &
         chi(E,[:X,Y:]).(x,y) = chi(Y-section(E,y),X).x by A5,A7;
   end;
end;

theorem Th29:
for X,Y be non empty set, E1,E2 be Subset of [:X,Y:], p be set
 st E1 misses E2
 holds X-section(E1,p) misses X-section(E2,p)
   & Y-section(E1,p) misses Y-section(E2,p)
proof
   let X,Y be non empty set, E1,E2 be Subset of [:X,Y:], p be set;
   assume A1: E1 misses E2;
   now let q be set;
    assume q in X-section(E1,p) /\ X-section(E2,p); then
A2: q in X-section(E1,p) & q in X-section(E2,p) by XBOOLE_0:def 4; then
A3: ex y1 be Element of Y st q = y1 & [p,y1] in E1;
    ex y2 be Element of Y st q = y2 & [p,y2] in E2 by A2;
    hence contradiction by A1,A3,XBOOLE_0:def 4;
   end; then
   X-section(E1,p) /\ X-section(E2,p) is empty;
   hence X-section(E1,p) misses X-section(E2,p);
   now let q be set;
    assume q in Y-section(E1,p) /\ Y-section(E2,p); then
A4: q in Y-section(E1,p) & q in Y-section(E2,p) by XBOOLE_0:def 4; then
A5: ex x1 be Element of X st q = x1 & [x1,p] in E1;
    ex x2 be Element of X st q = x2 & [x2,p] in E2 by A4;
    hence contradiction by A1,A5,XBOOLE_0:def 4;
   end; then
   Y-section(E1,p) /\ Y-section(E2,p) is empty;
   hence Y-section(E1,p) misses Y-section(E2,p);
end;

theorem
for X,Y be non empty set, F be disjoint_valued FinSequence of bool [:X,Y:],
 p be set holds
  ( ex Fy be disjoint_valued FinSequence of bool X st
     ( dom F = dom Fy
     & for n be Nat st n in dom Fy holds Fy.n = Y-section(F.n,p) ) )
&
  ( ex Fx be disjoint_valued FinSequence of bool Y st
     ( dom F = dom Fx
     & for n be Nat st n in dom Fx holds Fx.n = X-section(F.n,p) ) )
proof
   let X,Y be non empty set, F be disjoint_valued
   FinSequence of bool [:X,Y:];
   let p be set;
   deffunc f1(Nat) = Y-section(F.$1,p);
   deffunc f2(Nat) = X-section(F.$1,p);
   thus ex Fy be disjoint_valued FinSequence of bool X st
     ( dom F = dom Fy
     & for n be Nat st n in dom Fy holds Fy.n = Y-section(F.n,p) )
   proof
    consider Fy be FinSequence of bool X such that
A3:  len Fy = len F &
     (for j being Nat st j in dom Fy holds Fy.j = f1(j))
       from FINSEQ_2:sch 1;
    reconsider Fy as FinSequence of bool X;
    now let n,m be object;
     assume n <> m; then
A4:  F.n misses F.m by PROB_2:def 2;
     per cases;
     suppose A5: n in dom Fy & m in dom Fy; then
      reconsider n1=n, m1=m as Nat;
      Fy.n = Y-section(F.n1,p) & Fy.m = Y-section(F.m1,p) by A3,A5;
      hence Fy.n misses Fy.m by A4,Th29;
     end;
     suppose not n in dom Fy or not m in dom Fy; then
      Fy.n = {} or Fy.m = {} by FUNCT_1:def 2;
      hence Fy.n misses Fy.m;
     end;
    end; then
    reconsider Fy as disjoint_valued FinSequence of bool X by PROB_2:def 2;
    take Fy;
    thus dom F = dom Fy
     & for n be Nat st n in dom Fy holds Fy.n = Y-section(F.n,p)
       by A3,FINSEQ_3:29;
   end;
   thus ex Fx be disjoint_valued FinSequence of bool Y st
     ( dom F = dom Fx
     & for n be Nat st n in dom Fx holds Fx.n = X-section(F.n,p) )
   proof
    consider Fx be FinSequence of bool Y such that
A3:  len Fx = len F &
     (for j being Nat st j in dom Fx holds Fx.j = f2(j))
       from FINSEQ_2:sch 1;
    reconsider Fx as FinSequence of bool Y;
    now let n,m be object;
     assume n <> m; then
A4:  F.n misses F.m by PROB_2:def 2;
     per cases;
     suppose A5: n in dom Fx & m in dom Fx; then
      reconsider n1=n, m1=m as Nat;
      Fx.n = X-section(F.n1,p) & Fx.m = X-section(F.m1,p) by A3,A5;
      hence Fx.n misses Fx.m by A4,Th29;
     end;
     suppose not n in dom Fx or not m in dom Fx; then
      Fx.n = {} or Fx.m = {} by FUNCT_1:def 2;
      hence Fx.n misses Fx.m;
     end;
    end; then
    reconsider Fx as disjoint_valued FinSequence of bool Y by PROB_2:def 2;
    take Fx;
    thus dom F = dom Fx
     & for n be Nat st n in dom Fx holds Fx.n = X-section(F.n,p)
       by A3,FINSEQ_3:29;
   end;
end;

theorem
for X,Y be non empty set, F be disjoint_valued SetSequence of [:X,Y:],
  p be set holds
  ( ex Fy be disjoint_valued SetSequence of X st
     (for n be Nat holds Fy.n = Y-section(F.n,p)) )
& ( ex Fx be disjoint_valued SetSequence of Y st
     (for n be Nat holds Fx.n = X-section(F.n,p)) )
proof
   let X,Y be non empty set, F be disjoint_valued SetSequence of [:X,Y:],
    p be set;
   thus ex Fy be disjoint_valued SetSequence of X st
     (for n be Nat holds Fy.n = Y-section(F.n,p))
   proof
    deffunc f(Nat) = Y-section(F.$1,p);
    consider Fy be SetSequence of X such that
A1:  for n be Element of NAT holds Fy.n = f(n) from FUNCT_2:sch 4;
    now let n,m be Nat;
A2:  n is Element of NAT & m is Element of NAT by ORDINAL1:def 12;
     assume n <> m; then
     F.n misses F.m by PROB_3:def 4; then
     Y-section(F.n,p) misses Y-section(F.m,p) by Th29; then
     Fy.n misses Y-section(F.m,p) by A1,A2;
     hence Fy.n misses Fy.m by A1,A2;
    end; then
    reconsider Fy as disjoint_valued SetSequence of X by PROB_3:def 4;
    take Fy;
    let n be Nat;
    n is Element of NAT by ORDINAL1:def 12;
    hence Fy.n = Y-section(F.n,p) by A1;
   end;
    deffunc f(Nat) = X-section(F.$1,p);
    consider Fx be SetSequence of Y such that
A3:  for n be Element of NAT holds Fx.n = f(n) from FUNCT_2:sch 4;
    now let n,m be Nat;
A4:  n is Element of NAT & m is Element of NAT by ORDINAL1:def 12;
     assume n <> m; then
     F.n misses F.m by PROB_3:def 4; then
     X-section(F.n,p) misses X-section(F.m,p) by Th29; then
     Fx.n misses X-section(F.m,p) by A3,A4;
     hence Fx.n misses Fx.m by A3,A4;
    end; then
    reconsider Fx as disjoint_valued SetSequence of Y by PROB_3:def 4;
    take Fx;
    let n be Nat;
     n is Element of NAT by ORDINAL1:def 12;
     hence Fx.n = X-section(F.n,p) by A3;
end;

theorem
for X,Y be non empty set, x,y be set, E1,E2 be Subset of [:X,Y:]
 st E1 misses E2 holds
   chi(E1 \/ E2,[:X,Y:]).(x,y)
     = chi(X-section(E1,x),Y).y + chi(X-section(E2,x),Y).y
 & chi(E1 \/ E2,[:X,Y:]).(x,y)
     = chi(Y-section(E1,y),X).x + chi(Y-section(E2,y),X).x
proof
   let X,Y be non empty set, x,y be set, E1,E2 be Subset of [:X,Y:];
   assume E1 misses E2; then
A1:X-section(E1,x) misses X-section(E2,x)
 & Y-section(E1,y) misses Y-section(E2,y) by Th29;
A2:chi(E1 \/ E2,[:X,Y:]).(x,y) = chi(X-section(E1 \/ E2,x),Y).y by Th28
    .= chi(X-section(E1,x) \/ X-section(E2,x),Y).y by Th20;
   thus chi(E1 \/ E2,[:X,Y:]).(x,y)
         = chi(X-section(E1,x),Y).y + chi(X-section(E2,x),Y).y
   proof
    per cases;
    suppose B1: not y in Y;
     dom( chi(X-section(E1,x) \/ X-section(E2,x),Y) ) = Y
   & dom( chi(X-section(E1,x),Y) ) = Y
   & dom( chi(X-section(E2,x),Y) ) = Y by FUNCT_3:def 3; then
     chi(E1 \/ E2,[:X,Y:]).(x,y) = 0 &
     chi(X-section(E1,x),Y).y = 0 & chi(X-section(E2,x),Y).y = 0
      by A2,B1,FUNCT_1:def 2;
     hence thesis;
    end;
    suppose A3: y in Y & y in X-section(E1,x) \/ X-section(E2,x); then
A4:  chi(E1 \/ E2,[:X,Y:]).(x,y) = 1 by A2,FUNCT_3:def 3;
     per cases by A1,A3,XBOOLE_0:5;
     suppose y in X-section(E1,x) & not y in X-section(E2,x); then
      chi(X-section(E1,x),Y).y = 1 & chi(X-section(E2,x),Y).y = 0
        by FUNCT_3:def 3;
      hence thesis by A4,XXREAL_3:4;
     end;
     suppose not y in X-section(E1,x) & y in X-section(E2,x); then
      chi(X-section(E1,x),Y).y = 0 & chi(X-section(E2,x),Y).y = 1
        by FUNCT_3:def 3;
      hence thesis by A4,XXREAL_3:4;
     end;
    end;
    suppose A5: y in Y & not y in X-section(E1,x) \/ X-section(E2,x); then
A6:  chi(E1 \/ E2,[:X,Y:]).(x,y) = 0 by A2,FUNCT_3:def 3;
     not y in X-section(E1,x) & not y in X-section(E2,x)
       by A5,XBOOLE_0:def 3; then
     chi(X-section(E1,x),Y).y = 0 & chi(X-section(E2,x),Y).y = 0
       by A5,FUNCT_3:def 3;
     hence thesis by A6;
    end;
   end;
C2:chi(E1 \/ E2,[:X,Y:]).(x,y) = chi(Y-section(E1 \/ E2,y),X).x by Th28
    .= chi(Y-section(E1,y) \/ Y-section(E2,y),X).x by Th20;
    per cases;
    suppose B1: not x in X;
     dom( chi(Y-section(E1,y) \/ Y-section(E2,y),X) ) = X
   & dom( chi(Y-section(E1,y),X) ) = X
   & dom( chi(Y-section(E2,y),X) ) = X by FUNCT_3:def 3; then
     chi(E1 \/ E2,[:X,Y:]).(x,y) = 0 &
     chi(Y-section(E1,y),X).x = 0 & chi(Y-section(E2,y),X).x = 0
      by C2,B1,FUNCT_1:def 2;
     hence thesis;
    end;
    suppose C3: x in X & x in Y-section(E1,y) \/ Y-section(E2,y); then
C4:  chi(E1 \/ E2,[:X,Y:]).(x,y) = 1 by C2,FUNCT_3:def 3;
     per cases by A1,C3,XBOOLE_0:5;
     suppose x in Y-section(E1,y) & not x in Y-section(E2,y); then
      chi(Y-section(E1,y),X).x = 1 & chi(Y-section(E2,y),X).x = 0
        by FUNCT_3:def 3;
      hence thesis by C4,XXREAL_3:4;
     end;
     suppose not x in Y-section(E1,y) & x in Y-section(E2,y); then
      chi(Y-section(E1,y),X).x = 0 & chi(Y-section(E2,y),X).x = 1
        by FUNCT_3:def 3;
      hence thesis by C4,XXREAL_3:4;
     end;
    end;
    suppose C5: x in X & not x in Y-section(E1,y) \/ Y-section(E2,y); then
C6:  chi(E1 \/ E2,[:X,Y:]).(x,y) = 0 by C2,FUNCT_3:def 3;
     not x in Y-section(E1,y) & not x in Y-section(E2,y)
       by C5,XBOOLE_0:def 3; then
     chi(Y-section(E1,y),X).x = 0 & chi(Y-section(E2,y),X).x = 0
       by C5,FUNCT_3:def 3;
     hence thesis by C6;
   end;
end;

theorem Th33:
for X be set, Y be non empty set, x be set, E be SetSequence of [:X,Y:],
 G be SetSequence of Y
 st E is non-descending & (for n be Nat holds G.n = X-section(E.n,x))
 holds G is non-descending
proof
   let X be set, Y be non empty set, x be set, E be SetSequence of [:X,Y:],
   G be SetSequence of Y;
   assume that
A1: E is non-descending and
A2: for n be Nat holds G.n = X-section(E.n,x);
   for n be Nat holds G.n c= G.(n+1)
   proof
    let n be Nat;
    X-section(E.n,x) c= X-section(E.(n+1),x) by Th14,A1,KURATO_0:def 4; then
    G.n c= X-section(E.(n+1),x) by A2;
    hence G.n c= G.(n+1) by A2;
   end;
   hence G is non-descending by KURATO_0:def 4;
end;

theorem Th34:
for X be non empty set, Y be set, x be set, E be SetSequence of [:X,Y:],
 G be SetSequence of X
 st E is non-descending & (for n be Nat holds G.n = Y-section(E.n,x))
 holds G is non-descending
proof
   let X be non empty set, Y be set, x be set, E be SetSequence of [:X,Y:],
   G be SetSequence of X;
   assume that
A1: E is non-descending and
A2: for n be Nat holds G.n = Y-section(E.n,x);
   for n be Nat holds G.n c= G.(n+1)
   proof
    let n be Nat;
    Y-section(E.n,x) c= Y-section(E.(n+1),x) by Th15,A1,KURATO_0:def 4; then
    G.n c= Y-section(E.(n+1),x) by A2;
    hence G.n c= G.(n+1) by A2;
   end;
   hence G is non-descending by KURATO_0:def 4;
end;

theorem Th35:
for X be set, Y be non empty set, x be set, E be SetSequence of [:X,Y:],
 G be SetSequence of Y
 st E is non-ascending & (for n be Nat holds G.n = X-section(E.n,x))
 holds G is non-ascending
proof
   let X be set, Y be non empty set, x be set, E be SetSequence of [:X,Y:],
   G be SetSequence of Y;
   assume that
A1: E is non-ascending and
A2: for n be Nat holds G.n = X-section(E.n,x);
   for n be Nat holds G.(n+1) c= G.n
   proof
    let n be Nat;
    X-section(E.(n+1),x) c= X-section(E.n,x) by Th14,A1,KURATO_0:def 3; then
    G.(n+1) c= X-section(E.n,x) by A2;
    hence G.(n+1) c= G.n by A2;
   end;
   hence G is non-ascending by KURATO_0:def 3;
end;

theorem Th36:
for X be non empty set, Y be set, x be set, E be SetSequence of [:X,Y:],
 G be SetSequence of X
 st E is non-ascending & (for n be Nat holds G.n = Y-section(E.n,x))
 holds G is non-ascending
proof
   let X be non empty set, Y be set, x be set, E be SetSequence of [:X,Y:],
   G be SetSequence of X;
   assume that
A1: E is non-ascending and
A2: for n be Nat holds G.n = Y-section(E.n,x);
   for n be Nat holds G.(n+1) c= G.n
   proof
    let n be Nat;
    Y-section(E.(n+1),x) c= Y-section(E.n,x) by Th15,A1,KURATO_0:def 3; then
    G.(n+1) c= Y-section(E.n,x) by A2;
    hence G.(n+1) c= G.n by A2;
   end;
   hence G is non-ascending by KURATO_0:def 3;
end;

theorem Th37:
for X be set, Y be non empty set, E be SetSequence of [:X,Y:], x be set
  st E is non-descending
 ex G be SetSequence of Y st G is non-descending
   & (for n be Nat holds G.n = X-section(E.n,x))
proof
   let X be set, Y be non empty set, E be SetSequence of [:X,Y:], x be set;
   assume A1: E is non-descending;
   deffunc F(Nat) = X-section(E.$1,x);
   consider G be Function of NAT,bool Y such that
A2: for n be Element of NAT holds G.n = F(n) from FUNCT_2:sch 4;
   reconsider G as SetSequence of Y;
A3:for n be Nat holds G.n = X-section(E.n,x)
   proof
    let n be Nat;
    n is Element of NAT by ORDINAL1:def 12;
    hence G.n = X-section(E.n,x) by A2;
   end;
   take G;
   thus G is non-descending by A1,A3,Th33;
   thus thesis by A3;
end;

theorem Th38:
for X be non empty set, Y be set, E be SetSequence of [:X,Y:], x be set
  st E is non-descending
 ex G be SetSequence of X st G is non-descending
   & (for n be Nat holds G.n = Y-section(E.n,x))
proof
   let X be non empty set, Y be set, E be SetSequence of [:X,Y:], x be set;
   assume A1: E is non-descending;
   deffunc F(Nat) = Y-section(E.$1,x);
   consider G be Function of NAT,bool X such that
A2: for n be Element of NAT holds G.n = F(n) from FUNCT_2:sch 4;
   reconsider G as SetSequence of X;
A3:for n be Nat holds G.n = Y-section(E.n,x)
   proof
    let n be Nat;
    n is Element of NAT by ORDINAL1:def 12;
    hence G.n = Y-section(E.n,x) by A2;
   end;
   take G;
   thus G is non-descending by A1,A3,Th34;
   thus thesis by A3;
end;

theorem Th39:
for X be set, Y be non empty set, E be SetSequence of [:X,Y:], x be set
  st E is non-ascending
 ex G be SetSequence of Y st G is non-ascending
   & (for n be Nat holds G.n = X-section(E.n,x))
proof
   let X be set, Y be non empty set, E be SetSequence of [:X,Y:], x be set;
   assume A1: E is non-ascending;
   deffunc F(Nat) = X-section(E.$1,x);
   consider G be Function of NAT,bool Y such that
A2: for n be Element of NAT holds G.n = F(n) from FUNCT_2:sch 4;
   reconsider G as SetSequence of Y;
A3:for n be Nat holds G.n = X-section(E.n,x)
   proof
    let n be Nat;
    n is Element of NAT by ORDINAL1:def 12;
    hence G.n = X-section(E.n,x) by A2;
   end;
   take G;
   thus G is non-ascending by A1,A3,Th35;
   thus thesis by A3;
end;

theorem Th40:
for X be non empty set, Y be set, E be SetSequence of [:X,Y:], x be set
  st E is non-ascending
 ex G be SetSequence of X st G is non-ascending
   & (for n be Nat holds G.n = Y-section(E.n,x))
proof
   let X be non empty set, Y be set, E be SetSequence of [:X,Y:], x be set;
   assume A1: E is non-ascending;
   deffunc F(Nat) = Y-section(E.$1,x);
   consider G be Function of NAT,bool X such that
A2: for n be Element of NAT holds G.n = F(n) from FUNCT_2:sch 4;
   reconsider G as SetSequence of X;
A3:for n be Nat holds G.n = Y-section(E.n,x)
   proof
    let n be Nat;
    n is Element of NAT by ORDINAL1:def 12;
    hence G.n = Y-section(E.n,x) by A2;
   end;
   take G;
   thus G is non-ascending by A1,A3,Th36;
   thus thesis by A3;
end;

begin :: Measurable sections

theorem Th42:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
 E be Element of sigma(measurable_rectangles(S1,S2)), K be set st
  K = {C where C is Subset of [:X1,X2:] :
          for p be set holds X-section(C,p) in S2}
holds Field_generated_by measurable_rectangles(S1,S2) c= K
  & K is SigmaField of [:X1,X2:]
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
       E be Element of sigma(measurable_rectangles(S1,S2)), K be set;
   assume AS: K = {C where C is Subset of [:X1,X2:] :
                for x be set holds X-section(C,x) in S2};
A1:now let C1,C2 be set;
    assume A2: C1 in K & C2 in K; then
    consider SC1 be Subset of [:X1,X2:] such that
A3:  C1 = SC1 & for x be set holds X-section(SC1,x) in S2 by AS;
    consider SC2 be Subset of [:X1,X2:] such that
A4:  C2 = SC2 & for x be set holds X-section(SC2,x) in S2 by AS,A2;
    now let x be set;
A5:  X-section(SC1,x) in S2 & X-section(SC2,x) in S2 by A3,A4;
     X-section(SC1 \/ SC2,x) = X-section(SC1,x) \/ X-section(SC2,x) by Th20;
     hence X-section(SC1\/SC2,x) in S2 by A5,PROB_1:3;
    end;
    hence C1 \/ C2 in K by AS,A3,A4;
   end; then
A6:K is cup-closed by FINSUB_1:def 1;
   for x be set holds X-section({}[:X1,X2:],x) in S2 by MEASURE1:7;
   then
A7:{} in K by AS;
   now let C be set;
    assume C in DisUnion measurable_rectangles(S1,S2); then
    C in {A where A is Subset of [:X1,X2:] :
           ex F be disjoint_valued FinSequence of measurable_rectangles(S1,S2)
             st A = Union F} by SRINGS_3:def 3; then
    consider C1 be Subset of [:X1,X2:] such that
A8:  C = C1
   & ex F be disjoint_valued FinSequence of measurable_rectangles(S1,S2)
       st C1 = Union F;
    consider F be disjoint_valued FinSequence of measurable_rectangles(S1,S2)
     such that
A9:  C1 = Union F by A8;
    for n be Nat st n in dom F holds F.n in K
    proof
     let n be Nat;
     assume n in dom F; then
     F.n in measurable_rectangles(S1,S2) by PARTFUN1:4; then
     F.n in the set of all [:A,B:] where A is Element of S1, B is Element of S2
      by MEASUR10:def 5; then
     consider A be Element of S1, B be Element of S2 such that
A10:  F.n = [:A,B:];
     now let x be set;
       X-section([:A,B:],x) = B or X-section([:A,B:],x) = {} by Th16;
       hence X-section([:A,B:],x) in S2 by MEASURE1:7;
     end;
     hence F.n in K by AS,A10;
    end;
    hence C in K by A1,A7,A8,A9,Th41,FINSUB_1:def 1;
   end; then
   DisUnion measurable_rectangles(S1,S2) c= K;
   hence Field_generated_by measurable_rectangles(S1,S2) c= K by SRINGS_3:22;
   now let A be set;
    assume A in K; then
    ex A1 be Subset of [:X1,X2:] st
     A = A1 & for x be set holds X-section(A1,x) in S2 by AS;
    hence A in bool [:X1,X2:];
   end; then
   K c= bool [:X1,X2:]; then
   reconsider K as Subset-Family of [:X1,X2:];
   for C be Subset of [:X1,X2:] st C in K holds C` in K
   proof
    let C be Subset of [:X1,X2:];
    assume C in K; then
    consider C1 be Subset of [:X1,X2:] such that
A11: C = C1 & for x be set holds X-section(C1,x) in S2 by AS;
    now let x be set;
     per cases;
     suppose A12: x in X1;
A13:  X-section(C1,x) in S2 by A11;
      X2 in S2 by PROB_1:5; then
      X2 \ X-section(C1,x) in S2 by A13,PROB_1:6;
      hence X-section([:X1,X2:] \ C1,x) in S2 by A12,Th19;
     end;
     suppose not x in X1; then
      X-section([:X1,X2:] \ C1,x) = {} by Th17;
      hence X-section([:X1,X2:] \ C1,x) in S2 by MEASURE1:7;
     end;
    end; then
    [:X1,X2:] \ C in K by AS,A11;
    hence C` in K by SUBSET_1:def 4;
   end; then
   K is compl-closed by PROB_1:def 1; then
   reconsider K as Field_Subset of [:X1,X2:] by A7,A6;
   now let M be N_Sub_set_fam of [:X1,X2:];
    assume A15: M c= K;
    consider E be SetSequence of [:X1,X2:] such that
A16:  rng E = M by SUPINF_2:def 8;
    now let x be set;
     defpred P[Nat,object] means
       $2 = {y where y is Element of X2: [x,y] in E.$1};
A18: for n be Element of NAT ex d be Element of bool X2 st P[n,d]
     proof
      let n be Element of NAT;
      set d = {y where y is Element of X2: [x,y] in E.n};
      now let y be set;
       assume y in d; then
       ex y1 be Element of X2 st y = y1 & [x,y1] in E.n;
       hence y in X2;
      end; then
      d c= X2; then
      reconsider d as Element of bool X2;
      take d;
      thus P[n,d];
     end;
     consider D be Function of NAT,bool X2 such that
A19:  for n being Element of NAT holds P[n,D.n] from FUNCT_2:sch 3(A18);
     reconsider D as SetSequence of X2;
A20: for n be Nat holds D.n = X-section(E.n,x)
     proof
      let n be Nat;
      n is Element of NAT by ORDINAL1:def 12;
      hence thesis by A19;
     end;
A21: dom D = NAT by FUNCT_2:def 1;
     now let D0 be set;
      assume D0 in rng D; then
      consider n0 be Element of NAT such that
A22:   D0 = D.n0 by FUNCT_2:113;
A23:  D0 = X-section(E.n0,x) by A20,A22;
      E.n0 in K by A15,A16,FUNCT_2:112; then
      ex C0 be Subset of [:X1,X2:] st
       E.n0 = C0 & for x be set holds X-section(C0,x) in S2 by AS;
      hence D0 in S2 by A23;
     end; then
     rng D c= S2; then
     D is sequence of S2 by A21,FUNCT_2:2; then
A24: union rng D is Element of S2 by MEASURE1:24;
     X-section(union rng E,x) = union rng D by A20,Th24;
     hence X-section(union rng E,x) in S2 by A24;
    end;
    hence union M in K by AS,A16;
   end; then
   K is sigma-additive by MEASURE1:def 5;
   hence thesis;
end;

theorem Th43:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
 E be Element of sigma(measurable_rectangles(S1,S2)), K be set st
  K = {C where C is Subset of [:X1,X2:] :
          for p be set holds Y-section(C,p) in S1}
holds Field_generated_by measurable_rectangles(S1,S2) c= K
  & K is SigmaField of [:X1,X2:]
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
       E be Element of sigma(measurable_rectangles(S1,S2)), K be set;
   assume AS: K = {C where C is Subset of [:X1,X2:] :
                for p be set holds Y-section(C,p) in S1};
A1:now let C1,C2 be set;
    assume A2: C1 in K & C2 in K; then
    consider SC1 be Subset of [:X1,X2:] such that
A3:  C1 = SC1 & for x be set holds Y-section(SC1,x) in S1 by AS;
    consider SC2 be Subset of [:X1,X2:] such that
A4:  C2 = SC2 & for x be set holds Y-section(SC2,x) in S1 by AS,A2;
    now let x be set;
A5:  Y-section(SC1,x) in S1 & Y-section(SC2,x) in S1 by A3,A4;
     Y-section(SC1 \/ SC2,x) = Y-section(SC1,x) \/ Y-section(SC2,x) by Th20;
     hence Y-section(SC1\/SC2,x) in S1 by A5,PROB_1:3;
    end;
    hence C1 \/ C2 in K by AS,A3,A4;
   end; then
A6:K is cup-closed by FINSUB_1:def 1;
   for y be set holds Y-section({}[:X1,X2:],y) in S1 by MEASURE1:7;
   then
A7:{} in K by AS;
   now let C be set;
    assume C in DisUnion measurable_rectangles(S1,S2); then
    C in {A where A is Subset of [:X1,X2:] :
           ex F be disjoint_valued FinSequence of measurable_rectangles(S1,S2)
             st A = Union F} by SRINGS_3:def 3; then
    consider C1 be Subset of [:X1,X2:] such that
A8:  C = C1
   & ex F be disjoint_valued FinSequence of measurable_rectangles(S1,S2)
       st C1 = Union F;
    consider F be disjoint_valued FinSequence of measurable_rectangles(S1,S2)
     such that
A9:  C1 = Union F by A8;
    for n be Nat st n in dom F holds F.n in K
    proof
     let n be Nat;
     assume n in dom F; then
     F.n in measurable_rectangles(S1,S2) by PARTFUN1:4; then
     F.n in the set of all [:A,B:] where A is Element of S1, B is Element of S2
      by MEASUR10:def 5; then
     consider A be Element of S1, B be Element of S2 such that
A10:  F.n = [:A,B:];
     now let x be set;
       Y-section([:A,B:],x) = A or Y-section([:A,B:],x) = {} by Th16;
       hence Y-section([:A,B:],x) in S1 by MEASURE1:7;
     end;
     hence F.n in K by AS,A10;
    end;
    hence C in K by A1,A7,A8,A9,Th41,FINSUB_1:def 1;
   end; then
   DisUnion measurable_rectangles(S1,S2) c= K;
   hence Field_generated_by measurable_rectangles(S1,S2) c= K by SRINGS_3:22;
   now let A be set;
    assume A in K; then
    ex A1 be Subset of [:X1,X2:] st
     A = A1 & for x be set holds Y-section(A1,x) in S1 by AS;
    hence A in bool [:X1,X2:];
   end; then
   K c= bool [:X1,X2:]; then
   reconsider K as Subset-Family of [:X1,X2:];
   for C be Subset of [:X1,X2:] st C in K holds C` in K
   proof
    let C be Subset of [:X1,X2:];
    assume C in K; then
    consider C1 be Subset of [:X1,X2:] such that
A11: C = C1 & for x be set holds Y-section(C1,x) in S1 by AS;
    now let x be set;
     per cases;
     suppose A12: x in X2;
A13:  Y-section(C1,x) in S1 by A11;
      X1 in S1 by PROB_1:5; then
      X1 \ Y-section(C1,x) in S1 by A13,PROB_1:6;
      hence Y-section([:X1,X2:] \ C1,x) in S1 by A12,Th19;
     end;
     suppose not x in X2; then
      Y-section([:X1,X2:] \ C1,x) = {} by Th17;
      hence Y-section([:X1,X2:] \ C1,x) in S1 by MEASURE1:7;
     end;
    end; then
    [:X1,X2:] \ C in K by AS,A11;
    hence C` in K by SUBSET_1:def 4;
   end; then
A14:K is compl-closed by PROB_1:def 1;
   for p be set holds Y-section({}[:X1,X2:],p) in S1 by SETFAM_1:def 8;
   then
   {} in {C where C is Subset of [:X1,X2:]:
            for p be set holds Y-section(C,p) in S1}; then
   reconsider K as Field_Subset of [:X1,X2:] by A14,AS,A6;
   now let M be N_Sub_set_fam of [:X1,X2:];
    assume A15: M c= K;
    consider E be SetSequence of [:X1,X2:] such that
A16:  rng E = M by SUPINF_2:def 8;
    now let x be set;
     defpred P[Nat,object] means
       $2 = {y where y is Element of X1: [y,x] in E.$1};
A18: for n be Element of NAT ex d be Element of bool X1 st P[n,d]
     proof
      let n be Element of NAT;
      set d = {y where y is Element of X1: [y,x] in E.n};
      now let y be set;
       assume y in d; then
       ex y1 be Element of X1 st y = y1 & [y1,x] in E.n;
       hence y in X1;
      end; then
      d c= X1; then
      reconsider d as Element of bool X1;
      take d;
      thus P[n,d];
     end;
     consider D be Function of NAT,bool X1 such that
A19:  for n being Element of NAT holds P[n,D.n] from FUNCT_2:sch 3(A18);
     reconsider D as SetSequence of X1;
A20: for n be Nat holds D.n = Y-section(E.n,x)
     proof
      let n be Nat;
      n is Element of NAT by ORDINAL1:def 12;
      hence thesis by A19;
     end;
A21: dom D = NAT by FUNCT_2:def 1;
     now let D0 be set;
      assume D0 in rng D; then
      consider n0 be Element of NAT such that
A22:   D0 = D.n0 by FUNCT_2:113;
A23:  D0 = Y-section(E.n0,x) by A20,A22;
      E.n0 in K by A15,A16,FUNCT_2:112; then
      ex C0 be Subset of [:X1,X2:] st
       E.n0 = C0 & for x be set holds Y-section(C0,x) in S1 by AS;
      hence D0 in S1 by A23;
     end; then
     rng D c= S1; then
     D is sequence of S1 by A21,FUNCT_2:2; then
A24: union rng D is Element of S1 by MEASURE1:24;
     Y-section(union rng E,x) = union rng D by A20,Th26;
     hence Y-section(union rng E,x) in S1 by A24;
    end;
    hence union M in K by AS,A16;
   end; then
   K is sigma-additive by MEASURE1:def 5;
   hence thesis;
end;

theorem Th44:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
 E be Element of sigma(measurable_rectangles(S1,S2)) holds
  ( for p be set holds X-section(E,p) in S2 )
& ( for p be set holds Y-section(E,p) in S1 )
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
       E be Element of sigma(measurable_rectangles(S1,S2));
   set K = {C where C is Subset of [:X1,X2:] :
             for x be set holds X-section(C,x) in S2};
   reconsider K as SigmaField of [:X1,X2:] by Th42;
A1:measurable_rectangles(S1,S2)
     c= Field_generated_by measurable_rectangles(S1,S2)
 & Field_generated_by measurable_rectangles(S1,S2) c= K
     by Th42,SRINGS_3:21; then
   measurable_rectangles(S1,S2) c= K; then
   sigma(measurable_rectangles(S1,S2)) c= K by PROB_1:def 9; then
   E in K; then
   ex C be Subset of [:X1,X2:] st
    E = C & for x be set holds X-section(C,x) in S2;
   hence for x be set holds X-section(E,x) in S2;
   set K2 = {C where C is Subset of [:X1,X2:] :
             for x be set holds Y-section(C,x) in S1};
   reconsider K2 as SigmaField of [:X1,X2:] by Th43;
   Field_generated_by measurable_rectangles(S1,S2) c= K2 by Th43; then
   measurable_rectangles(S1,S2) c= K2 by A1; then
   sigma(measurable_rectangles(S1,S2)) c= K2 by PROB_1:def 9; then
   E in K2; then
   ex C be Subset of [:X1,X2:] st
    E = C & for x be set holds Y-section(C,x) in S1;
   hence for x be set holds Y-section(E,x) in S1;
end;

definition
  let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
      E be Element of sigma(measurable_rectangles(S1,S2)), x be set;
  func Measurable-X-section(E,x) -> Element of S2 equals
    X-section(E,x);
  correctness by Th44;
end;

definition
  let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
      E be Element of sigma(measurable_rectangles(S1,S2)), y be set;
  func Measurable-Y-section(E,y) -> Element of S1 equals
    Y-section(E,y);
  correctness by Th44;
end;

theorem
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
 F be FinSequence of sigma measurable_rectangles(S1,S2),
 Fy be FinSequence of S2, p be set st
  dom F = dom Fy
& ( for n be Nat st n in dom Fy holds Fy.n = Measurable-X-section(F.n,p) )
  holds Measurable-X-section(Union F,p) = Union Fy
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
   F be FinSequence of sigma measurable_rectangles(S1,S2),
   Fy be FinSequence of S2, p be set;
   assume that
A1: dom F = dom Fy and
A2: for n be Nat st n in dom Fy holds Fy.n = Measurable-X-section(F.n,p);
A3:union rng F = Union F by CARD_3:def 4;
   reconsider F1 = F as FinSequence of bool [:X1,X2:] by FINSEQ_2:24;
   reconsider F1y = Fy as FinSequence of bool X2 by FINSEQ_2:24;
   for n be Nat st n in dom F1y holds F1y.n = X-section(F1.n,p)
   proof
    let n be Nat;
    assume n in dom F1y; then
    Fy.n = Measurable-X-section(F.n,p) by A2;
    hence thesis;
   end; then
   X-section(union rng F1,p) = union rng F1y by A1,Th22;
   hence thesis by A3,CARD_3:def 4;
end;

theorem
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
 F be FinSequence of sigma measurable_rectangles(S1,S2),
 Fx be FinSequence of S1, p be set st
  dom F = dom Fx
& ( for n be Nat st n in dom Fx holds Fx.n = Measurable-Y-section(F.n,p) )
  holds Measurable-Y-section(Union F,p) = Union Fx
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
   F be FinSequence of sigma measurable_rectangles(S1,S2),
   Fx be FinSequence of S1, p be set;
   assume that
A1: dom F = dom Fx and
A2: for n be Nat st n in dom Fx holds Fx.n = Measurable-Y-section(F.n,p);
A3:union rng F = Union F by CARD_3:def 4;
   reconsider F1 = F as FinSequence of bool [:X1,X2:] by FINSEQ_2:24;
   reconsider F1x = Fx as FinSequence of bool X1 by FINSEQ_2:24;
   for n be Nat st n in dom F1x holds F1x.n = Y-section(F1.n,p)
   proof
    let n be Nat;
    assume n in dom F1x; then
    Fx.n = Measurable-Y-section(F.n,p) by A2;
    hence thesis;
   end; then
   Y-section(union rng F1,p) = union rng F1x by A1,Th23;
   hence thesis by A3,CARD_3:def 4;
end;

theorem Th47:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
 M2 be sigma_Measure of S2,
 A be Element of S1, B be Element of S2, x be Element of X1 holds
  M2.B * chi(A,X1).x = Integral(M2,ProjMap1(chi([:A,B:],[:X1,X2:]),x))
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1,
   S2 be SigmaField of X2,
   M2 be sigma_Measure of S2,
   A be Element of S1, B be Element of S2, x be Element of X1;
A1:for y be Element of X2 holds
    ProjMap1(chi([:A,B:],[:X1,X2:]),x).y = chi(A,X1).x * chi(B,X2).y
   proof
    let y be Element of X2;
    ProjMap1(chi([:A,B:],[:X1,X2:]),x).y = chi([:A,B:],[:X1,X2:]).(x,y)
      by MESFUNC9:def 6;
    hence thesis by MEASUR10:2;
   end;
   set CAB = chi([:A,B:],[:X1,X2:]);
   per cases;
   suppose x in A; then
A2: chi(A,X1).x = 1 by FUNCT_3:def 3; then
A3: M2.B * chi(A,X1).x = M2.B by XXREAL_3:81;
A4: dom (ProjMap1(chi([:A,B:],[:X1,X2:]),x)) = X2 by FUNCT_2:def 1
       .= dom chi(B,X2) by FUNCT_3:def 3;
    for y be Element of X2 st y in dom(ProjMap1(CAB,x)) holds
      ProjMap1(CAB,x).y = chi(B,X2).y
    proof
     let y be Element of X2;
     assume y in dom(ProjMap1(CAB,x));
     ProjMap1(CAB,x).y = chi(A,X1).x * chi(B,X2).y by A1;
     hence ProjMap1(CAB,x).y = chi(B,X2).y by A2,XXREAL_3:81;
    end; then
    ProjMap1(CAB,x) = chi(B,X2) by A4,PARTFUN1:5;
    hence M2.B * chi(A,X1).x = Integral(M2,ProjMap1(CAB,x))
       by A3,MESFUNC9:14;
   end;
   suppose not x in A; then
A5: chi(A,X1).x = 0 by FUNCT_3:def 3; then
A6: M2.B * chi(A,X1).x = 0;
A7: {} is Element of S2 by PROB_1:4;
A8: dom(ProjMap1(CAB,x)) = X2 by FUNCT_2:def 1
       .= dom chi({},X2) by FUNCT_3:def 3;
    for y be Element of X2 st y in dom(ProjMap1(CAB,x)) holds
      ProjMap1(CAB,x).y = chi({},X2).y
    proof
     let y be Element of X2;
     assume y in dom(ProjMap1(CAB,x));
     ProjMap1(CAB,x).y = chi(A,X1).x * chi(B,X2).y by A1; then
     ProjMap1(CAB,x).y = 0 by A5;
     hence ProjMap1(CAB,x).y = chi({},X2).y by FUNCT_3:def 3;
    end; then
    ProjMap1(CAB,x) = chi({},X2) by A8,PARTFUN1:5; then
    Integral(M2,ProjMap1(CAB,x)) = M2.{} by A7,MESFUNC9:14;
    hence M2.B * chi(A,X1).x = Integral(M2,ProjMap1(CAB,x))
      by A6,VALUED_0:def 19;
   end;
end;

theorem Th48:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
  M2 be sigma_Measure of S2,
  E be Element of sigma(measurable_rectangles(S1,S2)),
  A be Element of S1, B be Element of S2, x be Element of X1
  st E = [:A,B:] holds M2.(Measurable-X-section(E,x)) = M2.B * chi(A,X1).x
proof
   let X1,X2 be non empty set,
       S1 be SigmaField of X1, S2 be SigmaField of X2,
       M2 be sigma_Measure of S2,
       E be Element of sigma(measurable_rectangles(S1,S2)),
       A be Element of S1, B be Element of S2, x be Element of X1;
   assume A1: E = [:A,B:];
   per cases;
   suppose A4: x in A; then
A2: M2.(Measurable-X-section(E,x)) = M2.B by A1,Th16;
    chi(A,X1).x = 1 by A4,FUNCT_3:def 3;
    hence M2.(Measurable-X-section(E,x)) = M2.B * chi(A,X1).x
      by A2,XXREAL_3:81;
   end;
   suppose A5: not x in A; then
    Measurable-X-section(E,x) = {} by A1,Th16; then
A3: M2.(Measurable-X-section(E,x)) = 0 by VALUED_0:def 19;
    chi(A,X1).x = 0 by A5,FUNCT_3:def 3;
    hence M2.(Measurable-X-section(E,x)) = M2.B * chi(A,X1).x by A3;
   end;
end;

theorem Th49:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
 M1 be sigma_Measure of S1,
 A be Element of S1, B be Element of S2, y be Element of X2 holds
  M1.A * chi(B,X2).y = Integral(M1,ProjMap2(chi([:A,B:],[:X1,X2:]),y))
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1,
   S2 be SigmaField of X2,
   M1 be sigma_Measure of S1,
   A be Element of S1, B be Element of S2, y be Element of X2;
A1:for x be Element of X1 holds
    ProjMap2(chi([:A,B:],[:X1,X2:]),y).x = chi(A,X1).x * chi(B,X2).y
   proof
    let x be Element of X1;
    ProjMap2(chi([:A,B:],[:X1,X2:]),y).x = chi([:A,B:],[:X1,X2:]).(x,y)
      by MESFUNC9:def 7;
    hence thesis by MEASUR10:2;
   end;
   set CAB = chi([:A,B:],[:X1,X2:]);
   per cases;
   suppose y in B; then
A2: chi(B,X2).y = 1 by FUNCT_3:def 3; then
A3: M1.A * chi(B,X2).y = M1.A by XXREAL_3:81;
A4: dom (ProjMap2(chi([:A,B:],[:X1,X2:]),y)) = X1 by FUNCT_2:def 1
       .= dom chi(A,X1) by FUNCT_3:def 3;
    for x be Element of X1 st x in dom(ProjMap2(CAB,y)) holds
      ProjMap2(CAB,y).x = chi(A,X1).x
    proof
     let x be Element of X1;
     assume x in dom(ProjMap2(CAB,y));
     ProjMap2(CAB,y).x = chi(A,X1).x * chi(B,X2).y by A1;
     hence ProjMap2(CAB,y).x = chi(A,X1).x by A2,XXREAL_3:81;
    end; then
    ProjMap2(CAB,y) = chi(A,X1) by A4,PARTFUN1:5;
    hence M1.A * chi(B,X2).y = Integral(M1,ProjMap2(CAB,y))
       by A3,MESFUNC9:14;
   end;
   suppose not y in B; then
A5: chi(B,X2).y = 0 by FUNCT_3:def 3; then
A6: M1.A * chi(B,X2).y = 0;
A7: {} is Element of S1 by PROB_1:4;
A8: dom(ProjMap2(CAB,y)) = X1 by FUNCT_2:def 1
       .= dom chi({},X1) by FUNCT_3:def 3;
    for x be Element of X1 st x in dom(ProjMap2(CAB,y)) holds
      ProjMap2(CAB,y).x = chi({},X1).x
    proof
     let x be Element of X1;
     assume x in dom(ProjMap2(CAB,y));
     ProjMap2(CAB,y).x = chi(A,X1).x * chi(B,X2).y by A1; then
     ProjMap2(CAB,y).x = 0 by A5;
     hence ProjMap2(CAB,y).x = chi({},X1).x by FUNCT_3:def 3;
    end; then
    ProjMap2(CAB,y) = chi({},X1) by A8,PARTFUN1:5; then
    Integral(M1,ProjMap2(CAB,y)) = M1.{} by A7,MESFUNC9:14;
    hence M1.A * chi(B,X2).y = Integral(M1,ProjMap2(CAB,y))
      by A6,VALUED_0:def 19;
   end;
end;

theorem Th50:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
  M1 be sigma_Measure of S1,
  E be Element of sigma(measurable_rectangles(S1,S2)),
  A be Element of S1, B be Element of S2, y be Element of X2
  st E = [:A,B:] holds M1.(Measurable-Y-section(E,y)) = M1.A * chi(B,X2).y
proof
   let X1,X2 be non empty set,
       S1 be SigmaField of X1, S2 be SigmaField of X2,
       M1 be sigma_Measure of S1,
       E be Element of sigma(measurable_rectangles(S1,S2)),
       A be Element of S1, B be Element of S2,
       y be Element of X2;
   assume A1: E = [:A,B:];
   per cases;
   suppose A4: y in B; then
A2: M1.(Measurable-Y-section(E,y)) = M1.A by A1,Th16;
    chi(B,X2).y = 1 by A4,FUNCT_3:def 3;
    hence M1.(Measurable-Y-section(E,y)) = M1.A * chi(B,X2).y
      by A2,XXREAL_3:81;
   end;
   suppose A5: not y in B; then
    Measurable-Y-section(E,y) = {} by A1,Th16; then
A3: M1.(Measurable-Y-section(E,y)) = 0 by VALUED_0:def 19;
    chi(B,X2).y = 0 by A5,FUNCT_3:def 3;
    hence M1.(Measurable-Y-section(E,y)) = M1.A * chi(B,X2).y by A3;
   end;
end;

begin :: Finite sequence of functions

definition
  let X,Y be non empty set, G be FUNCTION_DOMAIN of X,Y,
      F be FinSequence of G, n be Nat;
  redefine func F/.n -> Element of G;  :: redefines /. (PARTFUN1, definition)
  correctness;
end;

definition
 let X be set;
 let F be FinSequence of Funcs(X,ExtREAL);
 attr F is without_+infty-valued means :DEF10:
 for n be Nat st n in dom F holds F.n is without+infty;
 attr F is without_-infty-valued means :DEF11:
  for n be Nat st n in dom F holds F.n is without-infty;
end;

theorem Th52:
for X be non empty set holds
 <* X --> 0 *> is FinSequence of Funcs(X,ExtREAL) &
 (for n be Nat st n in dom <* X --> 0 *>
    holds <* X --> 0 *>.n is without+infty) &
 (for n be Nat st n in dom <* X --> 0 *>
    holds <* X --> 0 *>.n is without-infty)
proof
   let X be non empty set;
   X --> 0 is Function of X,ExtREAL by XXREAL_0:def 1,FUNCOP_1:45; then
   reconsider f = X --> 0 as Element of Funcs(X,ExtREAL) by FUNCT_2:8;
   <* f *> is FinSequence of Funcs(X,ExtREAL);
   hence <* X --> 0 *> is FinSequence of Funcs(X,ExtREAL);
   hereby let n be Nat;
    assume n in dom <* X --> 0 *>; then
    n in Seg 1 by FINSEQ_1:38; then
    n = 1 by FINSEQ_1:2,TARSKI:def 1; then
A1: <* X--> 0 *>.n = X --> 0;
    not +infty in rng(X --> 0);
    hence <* X --> 0 *>.n is without+infty by A1,MESFUNC5:def 4;
   end;
    let n be Nat;
    assume n in dom <* X --> 0 *>; then
    n in Seg 1 by FINSEQ_1:38; then
    n = 1 by FINSEQ_1:2,TARSKI:def 1; then
A2: <* X--> 0 *>.n = X --> 0;
    not -infty in rng(X --> 0);
    hence <* X --> 0 *>.n is without-infty by A2,MESFUNC5:def 3;
end;

registration
 let X be non empty set;
 cluster without_+infty-valued without_-infty-valued
   for FinSequence of Funcs(X,ExtREAL);
 existence
 proof
    reconsider F = <* X --> 0 *> as FinSequence of Funcs(X,ExtREAL) by Th52;
    take F;
    thus thesis by Th52;
 end;
end;

theorem Th53:
for X be non empty set, F be without_+infty-valued FinSequence of
  Funcs(X,ExtREAL), n be Nat st n in dom F holds (F/.n)"{+infty} = {}
proof
   let X be non empty set, F be without_+infty-valued
   FinSequence of Funcs(X,ExtREAL), n be Nat;
   assume A1: n in dom F; then
   F.n is without+infty by DEF10; then
   not +infty in rng(F.n) by MESFUNC5:def 4; then
   not +infty in rng(F/.n) by A1,PARTFUN1:def 6;
   hence (F/.n)"{+infty} = {} by FUNCT_1:72;
end;

theorem Th54:
for X be non empty set, F be without_-infty-valued FinSequence of
  Funcs(X,ExtREAL), n be Nat st n in dom F holds (F/.n)"{-infty} = {}
proof
   let X be non empty set, F be without_-infty-valued
   FinSequence of Funcs(X,ExtREAL), n be Nat;
   assume A1: n in dom F; then
   F.n is without-infty by DEF11; then
   not -infty in rng(F.n) by MESFUNC5:def 3; then
   not -infty in rng(F/.n) by A1,PARTFUN1:def 6;
   hence (F/.n)"{-infty} = {} by FUNCT_1:72;
end;

theorem
for X be non empty set, F be FinSequence of Funcs(X,ExtREAL) st
 F is without_+infty-valued or F is without_-infty-valued holds
  for n,m be Nat st n in dom F & m in dom F holds dom(F/.n + F/.m) = X
proof
   let X be non empty set, F be FinSequence of Funcs(X,ExtREAL);
   assume A1: F is without_+infty-valued or F is without_-infty-valued;
   per cases by A1;
   suppose A2: F is without_+infty-valued;
     let n,m be Nat;
     assume n in dom F & m in dom F; then
     (F/.n)"{+infty} = {} & (F/.m)"{+infty} = {} by A2,Th53; then
A4:  (dom(F/.n) /\ dom(F/.m)) \ ((( (F/.n)"{-infty} /\ (F/.m)"{+infty} ) \/
           ( (F/.n)"{+infty} /\ (F/.m)"{-infty} ))) = dom(F/.n) /\ dom(F/.m);
     dom (F/.n) = X & dom (F/.m) = X by FUNCT_2:def 1;
     hence dom(F/.n + F/.m) = X by A4,MESFUNC1:def 3;
   end;
   suppose A5: F is without_-infty-valued;
    let n,m be Nat;
     assume n in dom F & m in dom F; then
     (F/.n)"{-infty} = {} & (F/.m)"{-infty} = {} by A5,Th54; then
A7:  (dom(F/.n) /\ dom(F/.m)) \ ((( (F/.n)"{-infty} /\ (F/.m)"{+infty} ) \/
           ( (F/.n)"{+infty} /\ (F/.m)"{-infty} ))) = dom(F/.n) /\ dom(F/.m);
     dom (F/.n) = X & dom (F/.m) = X by FUNCT_2:def 1;
     hence dom(F/.n + F/.m) = X by A7,MESFUNC1:def 3;
   end;
end;

definition
 let X be non empty set;
 let F be FinSequence of Funcs(X,ExtREAL);
 attr F is summable means :DEF12:
  F is without_+infty-valued or F is without_-infty-valued;
end;

registration
 let X be non empty set;
 cluster summable for FinSequence of Funcs(X,ExtREAL);
 existence
 proof
    reconsider F = <* X --> 0 *> as FinSequence of Funcs(X,ExtREAL) by Th52;
    take F;
    for n be Nat st n in dom F holds F.n is without+infty by Th52;
    hence F is summable by DEF10;
 end;
end;

definition
 let X be non empty set;
 let F be summable FinSequence of Funcs(X,ExtREAL);
 func Partial_Sums F -> FinSequence of Funcs(X,ExtREAL) means :DEF13:
  len F = len it & F.1 = it.1 &
  (for n be Nat st 1 <= n < len F holds it.(n+1) = (it/.n) + (F/.(n+1)));
existence
proof
   set G = Funcs(X,ExtREAL);
   per cases by DEF12;
   suppose a1: F is without_+infty-valued;
    per cases;
    suppose len F > 0; then
a2:  0 + 1 <= len F by NAT_1:13; then
a3:  1 in dom F by FINSEQ_3:25;
     now let n be Nat;
      assume n in dom <* F/.1 *>; then
      n in Seg 1 by FINSEQ_1:38; then
      n = 1 by FINSEQ_1:2,TARSKI:def 1; then
      <* F/.1 *>.n = F/.1; then
      <* F/.1 *>.n = F.1 by a3,PARTFUN1:def 6;
      hence <* F/.1 *>.n is without+infty by a1,a2,FINSEQ_3:25;
     end; then
     reconsider q = <* F/.1 *> as without_+infty-valued FinSequence of G
       by DEF10;
     F/.1 = F.1 by a2,FINSEQ_4:15; then
A3:  q.1 = F.1;
     defpred S1[Nat] means ($1 + 1 <= len F implies
      ex g be without_+infty-valued FinSequence of G st
      ($1+1 = len g & F.1 = g.1 & (for i be Nat st 1 <= i < $1+1 holds
       g.(i+1) = (g/.i) + (F/.(i+1)))));
A4:  for i be Nat st 1 <= i < 0+1 holds q.(i+1) = q/.i + F/.(i+1);
A5:  for k be Nat st S1[k] holds S1[k+1]
     proof
      let k be Nat;
      assume A6: S1[k];
      per cases;
      suppose A7: (k+1) + 1 <= len F;
       k+1 < (k+1)+1 by XREAL_1:29; then
       consider g be without_+infty-valued FinSequence of G such that
A8:     k+1 = len g and
A9:     F.1 = g.1 and
A10:    for i be Nat st 1 <= i & i < k+1 holds
         g.(i+1) = g/.i + F/.(i+1) by A6,A7,XXREAL_0:2;
A11:   1 <= (k+1)+1 by NAT_1:12; then
A12:   (F/.((k+1)+1))"{+infty} = {} by a1,A7,Th53,FINSEQ_3:25;
       1 <= k+1 by NAT_1:12; then
A13:   k+1 in dom g by A8,FINSEQ_3:25; then
       (g/.(k+1))"{+infty} = {} by Th53; then
       (dom(g/.(k+1)) /\ dom(F/.((k+1)+1))) \ ((
         ( (g/.(k+1))"{-infty} /\ (F/.((k+1)+1))"{+infty} ) \/
            ( (g/.(k+1))"{+infty} /\ (F/.((k+1)+1))"{-infty} )))
           = dom(g/.(k+1)) /\ dom(F/.((k+1)+1)) by A12; then
A14:   dom(g/.(k+1) + F/.((k+1)+1)) = dom(g/.(k+1)) /\ dom(F/.((k+1)+1))
         by MESFUNC1:def 3;
       dom(g/.(k+1)) = X & dom(F/.((k+1)+1)) = X by FUNCT_2:def 1; then
       g/.(k+1) + F/.((k+1)+1) is Function of X,ExtREAL
         by A14,FUNCT_2:def 1; then
       g/.(k+1) + F/.((k+1)+1) is Element of G by FUNCT_2:8; then
       <* g/.(k+1) + F/.((k+1)+1) *> is FinSequence of G by FINSEQ_1:74; then
       reconsider g2 = g^<* g/.(k+1) + F/.((k+1)+1) *> as FinSequence of G
         by FINSEQ_1:75;
       now let n be Nat;
        assume n in dom g2; then
A15:    1 <= n <= len g2 by FINSEQ_3:25; then
A16:    1 <= n <= len g + 1 by FINSEQ_2:16;
        per cases;
        suppose A17: n = len g + 1;
         len <* g/.(k+1) + F/.((k+1)+1) *> = 1 by FINSEQ_1:40; then
         1 in dom <* g/.(k+1) + F/.((k+1)+1) *> by FINSEQ_3:25; then
A18:     g2.n = <* g/.(k+1) + F/.((k+1)+1) *>.1 by A17,FINSEQ_1:def 7;
A19:     (k+1)+1 in dom F by A7,NAT_1:12,FINSEQ_3:25;
         g.(k+1) is without+infty & F.((k+1)+1) is without+infty
           by a1,A13,A11,A7,DEF10,FINSEQ_3:25; then
         reconsider p = g/.(k+1), q = F/.((k+1)+1) as without+infty Function
          of X,ExtREAL by A13,A19,PARTFUN1:def 6;
         p+q is without+infty Function of X,ExtREAL;
         hence g2.n is without+infty by A18;
        end;
        suppose n <> len g + 1; then
         n < len g + 1 by A16,XXREAL_0:1; then
         n <= len g by NAT_1:13; then
A20:     n in dom g by A15,FINSEQ_3:25; then
         g2.n = g.n by FINSEQ_1:def 7;
         hence g2.n is without+infty by A20,DEF10;
        end;
       end; then
       reconsider g2 as without_+infty-valued FinSequence of G by DEF10;
A21:   Seg len g = dom g by FINSEQ_1:def 3;
A22:   len g2=len g+ len (<* g/.(k+1)+(F/.(k+1+1)) *>) by FINSEQ_1:22
              .= k+1+1 by A8,FINSEQ_1:40;
A23:   for i being Nat st 1<=i < k+1+1 holds g2.(i+1)=(g2/.i)+(F/.(i+1))
       proof
        let i be Nat;
A28:     1<=i+1 by NAT_1:12;
        assume that
A24:     1<=i and
A25:     i< k+1+1;
A26:    i<=k+1 by A25,NAT_1:13;
        per cases by A26,XXREAL_0:1;
        suppose
A27:     i<k+1; then
         i+1<=k+1 by NAT_1:13;
         then i+1 in Seg len g by A8,A28; then
A29:     g2.(i+1)=g.(i+1) by A21,FINSEQ_1:def 7;
         i in Seg len g by A8,A24,A26; then
A30:     g2.i=g.i by A21,FINSEQ_1:def 7;
A31:     g/.i=g.i by A8,A24,A27,FINSEQ_4:15;
         g2/.i=g2.i by A22,A24,A25,FINSEQ_4:15;
         hence thesis by A10,A24,A27,A29,A30,A31;
        end;
        suppose
A32:     i=k+1;
A33:     g2/.i=g2.i by A22,A24,A25,FINSEQ_4:15;
         i in Seg len g by A8,A24,A26; then
A34:     g.i=g2.i by A21,FINSEQ_1:def 7;
         g/.i=g.i by A8,A24,A26,FINSEQ_4:15;
         hence thesis by A8,A32,A34,A33,FINSEQ_1:42;
        end;
       end;
       1<=k+1 by NAT_1:11;
       then 1 in Seg len g by A8;
       then g2.1=F.1 by A9,A21,FINSEQ_1:def 7;
       hence S1[k+1] by A22,A23;
      end;
      suppose (k+1) + 1 > len F;
       hence S1[k+1];
      end;
     end;
A35: len F-'1=len F -1 by a2,XREAL_1:233;
     len q=1 by FINSEQ_1:40; then
A36: S1[0] by A3,A4;
     for k being Nat holds S1[k] from NAT_1:sch 2(A36,A5); then
     ex IT be without_+infty-valued FinSequence of G st
      len F-'1 +1 = len IT & F.1 = IT.1 &
      for i be Nat st 1 <= i < len F-'1+1 holds
       IT.(i+1) = IT/.i + F/.(i+1) by A35;
     hence ex IT be FinSequence of G st
      len F = len IT & F.1 = IT.1 &
      (for n be Nat st 1 <= n < len F holds IT.(n+1) = (IT/.n) + (F/.(n+1)))
        by A35;
    end;
    suppose A37: len F <= 0;
     take F;
     thus len F = len F & F.1 = F.1;
     let n be Nat;
     thus 1 <= n & n < len F implies F.(n+1) = (F/.n) + (F/.(n+1)) by A37;
    end;
   end;
   suppose A38: F is without_-infty-valued;
    per cases;
    suppose A39: len F > 0; then
A40: 0 + 1 <= len F by NAT_1:13; then
A41: 1 in dom F by FINSEQ_3:25;
     now let n be Nat;
      assume n in dom <* F/.1 *>; then
      n in Seg 1 by FINSEQ_1:38; then
      n = 1 by FINSEQ_1:2,TARSKI:def 1; then
      <* F/.1 *>.n = F/.1; then
      <* F/.1 *>.n = F.1 by A41,PARTFUN1:def 6;
      hence <* F/.1 *>.n is without-infty by A38,A40,FINSEQ_3:25;
     end; then
     reconsider q = <* F/.1 *> as without_-infty-valued FinSequence of G
       by DEF11;
A42: 0+1 <= len F by A39,NAT_1:13; then
     F/.1 = F.1 by FINSEQ_4:15; then
A43: q.1 = F.1;
     defpred S1[Nat] means $1 + 1 <= len F implies
      ex g be without_-infty-valued FinSequence of G st
      ($1+1 = len g & F.1 = g.1 & (for i be Nat st 1 <= i < $1+1 holds
       g.(i+1) = (g/.i) + (F/.(i+1))));
A44: for i be Nat st 1 <= i < 0+1 holds q.(i+1) = q/.i + F/.(i+1);
A45: for k be Nat st S1[k] holds S1[k+1]
     proof
      let k be Nat;
      assume A46: S1[k];
      per cases;
      suppose A47: (k+1) + 1 <= len F;
       k+1 < (k+1)+1 by XREAL_1:29; then
       consider g be without_-infty-valued FinSequence of G such that
A48:    k+1 = len g and
A49:    F.1 = g.1 and
A50:    for i be Nat st 1 <= i & i < k+1 holds
         g.(i+1) = g/.i + F/.(i+1) by A46,A47,XXREAL_0:2;
A51:   (k+1)+1 in dom F by A47,NAT_1:12,FINSEQ_3:25; then
A52:   (F/.((k+1)+1))"{-infty} = {} by A38,Th54;
       1 <= k+1 by NAT_1:12; then
A53:   k+1 in dom g by A48,FINSEQ_3:25; then
       (g/.(k+1))"{-infty} = {} by Th54; then
       (dom(g/.(k+1)) /\ dom(F/.((k+1)+1))) \ ((
         ( (g/.(k+1))"{-infty} /\ (F/.((k+1)+1))"{+infty} ) \/
            ( (g/.(k+1))"{+infty} /\ (F/.((k+1)+1))"{-infty} )))
           = dom(g/.(k+1)) /\ dom(F/.((k+1)+1)) by A52; then
A54:   dom(g/.(k+1) + F/.((k+1)+1)) = dom(g/.(k+1)) /\ dom(F/.((k+1)+1))
         by MESFUNC1:def 3;
       dom(g/.(k+1)) = X & dom(F/.((k+1)+1)) = X by FUNCT_2:def 1; then
       g/.(k+1) + F/.((k+1)+1) is Function of X,ExtREAL
         by A54,FUNCT_2:def 1; then
       g/.(k+1) + F/.((k+1)+1) is Element of G by FUNCT_2:8; then
       <* g/.(k+1) + F/.((k+1)+1) *> is FinSequence of G by FINSEQ_1:74; then
       reconsider g2 = g^<* g/.(k+1) + F/.((k+1)+1) *> as FinSequence of G
         by FINSEQ_1:75;
       now let n be Nat;
        assume n in dom g2; then
A55:    1 <= n <= len g2 by FINSEQ_3:25; then
A56:    1 <= n <= len g + 1 by FINSEQ_2:16;
        per cases;
        suppose A57: n = len g + 1;
         len <* g/.(k+1) + F/.((k+1)+1) *> = 1 by FINSEQ_1:40; then
         1 in dom <* g/.(k+1) + F/.((k+1)+1) *> by FINSEQ_3:25; then
A58:     g2.n = <* g/.(k+1) + F/.((k+1)+1) *>.1 by A57,FINSEQ_1:def 7;
         g.(k+1) is without-infty & F.((k+1)+1) is without-infty
           by A38,A51,A53,DEF11; then
         reconsider p = g/.(k+1), q = F/.((k+1)+1) as without-infty Function
          of X,ExtREAL by A51,A53,PARTFUN1:def 6;
         p+q is without-infty Function of X,ExtREAL;
         hence g2.n is without-infty by A58;
        end;
        suppose n <> len g + 1; then
         n < len g + 1 by A56,XXREAL_0:1; then
         n <= len g by NAT_1:13; then
A59:     n in dom g by A55,FINSEQ_3:25; then
         g2.n = g.n by FINSEQ_1:def 7;
         hence g2.n is without-infty by A59,DEF11;
        end;
       end; then
       reconsider g2 as without_-infty-valued FinSequence of G by DEF11;
A60:   Seg len g = dom g by FINSEQ_1:def 3;
A61:   len g2=len g+ len (<* g/.(k+1)+(F/.(k+1+1)) *>) by FINSEQ_1:22
              .= k+1+1 by A48,FINSEQ_1:40;
A62:   for i being Nat st 1<=i < k+1+1 holds g2.(i+1)=(g2/.i)+(F/.(i+1))
       proof
        let i be Nat;
        assume
A63:     1<=i & i< k+1+1; then
A65:    i<=k+1 by NAT_1:13;
        per cases by A65,XXREAL_0:1;
        suppose
A66:     i<k+1;
A67:     1<=i+1 by NAT_1:12;
         i+1<=k+1 by A66,NAT_1:13; then
         i+1 in Seg len g by A48,A67; then
A68:     g2.(i+1)=g.(i+1) by A60,FINSEQ_1:def 7;
         i in Seg len g by A48,A63,A65; then
A69:     g2.i=g.i by A60,FINSEQ_1:def 7;
A70:     g/.i=g.i by A48,A63,A66,FINSEQ_4:15;
         g2/.i=g2.i by A61,A63,FINSEQ_4:15;
         hence thesis by A50,A63,A66,A68,A69,A70;
        end;
        suppose
A71:     i=k+1;
A72:     g2/.i=g2.i by A61,A63,FINSEQ_4:15;
         i in Seg len g by A48,A63,A65; then
A73:     g.i=g2.i by A60,FINSEQ_1:def 7;
         g/.i=g.i by A48,A63,A65,FINSEQ_4:15;
         hence thesis by A48,A71,A72,A73,FINSEQ_1:42;
        end;
       end;
       1<=k+1 by NAT_1:11; then
       1 in Seg len g by A48; then
       g2.1=F.1 by A49,A60,FINSEQ_1:def 7;
       hence S1[k+1] by A61,A62;
      end;
      suppose (k+1) + 1 > len F;
       hence S1[k+1];
      end;
     end;
A74: len F-'1=len F -1 by A42,XREAL_1:233;
     len q=1 by FINSEQ_1:40; then
A75: S1[0] by A43,A44;
     for k being Nat holds S1[k] from NAT_1:sch 2(A75,A45); then
     ex IT be without_-infty-valued FinSequence of G st
      len F-'1 +1 = len IT & F.1 = IT.1 &
      for i be Nat st 1 <= i < len F-'1+1 holds
       IT.(i+1) = IT/.i + F/.(i+1) by A74;
     hence ex IT be FinSequence of G st
      len F = len IT & F.1 = IT.1 &
      (for n be Nat st 1 <= n < len F holds IT.(n+1) = (IT/.n) + (F/.(n+1)))
        by A74;
    end;
    suppose A76: len F <= 0;
     take F;
     thus len F = len F & F.1 = F.1;
     let n be Nat;
     thus 1 <= n & n < len F implies F.(n+1) = (F/.n) + (F/.(n+1)) by A76;
    end;
   end;
end;
uniqueness
proof
    let g1,g2 be FinSequence of Funcs(X,ExtREAL);
    assume that
A28: len F=len g1 and
A29: F.1=g1.1 and
A30: for i being Nat st 1<=i & i<len F holds g1.(i+1)=(g1/.i)+(F/.(i+1 ));
    defpred P[Nat] means 1<=$1 & $1<=len F implies g1.$1=g2.$1;
    assume that
A31: len F=len g2 and
A32: F.1=g2.1 and
A33: for i being Nat st 1<=i & i<len F holds g2.(i+1)=(g2/.i)+(F/.(i+1 ));
A34: for k being Nat st P[k] holds P[k+1]
    proof
      let k be Nat;
      assume
A35:  P[k];
      1<=k+1 & k+1<=len F implies g1.(k+1)=g2.(k+1)
      proof
        assume that
        1<=k+1 and
A36:    k+1<=len F;
A37:    k<k+1 by XREAL_1:29; then
A38:    k< len F by A36,XXREAL_0:2;
        per cases;
        suppose
A39:      1<=k; then
A40:      g2.(k+1)=(g2/.k)+(F/.(k+1)) by A33,A38;
A41:      k<=len g2 by A31,A36,A37,XXREAL_0:2;
A42:      g1/.k=g1.k by A28,A38,A39,FINSEQ_4:15;
          g1.(k+1)=(g1/.k)+(F/.(k+1)) by A30,A38,A39;
          hence thesis by A35,A36,A37,A39,A40,A42,A41,FINSEQ_4:15,XXREAL_0:2;
        end;
        suppose 1>k;
          then 0+1>k;
          then k=0 by NAT_1:13;
          hence g1.(k+1)=g2.(k+1) by A29,A32;
        end;
      end;
      hence P[k+1];
    end;
A43: P[0];
    for k being Nat holds P[k] from NAT_1:sch 2(A43,A34);
    hence g1=g2 by A28,A31,FINSEQ_1:14;
end;
end;

registration
 let X be non empty set;
 cluster without_+infty-valued -> summable for FinSequence of Funcs(X,ExtREAL);
 correctness;
 cluster without_-infty-valued -> summable for FinSequence of Funcs(X,ExtREAL);
 correctness;
end;

theorem Th56:
for X be non empty set, F be without_+infty-valued FinSequence
  of Funcs(X,ExtREAL) holds Partial_Sums F is without_+infty-valued
proof
   let X be non empty set, F be without_+infty-valued FinSequence of
    Funcs(X,ExtREAL);
   defpred P[Nat] means $1 in dom (Partial_Sums F) implies
     (Partial_Sums F).$1 is without+infty;
A1:P[0] by FINSEQ_3:24;
A2:for n be Nat st P[n] holds P[n+1]
   proof
    let n be Nat;
    assume A3: P[n];
B1: len F = len (Partial_Sums F) by DEF13; then
A4: dom F = dom (Partial_Sums F) by FINSEQ_3:29;
    assume A5: n+1 in dom(Partial_Sums F);
    per cases;
    suppose A6: n = 0; then
     F.1 is without+infty by A4,A5,DEF10;
     hence (Partial_Sums F).(n+1) is without+infty by A6,DEF13;
    end;
    suppose A7: n <> 0; then
A8:  n >= 1 by NAT_1:14;
     n+1 <= len F by A5,B1,FINSEQ_3:25; then
A9:  n < len F by NAT_1:13;
     F.(n+1) is without+infty by A4,A5,DEF10; then
     reconsider p = (Partial_Sums F)/.n, q = F/.(n+1)
       as without+infty Function of X,ExtREAL
         by A3,A4,A5,A8,A9,FINSEQ_3:25,PARTFUN1:def 6;
     p+q is without+infty Function of X,ExtREAL;
     hence (Partial_Sums F).(n+1) is without+infty by A7,A9,DEF13,NAT_1:14;
    end;
   end;
   for n be Nat holds P[n] from NAT_1:sch 2(A1,A2);
   hence thesis;
end;

theorem Th57:
for X be non empty set, F be without_-infty-valued FinSequence
  of Funcs(X,ExtREAL) holds Partial_Sums F is without_-infty-valued
proof
   let X be non empty set, F be without_-infty-valued FinSequence of
    Funcs(X,ExtREAL);
   defpred P[Nat] means $1 in dom (Partial_Sums F) implies
     (Partial_Sums F).$1 is without-infty;
A1:P[0] by FINSEQ_3:24;
A2:for n be Nat st P[n] holds P[n+1]
   proof
    let n be Nat;
    assume A3: P[n];
B4: len F = len (Partial_Sums F) by DEF13; then
A4: dom F = dom (Partial_Sums F) by FINSEQ_3:29;
    assume A5: n+1 in dom(Partial_Sums F);
    per cases;
    suppose A6: n = 0; then
     F.1 is without-infty by A4,A5,DEF11;
     hence (Partial_Sums F).(n+1) is without-infty by A6,DEF13;
    end;
    suppose n <> 0; then
A8:  n >= 1 by NAT_1:14;
A7:  n+1 <= len F by A5,B4,FINSEQ_3:25; then
A9:  n < len F by NAT_1:13;
     F.(n+1) is without-infty by A4,A5,DEF11; then
     reconsider p = (Partial_Sums F)/.n, q = F/.(n+1)
       as without-infty Function of X,ExtREAL
         by A9,A3,A4,A5,A8,FINSEQ_3:25,PARTFUN1:def 6;
     p+q is without-infty Function of X,ExtREAL;
     hence (Partial_Sums F).(n+1) is without-infty by A8,A7,DEF13,NAT_1:13;
    end;
   end;
   for n be Nat holds P[n] from NAT_1:sch 2(A1,A2);
   hence thesis;
end;

theorem
for X be non empty set, A be set, er be ExtReal, f be Function of X,ExtREAL st
 (for x be Element of X holds f.x = er * chi(A,X).x)
holds (er = +infty implies f = Xchi(A,X)) &
      (er = -infty implies f = -Xchi(A,X)) &
      (er <> +infty & er <> -infty implies
           ex r be Real st r = er & f = r(#)chi(A,X))
proof
   let X be non empty set, A be set, er be ExtReal, f be Function of X,ExtREAL;
   assume A1: for x be Element of X holds f.x = er * chi(A,X).x;
   hereby assume A2: er = +infty;
    for x be Element of X holds f.x = Xchi(A,X).x
    proof
     let x be Element of X;
     per cases;
     suppose A3: x in A; then
A4:   Xchi(A,X).x = +infty by MEASUR10:def 7;
      chi(A,X).x = 1 by A3,FUNCT_3:def 3; then
      f.x = er * 1 by A1;
      hence f.x = Xchi(A,X).x by A2,A4,XXREAL_3:81;
     end;
     suppose A5: not x in A; then
      chi(A,X).x = 0 by FUNCT_3:def 3; then
      f.x = er * 0 by A1;
      hence f.x = Xchi(A,X).x by A5,MEASUR10:def 7;
     end;
    end;
    hence f = Xchi(A,X) by FUNCT_2:def 8;
   end;
   hereby assume A6: er = -infty;
    for x be Element of X holds f.x = (-Xchi(A,X)).x
    proof
     let x be Element of X;
     dom Xchi(A,X) = X by FUNCT_2:def 1; then
     x in dom Xchi(A,X); then
A7:  x in dom(-Xchi(A,X)) by MESFUNC1:def 7;
     per cases;
     suppose A8: x in A; then
      Xchi(A,X).x = +infty by MEASUR10:def 7; then
A9:   (-Xchi(A,X)).x = -+infty by A7,MESFUNC1:def 7;
      chi(A,X).x = 1 by A8,FUNCT_3:def 3; then
      f.x = er * 1 by A1;
      hence f.x = (-Xchi(A,X)).x by A6,A9,XXREAL_3:6,81;
     end;
     suppose A10: not x in A; then
A11:  -(Xchi(A,X).x) = -0 by MEASUR10:def 7;
      chi(A,X).x = 0 by A10,FUNCT_3:def 3; then
      f.x = er * 0 by A1;
      hence f.x = (-Xchi(A,X)).x by A7,A11,MESFUNC1:def 7;
     end;
    end;
    hence f = -Xchi(A,X) by FUNCT_2:def 8;
   end;
   assume er <> +infty & er <> -infty; then
   er in REAL by XXREAL_0:14; then
   reconsider r = er as Real;
   dom f = X & dom chi(A,X) = X by FUNCT_2:def 1; then
A12:dom f = dom(r(#)chi(A,X)) by MESFUNC1:def 6;
   for x be Element of X st x in dom f holds f.x = (r(#)chi(A,X)).x
   proof
    let x be Element of X;
    assume x in dom f; then
    (r(#)chi(A,X)).x = r * chi(A,X).x by A12,MESFUNC1:def 6;
    hence f.x = (r(#)chi(A,X)).x by A1;
   end;
   hence ex r be Real st r = er & f = r(#)chi(A,X) by A12,PARTFUN1:5;
end;

theorem Th59:
  for X be non empty set, S be SigmaField of X, f be PartFunc of X,ExtREAL,
  A be Element of S st f is A-measurable & A c= dom f holds
    -f is A-measurable
proof
   let X be non empty set, S be SigmaField of X, f be PartFunc of X,ExtREAL,
   A be Element of S;
   assume that
A1: f is A-measurable and
A2: A c= dom f;
   -f = (-1)(#)f by MESFUNC2:9;
   hence thesis by A1,A2,MESFUNC1:37;
end;

registration
 let X be non empty set, f be without-infty PartFunc of X,ExtREAL;
 cluster -f -> without+infty;
correctness
proof
   now let x be set;
    assume A1: x in dom(-f); then
    x in dom f by MESFUNC1:def 7; then
    f.x * (-1) < -infty * (-1) by MESFUNC5:10,XXREAL_3:102; then
    f.x * (-1) < -(-infty) by XXREAL_3:91; then
    -(f.x) < +infty by XXREAL_3:5,91;
    hence (-f).x < +infty by A1,MESFUNC1:def 7;
   end;
   hence -f is without+infty by MESFUNC5:11;
end;
end;

registration
 let X be non empty set, f be without+infty PartFunc of X,ExtREAL;
 cluster -f -> without-infty;
 correctness
 proof
   now let x be set;
    assume A1: x in dom(-f); then
    x in dom f by MESFUNC1:def 7; then
    (-1) * +infty < (-1)*f.x by MESFUNC5:11,XXREAL_3:102; then
    -(+infty) < (-1)*f.x by XXREAL_3:91; then
    -infty < -(f.x) by XXREAL_3:6,91;
    hence -infty < (-f).x by A1,MESFUNC1:def 7;
   end;
   hence -f is without-infty by MESFUNC5:10;
 end;
end;

definition
  let X be non empty set;
  let f1,f2 be without+infty PartFunc of X,ExtREAL;
  redefine func f1+f2 -> without+infty PartFunc of X,ExtREAL;  :: redefines + (MESFUNC1, definition)
correctness by MESFUNC9:4;
end;

definition
  let X be non empty set;
  let f1,f2 be without-infty PartFunc of X,ExtREAL;
  redefine func f1+f2 -> without-infty PartFunc of X,ExtREAL;  :: redefines + (MESFUNC1, definition)
correctness by MESFUNC9:3;
end;

definition
  let X be non empty set;
  let f1 be without+infty PartFunc of X,ExtREAL;
  let f2 be without-infty PartFunc of X,ExtREAL;
  redefine func f1-f2 -> without+infty PartFunc of X,ExtREAL;  :: redefines - (MESFUNC1, definition)
  correctness by MESFUNC9:6;
end;

definition
  let X be non empty set;
  let f1 be without-infty PartFunc of X,ExtREAL;
  let f2 be without+infty PartFunc of X,ExtREAL;
  redefine func f1-f2 -> without-infty PartFunc of X,ExtREAL;  :: redefines - (MESFUNC1, definition)
  correctness by MESFUNC9:5;
end;

LEM10:
for X be non empty set, f be PartFunc of X,ExtREAL holds
 f"{+infty} = (-f)"{-infty} & f"{-infty} = (-f)"{+infty}
proof
   let X be non empty set, f be PartFunc of X,ExtREAL;
   now let x be set;
    assume x in f"{+infty}; then
A1: x in dom f & f.x in {+infty} by FUNCT_1:def 7; then
A2: x in dom(-f) by MESFUNC1:def 7;
    f.x = +infty by A1,TARSKI:def 1; then
    (-f).x = -(+infty) by A2,MESFUNC1:def 7; then
    (-f).x in {-infty} by XXREAL_3:6,TARSKI:def 1;
    hence x in (-f)"{-infty} by A2,FUNCT_1:def 7;
   end; then
A3:f"{+infty} c= (-f)"{-infty};
   now let x be set;
    assume x in (-f)"{-infty}; then
A4: x in dom(-f) & (-f).x in {-infty} by FUNCT_1:def 7; then
A5: x in dom f by MESFUNC1:def 7;
    (-f).x = -infty by A4,TARSKI:def 1; then
    -(f.x) = -infty by A4,MESFUNC1:def 7; then
    f.x in {+infty} by XXREAL_3:5,TARSKI:def 1;
    hence x in f"{+infty} by A5,FUNCT_1:def 7;
   end; then
   (-f)"{-infty} c= f"{+infty};
   hence f"{+infty} = (-f)"{-infty} by A3;
   now let x be set;
    assume x in f"{-infty}; then
A7: x in dom f & f.x in {-infty} by FUNCT_1:def 7; then
A8: x in dom(-f) by MESFUNC1:def 7;
    f.x = -infty by A7,TARSKI:def 1; then
    (-f).x = -(-infty) by A8,MESFUNC1:def 7; then
    (-f).x in {+infty} by XXREAL_3:5,TARSKI:def 1;
    hence x in (-f)"{+infty} by A8,FUNCT_1:def 7;
   end; then
A9:f"{-infty} c= (-f)"{+infty};
   now let x be set;
    assume x in (-f)"{+infty}; then
A10:x in dom(-f) & (-f).x in {+infty} by FUNCT_1:def 7; then
A11:x in dom f by MESFUNC1:def 7;
    (-f).x = +infty by A10,TARSKI:def 1; then
    -(f.x) = +infty by A10,MESFUNC1:def 7; then
    f.x in {-infty} by XXREAL_3:6,TARSKI:def 1;
    hence x in f"{-infty} by A11,FUNCT_1:def 7;
   end; then
   (-f)"{+infty} c= f"{-infty};
   hence f"{-infty} = (-f)"{+infty} by A9;
end;

theorem Th60:
for X be non empty set, f,g be PartFunc of X,ExtREAL
 holds -(f+g) = (-f) + (-g) & -(f-g) = (-f) + g
     & -(f-g) = g - f & -(-f+g) = f - g & -(-f+g) = f + (-g)
proof
   let X be non empty set, f,g be PartFunc of X,ExtREAL;
A1:f"{-infty} = (-f)"{+infty} & f"{+infty} = (-f)"{-infty} &
   g"{-infty} = (-g)"{+infty} & g"{+infty} = (-g)"{-infty} by LEM10;
A2:dom f = dom(-f) & dom g = dom (-g) by MESFUNC1:def 7;

A3:dom(-(f+g)) = dom(f+g) & dom(-f) = dom f & dom(-g) = dom g
 & dom(-(f-g)) = dom(f-g) by MESFUNC1:def 7; then
A4:dom(-(f+g)) = (dom f /\ dom g) \ ((f"{-infty} /\ g"{+infty}) \/
     (f"{+infty} /\ g"{-infty})) by MESFUNC1:def 3; then
A5:dom(-(f + g)) = dom((-f) + (-g)) by A1,A2,MESFUNC1:def 3;
A6:dom(-(f-g)) = (dom f /\ dom g) \ ((f"{+infty} /\ g"{+infty}) \/
     (f"{-infty} /\ g"{-infty})) by A3,MESFUNC1:def 4; then
A7:dom(-(f-g)) = dom((-f)+g) by A1,A2,MESFUNC1:def 3; then
C1:dom(-(-f+g)) = dom(-(f-g)) by MESFUNC1:def 7; then
A10:dom(-(-f+g)) = dom(f-g) by MESFUNC1:def 7; then
   dom(-(-f+g)) = (dom f /\ dom g) \ ((f"{+infty} /\ g"{+infty}) \/
      (f"{-infty} /\ g"{-infty})) by MESFUNC1:def 4; then
A12:dom(-(-f+g)) = dom(f+(-g)) by A1,A2,MESFUNC1:def 3;
A8:dom(-(f-g)) = dom(g-f) by A6,MESFUNC1:def 4;
A9:dom(-(-f+g)) = dom(-f+g) by MESFUNC1:def 7;
B3:dom(-(f+g)) c= dom f & dom(-(f+g)) c= dom g by A4,XBOOLE_1:18,36;
B4:dom(-(f-g)) c= dom f & dom(-(f-g)) c= dom g by A6,XBOOLE_1:18,36;
B5:dom(-(-f+g)) c= dom (-f) & dom(-(-f+g)) c= dom g
     by C1,A3,A6,XBOOLE_1:18,36;
   now let x be Element of X;
    assume B2: x in dom(-(f+g)); then
    (-(f+g)).x = -((f+g).x) by MESFUNC1:def 7
      .= -(f.x + g.x) by A3,B2,MESFUNC1:def 3
      .= -(f.x) + -(g.x) by XXREAL_3:9
      .= (-f).x + -(g.x) by A2,B2,B3,MESFUNC1:def 7
      .= (-f).x + (-g).x by A2,B2,B3,MESFUNC1:def 7;
    hence (-(f+g)).x = ((-f)+(-g)).x by B2,A5,MESFUNC1:def 3;
   end;
   hence -(f + g) = (-f) + (-g) by A5,PARTFUN1:5;
   now let x be Element of X;
    assume B2: x in dom(-(f-g)); then
    (-(f-g)).x = -((f-g).x) by MESFUNC1:def 7
     .= -(f.x - g.x) by A3,B2,MESFUNC1:def 4
     .= -(f.x) + g.x by XXREAL_3:26
     .= (-f).x + g.x by A2,B4,B2,MESFUNC1:def 7;
    hence (-(f-g)).x = ((-f)+g).x by B2,A7,MESFUNC1:def 3;
   end;
   hence -(f - g) = (-f) + g by A7,PARTFUN1:5;
   now let x be Element of X;
    assume B2: x in dom(-(f-g)); then
    (-(f-g)).x = -((f-g).x) by MESFUNC1:def 7
     .= -(f.x - g.x) by A3,B2,MESFUNC1:def 4
     .= g.x - f.x by XXREAL_3:26;
    hence (-(f-g)).x = (g-f).x by B2,A8,MESFUNC1:def 4;
   end;
   hence -(f-g) = g-f by A8,PARTFUN1:5;
   now let x be Element of X;
    assume B2: x in dom(-(-f+g)); then
    (-(-f+g)).x = -((-f+g).x) by MESFUNC1:def 7
     .= -( (-f).x + g.x ) by A9,B2,MESFUNC1:def 3
     .= -( -(f.x) + g.x ) by B5,B2,MESFUNC1:def 7
     .= f.x - g.x by XXREAL_3:27;
    hence (-(-f+g)).x = (f-g).x by B2,A10,MESFUNC1:def 4;
   end;
   hence -(-f+g) = f-g by A10,PARTFUN1:5;
   now let x be Element of X;
    assume B2: x in dom(-(-f+g)); then
    (-(-f+g)).x = -((-f+g).x) by MESFUNC1:def 7
     .= -( (-f).x + g.x ) by A9,B2,MESFUNC1:def 3
     .= -( -(f.x) + g.x ) by B5,B2,MESFUNC1:def 7
     .= (f.x) + -(g.x) by XXREAL_3:27
     .= (f.x) + (-g).x by B2,B5,A3,MESFUNC1:def 7;
    hence (-(-f+g)).x = (f+(-g)).x by B2,A12,MESFUNC1:def 3;
   end;
   hence -(-f+g) = f + (-g) by A12,PARTFUN1:5;
end;

theorem Th61:
  for X be non empty set, S be SigmaField of X,
  f,g be without+infty PartFunc of X,ExtREAL, A be Element of S st
  f is A-measurable & g is A-measurable & A c= dom (f+g) holds
  f+g is A-measurable
proof
   let X be non empty set, S be SigmaField of X,
   f,g be without+infty PartFunc of X,ExtREAL,
   A be Element of S;
   assume that
A3: f is A-measurable and
A4: g is A-measurable and
A5: A c= dom(f+g);
A6:dom(f+g) = dom f /\ dom g by MESFUNC9:1;
   dom f /\ dom g c= dom f & dom f /\ dom g c= dom g by XBOOLE_1:17; then
   A c= dom f & A c= dom g by A5,A6; then
   -f is A-measurable & -g is A-measurable by A3,A4,Th59; then
A7:(-f)+(-g) is A-measurable by MESFUNC5:31;
   dom f = dom(-f) & dom g = dom(-g) by MESFUNC1:def 7; then
   dom(-f + -g) = dom f /\ dom g by MESFUNC5:16 .= dom(f+g) by MESFUNC9:1; then
A8:-((-f)+(-g)) is A-measurable by A5,A7,Th59;
   (-f)+(-g) = -(f+g) by Th60;
   hence thesis by A8,DBLSEQ_3:2;
end;

theorem
  for X be non empty set, S be SigmaField of X, A be Element of S,
  f be without+infty PartFunc of X,ExtREAL,
  g be without-infty PartFunc of X,ExtREAL
 st f is A-measurable & g is A-measurable & A c= dom(f-g) holds
  f-g is A-measurable
proof
   let X be non empty set, S be SigmaField of X, A be Element of S,
   f be without+infty PartFunc of X,ExtREAL,
   g be without-infty PartFunc of X,ExtREAL;
   assume that
A1: f is A-measurable and
A2: g is A-measurable and
A3: A c= dom(f-g);
A4:dom(f-g) = dom f /\ dom g by MESFUNC9:2;
   dom f /\ dom g c= dom f & dom f /\ dom g c= dom g by XBOOLE_1:17; then
   A c= dom f & A c= dom g by A3,A4; then
   -f is A-measurable by A1,Th59; then
A5:(-f)+g is A-measurable by A2,MESFUNC5:31;
   dom f = dom(-f) & dom g = dom(-g) by MESFUNC1:def 7; then
   dom(-f + g) = dom f /\ dom g by MESFUNC5:16; then
   dom(-f + g) = dom(f-g) by MESFUNC9:2; then
   -((-f)+g) is A-measurable by A3,A5,Th59;
   hence f-g is A-measurable by Th60;
end;

theorem
  for X be non empty set, S be SigmaField of X, A be Element of S,
  f be without-infty PartFunc of X,ExtREAL,
  g be without+infty PartFunc of X,ExtREAL
 st f is A-measurable & g is A-measurable & A c= dom(f-g) holds
  f-g is A-measurable
proof
   let X be non empty set, S be SigmaField of X, A be Element of S,
   f be without-infty PartFunc of X,ExtREAL,
   g be without+infty PartFunc of X,ExtREAL;
   assume that
A1: f is A-measurable and
A2: g is A-measurable and
A3: A c= dom(f-g);
A4:dom(f-g) = dom f /\ dom g by MESFUNC5:17;
   dom(-f+g) = dom(-(f-g)) by Th60; then
A5:dom(-f+g) = dom(f-g) by MESFUNC1:def 7;
   dom f /\ dom g c= dom f & dom f /\ dom g c= dom g by XBOOLE_1:17; then
   A c= dom f & A c= dom g by A3,A4; then
   -f is A-measurable by A1,Th59; then
A6:(-f)+g is A-measurable by A2,A3,A5,Th61;
   dom f = dom(-f) & dom g = dom(-g) by MESFUNC1:def 7; then
   dom(-f + g) = dom f /\ dom g by MESFUNC9:1; then
   dom(-f + g) = dom(f-g) by MESFUNC5:17; then
   -((-f)+g) is A-measurable by A3,A6,Th59;
   hence f-g is A-measurable by Th60;
end;

theorem Th64:
for X be non empty set, S be SigmaField of X, P be Element of S,
 F be summable FinSequence of Funcs(X,ExtREAL)
 st (for n be Nat st n in dom F holds F/.n is P-measurable) holds
 for n be Nat st n in dom F holds (Partial_Sums F)/.n is P-measurable
proof
   let X be non empty set, S be SigmaField of X, P be Element of S,
   F be summable FinSequence of Funcs(X,ExtREAL);
   assume A1: for n be Nat st n in dom F holds F/.n is P-measurable;
A2:P c= X;
A3:len F = len (Partial_Sums F) by DEF13; then
A4:dom F = dom (Partial_Sums F) by FINSEQ_3:29;
   defpred P[Nat] means
     $1 in dom F implies (Partial_Sums F)/.$1 is P-measurable;
   per cases by DEF12;
   suppose A5: F is without_+infty-valued;
A6: P[0] by FINSEQ_3:24;
A7: for n be Nat st P[n] holds P[n+1]
    proof
     let n be Nat;
     assume A8: P[n];
     assume A9: n+1 in dom F;
     per cases;
     suppose A10: n = 0; then
      (Partial_Sums F)/.(n+1) = (Partial_Sums F).1 by A4,A9,PARTFUN1:def 6
       .= F.1 by DEF13
       .= F/.1 by A9,A10,PARTFUN1:def 6;
      hence (Partial_Sums F)/.(n+1) is P-measurable by A1,A9,A10;
     end;
     suppose A11: n <> 0; then
A12:  n >= 1 by NAT_1:14;
      n+1 <= len F by A9,FINSEQ_3:25; then
A13:  n < len F by NAT_1:13; then
A15:  F/.(n+1) = F.(n+1) & (Partial_Sums F)/.n = (Partial_Sums F).n
    & (Partial_Sums F)/.(n+1) = (Partial_Sums F).(n+1)
         by A4,A9,A12,FINSEQ_3:25,PARTFUN1:def 6; then
A16:  (Partial_Sums F)/.(n+1) = (Partial_Sums F)/.n + F/.(n+1)
         by A11,A13,NAT_1:14,DEF13;
      Partial_Sums F is without_+infty-valued by A5,Th56; then
A17:  F/.(n+1) is without+infty & (Partial_Sums F)/.n is without+infty
         by A5,A9,A12,A15,A13,A3,FINSEQ_3:25; then
A19:  dom((Partial_Sums F)/.n + F/.(n+1))
       = dom((Partial_Sums F)/.n) /\ dom(F/.(n+1)) by MESFUNC9:1;
A18:  P c= dom((Partial_Sums F)/.n) & P c= dom(F/.(n+1)) by A2,FUNCT_2:def 1;
      F/.(n+1) is P-measurable by A9,A1;
      hence (Partial_Sums F)/.(n+1) is P-measurable
        by A8,A12,A13,A16,A17,A18,A19,Th61,FINSEQ_3:25,XBOOLE_1:19;
     end;
    end;
    for n be Nat holds P[n] from NAT_1:sch 2(A6,A7);
    hence
     for n be Nat st n in dom F holds (Partial_Sums F)/.n is P-measurable;
   end;
   suppose A19: F is without_-infty-valued;
A20:P[0] by FINSEQ_3:24;
A21:for n be Nat st P[n] holds P[n+1]
    proof
     let n be Nat;
     assume A24: P[n];
     assume A25: n+1 in dom F;
     per cases;
     suppose A26: n = 0; then
      (Partial_Sums F)/.(n+1) = (Partial_Sums F).1 by A25,A4,PARTFUN1:def 6
       .= F.1 by DEF13
       .= F/.1 by A25,A26,PARTFUN1:def 6;
      hence (Partial_Sums F)/.(n+1) is P-measurable by A1,A25,A26;
     end;
     suppose A27: n <> 0; then
A28:  n >= 1 by NAT_1:14;
      n+1 <= len F by A25,FINSEQ_3:25; then
A29:  n < len F by NAT_1:13; then
A30:  F/.(n+1) = F.(n+1) & (Partial_Sums F)/.n = (Partial_Sums F).n
    & (Partial_Sums F)/.(n+1) = (Partial_Sums F).(n+1)
         by A4,A25,A28,FINSEQ_3:25,PARTFUN1:def 6; then
A31:  (Partial_Sums F)/.(n+1) = (Partial_Sums F)/.n + F/.(n+1)
         by A27,A29,DEF13,NAT_1:14;
      Partial_Sums F is without_-infty-valued by A19,Th57; then
A32:  F/.(n+1) is without-infty & (Partial_Sums F)/.n is without-infty
          by A19,A25,A29,A3,A28,A30,FINSEQ_3:25;
      F/.(n+1) is P-measurable by A25,A1;
      hence (Partial_Sums F)/.(n+1) is P-measurable
        by A31,A32,A29,A24,A28,FINSEQ_3:25,MESFUNC5:31;
     end;
    end;
    for n be Nat holds P[n] from NAT_1:sch 2(A20,A21);
    hence
     for n be Nat st n in dom F holds (Partial_Sums F)/.n is P-measurable;
   end;
end;

begin :: Some properties of integral

theorem Th65:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
 M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
 E be Element of sigma measurable_rectangles(S1,S2),
 A be Element of S1, B be Element of S2,
 x be Element of X1, y be Element of X2
 st E = [:A,B:] holds
  Integral(M2,ProjMap1(chi(E,[:X1,X2:]),x))
    = M2.(Measurable-X-section(E,x)) * chi(A,X1).x
& Integral(M1,ProjMap2(chi(E,[:X1,X2:]),y))
    = M1.(Measurable-Y-section(E,y)) * chi(B,X2).y
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
   M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
   E be Element of sigma measurable_rectangles(S1,S2),
   A be Element of S1, B be Element of S2,
   x be Element of X1, y be Element of X2;
   assume A1: E = [:A,B:]; then
A2:Integral(M2,ProjMap1(chi(E,[:X1,X2:]),x)) = M2.B * chi(A,X1).x by Th47;
A3:M2.B * chi(A,X1).x = M2.(Measurable-X-section(E,x)) by A1,Th48;
A4:Integral(M1,ProjMap2(chi(E,[:X1,X2:]),y)) = M1.A * chi(B,X2).y
      by A1,Th49;
A5:M1.A * chi(B,X2).y = M1.(Measurable-Y-section(E,y)) by A1,Th50;
   thus Integral(M2,ProjMap1(chi(E,[:X1,X2:]),x))
         = M2.(Measurable-X-section(E,x)) * chi(A,X1).x
   proof
    per cases;
    suppose x in A; then
     chi(A,X1).x = 1 by FUNCT_3:def 3;
     hence thesis by A2,A3,XXREAL_3:81;
    end;
    suppose not x in A; then
     chi(A,X1).x = 0 by FUNCT_3:def 3;
     hence thesis by A2;
    end;
   end;
    per cases;
    suppose y in B; then
     chi(B,X2).y = 1 by FUNCT_3:def 3;
     hence thesis by A4,A5,XXREAL_3:81;
    end;
    suppose not y in B; then
     chi(B,X2).y = 0 by FUNCT_3:def 3;
     hence thesis by A4;
    end;
end;

theorem Th66:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
 E be Element of sigma measurable_rectangles(S1,S2)
 st E in Field_generated_by measurable_rectangles(S1,S2)
 ex f be disjoint_valued FinSequence of measurable_rectangles(S1,S2),
    A be FinSequence of S1, B be FinSequence of S2 st
     len f = len A & len f = len B & E = Union f
   & (for n be Nat st n in dom f holds proj1(f.n) = A.n & proj2(f.n) = B.n)
   & (for n be Nat, x,y be set st n in dom f & x in X1 & y in X2 holds
         chi(f.n,[:X1,X2:]).(x,y) = chi(A.n,X1).x * chi(B.n,X2).y)
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
   E be Element of sigma measurable_rectangles(S1,S2);
   assume E in Field_generated_by measurable_rectangles(S1,S2); then
   E in DisUnion measurable_rectangles(S1,S2) by SRINGS_3:22; then
   E in {E1 where E1 is Subset of [:X1,X2:] :
    ex f be disjoint_valued FinSequence of measurable_rectangles(S1,S2)
      st E1 = Union f} by SRINGS_3:def 3; then
   consider E1 be Subset of [:X1,X2:] such that
A1: E = E1
  & ex f be disjoint_valued FinSequence of measurable_rectangles(S1,S2)
      st E1 = Union f;
   consider f be disjoint_valued FinSequence of measurable_rectangles(S1,S2)
    such that
A2: E1 = Union f by A1;

   defpred P1[Nat,object] means $2 = proj1(f.$1);

A3:for i be Nat st i in Seg len f ex Ai being Element of S1 st P1[i,Ai]
   proof
    let i be Nat;
    assume i in Seg len f; then
    i in dom f by FINSEQ_1:def 3; then
    f.i in measurable_rectangles(S1,S2) by PARTFUN1:4; then
    f.i in the set of all [:A,B:] where A is Element of S1, B is Element of S2
      by MEASUR10:def 5; then
    consider Ai be Element of S1, Bi be Element of S2 such that
A4:  f.i = [:Ai,Bi:];
    per cases;
    suppose A5: Bi <> {};
     take Ai;
     thus proj1(f.i) = Ai by A4,A5,FUNCT_5:9;
    end;
    suppose A6: Bi = {};
     reconsider Ai = {} as Element of S1 by MEASURE1:7;
     take Ai;
     thus proj1(f.i) = Ai by A4,A6;
    end;
   end;
   consider A being FinSequence of S1 such that
A7: dom A = Seg len f
  & for i be Nat st i in Seg len f holds P1[i,A.i] from FINSEQ_1:sch 5(A3);

   defpred P2[Nat,object] means $2 = proj2(f.$1);

A8:for i be Nat st i in Seg len f ex Bi being Element of S2 st P2[i,Bi]
   proof
    let i be Nat;
    assume i in Seg len f; then
    i in dom f by FINSEQ_1:def 3; then
    f.i in measurable_rectangles(S1,S2) by PARTFUN1:4; then
    f.i in the set of all [:A,B:] where A is Element of S1, B is Element of S2
      by MEASUR10:def 5; then
    consider Ai be Element of S1, Bi be Element of S2 such that
A9:  f.i = [:Ai,Bi:];
    per cases;
    suppose A10: Ai <> {};
     take Bi;
     thus proj2(f.i) = Bi by A9,A10,FUNCT_5:9;
    end;
    suppose A11: Ai = {};
     reconsider Bi = {} as Element of S2 by MEASURE1:7;
     take Bi;
     thus proj2(f.i) = Bi by A9,A11;
    end;
   end;
   consider B being FinSequence of S2 such that
A12:dom B = Seg len f
  & for i be Nat st i in Seg len f holds P2[i,B.i] from FINSEQ_1:sch 5(A8);
   take f,A,B;
   thus len f = len A by A7,FINSEQ_1:def 3;
   thus len f = len B by A12,FINSEQ_1:def 3;
   thus E = Union f by A1,A2;
   thus
A13:for n be Nat st n in dom f holds proj1(f.n) = A.n & proj2(f.n) = B.n
   proof
    let n be Nat;
    assume n in dom f; then
    n in Seg len f by FINSEQ_1:def 3;
    hence A.n = proj1(f.n) & B.n = proj2(f.n) by A7,A12;
   end;
    let n be Nat, x,y be set;
    assume A14: n in dom f & x in X1 & y in X2; then
A15:A.n = proj1(f.n) & B.n = proj2(f.n) by A13;
    f.n in measurable_rectangles(S1,S2) by A14,PARTFUN1:4; then
    f.n in the set of all [:A,B:] where A is Element of S1, B is Element of S2
       by MEASUR10:def 5; then
    consider An be Element of S1, Bn be Element of S2 such that
A16: f.n = [:An,Bn:];
A17:[x,y] in [:X1,X2:] by A14,ZFMISC_1:87;
    per cases;
    suppose f.n = {}; then
     chi(f.n,[:X1,X2:]).(x,y) = 0
   & chi(A.n,X1).x = 0 & chi(B.n,X2).y = 0 by A14,A15,A17,FUNCT_3:def 3;
     hence chi(f.n,[:X1,X2:]).(x,y) = chi(A.n,X1).x * chi(B.n,X2).y;
    end;
    suppose f.n <> {}; then
A18: A.n = An & B.n = Bn by A15,A16,FUNCT_5:9;
     per cases;
     suppose A19: x in A.n & y in B.n; then
      chi(A.n,X1).x = 1 & chi(B.n,X2).y = 1 by FUNCT_3:def 3; then
A20:  chi(A.n,X1).x * chi(B.n,X2).y = 1 by XXREAL_3:81;
      proj1(f.n) c= An & proj2(f.n) c= Bn by A16,FUNCT_5:10; then
      [x,y] in f.n & [x,y] in [:X1,X2:] by A19,A15,A16,ZFMISC_1:def 2;
      hence chi(f.n,[:X1,X2:]).(x,y) = chi(A.n,X1).x * chi(B.n,X2).y
        by A20,FUNCT_3:def 3;
     end;
     suppose A21: not x in A.n or not y in B.n; then
      chi(A.n,X1).x = 0 or chi(B.n,X2).y = 0 by A14,FUNCT_3:def 3; then
A22:  chi(A.n,X1).x * chi(B.n,X2).y = 0;
      not [x,y] in f.n by A18,A21,A16,ZFMISC_1:87;
      hence chi(f.n,[:X1,X2:]).(x,y) = chi(A.n,X1).x * chi(B.n,X2).y
        by A17,A22,FUNCT_3:def 3;
     end;
    end;
end;

theorem Th67:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
  M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
  E be Element of sigma measurable_rectangles(S1,S2),
  x be Element of X1, y be Element of X2,
  U be Element of S1, V be Element of S2
holds
   M1.(Measurable-Y-section(E,y) /\ U)
        = Integral(M1,ProjMap2(chi(E /\ [:U,X2:],[:X1,X2:]),y))
 & M2.(Measurable-X-section(E,x) /\ V)
        = Integral(M2,ProjMap1(chi(E /\ [:X1,V:],[:X1,X2:]),x))
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
       M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
       E be Element of sigma measurable_rectangles(S1,S2),
       x be Element of X1, y be Element of X2,
       U be Element of S1, V be Element of S2;
   for x be Element of X1 holds (ProjMap2(chi(E /\ [:U,X2:],[:X1,X2:]),y)).x
      = chi(Measurable-Y-section(E,y) /\ U,X1).x
   proof
    let x be Element of X1;
A1: X2 = [#]X2 by SUBSET_1:def 3;

    (ProjMap2(chi(E /\ [:U,X2:],[:X1,X2:]),y)).x
      = chi(E /\ [:U,X2:],[:X1,X2:]).(x,y) by MESFUNC9:def 7
     .= chi(Y-section(E /\ [:U,X2:],y),X1).x by Th28
     .= chi(Y-section(E,y) /\ Y-section([:U,[#]X2:],y),X1).x by A1,Th21;
    hence (ProjMap2(chi(E /\ [:U,X2:],[:X1,X2:]),y)).x
              = chi(Measurable-Y-section(E,y) /\ U,X1).x by A1,Th16;
   end; then
   ProjMap2(chi(E /\ [:U,X2:],[:X1,X2:]),y)
     = chi(Measurable-Y-section(E,y) /\ U,X1)
      by FUNCT_2:def 8;
   hence M1.(Measurable-Y-section(E,y) /\ U)
          = Integral(M1,ProjMap2(chi(E /\ [:U,X2:],[:X1,X2:]),y))
      by MESFUNC9:14;

   for y be Element of X2 holds (ProjMap1(chi(E /\ [:X1,V:],[:X1,X2:]),x)).y
      = chi(Measurable-X-section(E,x) /\ V,X2).y
   proof
    let y be Element of X2;
A3: X1 = [#]X1 by SUBSET_1:def 3;

    (ProjMap1(chi(E /\ [:X1,V:],[:X1,X2:]),x)).y
      = chi(E /\ [:X1,V:],[:X1,X2:]).(x,y) by MESFUNC9:def 6
     .= chi(X-section(E /\ [:X1,V:],x),X2).y by Th28
     .= chi(X-section(E,x) /\ X-section([:[#]X1,V:],x),X2).y by A3,Th21;
    hence (ProjMap1(chi(E /\ [:X1,V:],[:X1,X2:]),x)).y
      = chi(Measurable-X-section(E,x) /\ V,X2).y by A3,Th16;
   end; then
   ProjMap1(chi(E /\ [:X1,V:],[:X1,X2:]),x)
     = chi(Measurable-X-section(E,x) /\ V,X2) by FUNCT_2:def 8;
   hence M2.(Measurable-X-section(E,x) /\ V)
          = Integral(M2,ProjMap1(chi(E /\ [:X1,V:],[:X1,X2:]),x))
      by MESFUNC9:14;
end;

theorem Th68:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
  M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
  E be Element of sigma measurable_rectangles(S1,S2),
  x be Element of X1, y be Element of X2
holds
   M1.(Measurable-Y-section(E,y)) = Integral(M1,ProjMap2(chi(E,[:X1,X2:]),y))
 & M2.(Measurable-X-section(E,x)) = Integral(M2,ProjMap1(chi(E,[:X1,X2:]),x))
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
       M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
       E be Element of sigma measurable_rectangles(S1,S2),
       x be Element of X1, y be Element of X2;
A1:X1 in S1 & X2 in S2 by MEASURE1:7;
   E /\ [:X1,X2:] = E
 & Measurable-Y-section(E,y) /\ X1 = Measurable-Y-section(E,y)
 & Measurable-X-section(E,x) /\ X2 = Measurable-X-section(E,x) by XBOOLE_1:28;
   hence thesis by Th67,A1;
end;

theorem
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
 M2 be sigma_Measure of S2,
 f be disjoint_valued FinSequence of measurable_rectangles(S1,S2),
 x be Element of X1, n be Nat,
 En be Element of sigma measurable_rectangles(S1,S2),
 An be Element of S1, Bn be Element of S2
 st n in dom f & f.n = En & En = [:An,Bn:] holds
  Integral(M2,ProjMap1(chi(f.n,[:X1,X2:]),x))
     = M2.(Measurable-X-section(En,x)) * chi(An,X1).x by Th65;

theorem Th70:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
 E be Element of sigma measurable_rectangles(S1,S2)
 st E in Field_generated_by measurable_rectangles(S1,S2) & E <> {}
 ex f be disjoint_valued FinSequence of measurable_rectangles(S1,S2),
    A be FinSequence of S1, B be FinSequence of S2,
    Xf be summable FinSequence of Funcs([:X1,X2:],ExtREAL) st
     E = Union f & len f in dom f & len f = len A & len f = len B
   & len f = len Xf
   & ( for n be Nat st n in dom f holds f.n = [:A.n,B.n:] )
   & ( for n be Nat st n in dom Xf holds Xf.n = chi(f.n,[:X1,X2:]) )
   & (Partial_Sums Xf).(len Xf) = chi(E,[:X1,X2:])
   & ( for n be Nat, x,y be set st n in dom Xf & x in X1 & y in X2
       holds (Xf.n).(x,y) = chi(A.n,X1).x * chi(B.n,X2).y )
   & ( for x be Element of X1 holds
     ProjMap1(chi(E,[:X1,X2:]),x) = ProjMap1(((Partial_Sums Xf)/.(len Xf)),x) )
   & ( for y be Element of X2 holds
     ProjMap2(chi(E,[:X1,X2:]),y) = ProjMap2(((Partial_Sums Xf)/.(len Xf)),y) )
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
   E be Element of sigma measurable_rectangles(S1,S2);
   assume A1: E in Field_generated_by measurable_rectangles(S1,S2) & E <> {};

   consider f be disjoint_valued FinSequence of measurable_rectangles(S1,S2),
            A be FinSequence of S1, B be FinSequence of S2 such that
A2:  len f = len A & len f = len B & E = Union f
   & ( for n be Nat st n in dom f holds proj1(f.n) = A.n & proj2(f.n) = B.n )
   & (for n be Nat, x,y be set st n in dom f & x in X1 & y in X2 holds
         chi(f.n,[:X1,X2:]).(x,y) = chi(A.n,X1).x * chi(B.n,X2).y)
        by A1,Th66;

   deffunc F(set) = chi(f.$1,[:X1,X2:]);

   consider Xf be FinSequence such that
A3: len Xf = len f & for n be Nat st n in dom Xf holds Xf.n = F(n)
      from FINSEQ_1:sch 2;

   now let z be set;
    assume z in rng Xf; then
    consider i be object such that
A4:  i in dom Xf & z = Xf.i by FUNCT_1:def 3;
    reconsider i as Nat by A4;
    z = chi(f.i,[:X1,X2:]) by A3,A4;
    hence z in Funcs([:X1,X2:],ExtREAL) by FUNCT_2:8;
   end; then
   rng Xf c= Funcs([:X1,X2:],ExtREAL); then
   reconsider Xf as FinSequence of Funcs([:X1,X2:],ExtREAL) by FINSEQ_1:def 4;

   now let n be Nat;
    assume n in dom Xf; then
    Xf.n = chi(f.n,[:X1,X2:]) by A3; then
    rng (Xf.n) c= {0,1} by FUNCT_3:39; then
    not -infty in rng (Xf.n);
    hence Xf.n is without-infty by MESFUNC5:def 3;
   end; then
   Xf is without_-infty-valued; then
   reconsider Xf as summable FinSequence of Funcs([:X1,X2:],ExtREAL);

   take f,A,B,Xf;
   defpred P[Nat] means $1 in dom f
     implies (Partial_Sums Xf).$1 = chi(Union (f|$1),[:X1,X2:]);
A9:dom Xf = dom f by A3,FINSEQ_3:29;
A5:P[0] by FINSEQ_3:24;
A6:for k be Nat st P[k] holds P[k+1]
   proof
    let k be Nat;
    assume A7: P[k];
    assume A8: k+1 in dom f;
    per cases;
    suppose A10: k = 0; then
A11: (Partial_Sums Xf).(k+1) = Xf.(k+1) by DEF13
      .= chi(f.(k+1),[:X1,X2:]) by A3,A8,A9;
     f is non empty by A8; then
     f|(k+1) = <*f.(k+1)*> by A10,FINSEQ_5:20; then
     rng (f|(k+1)) = {f.(k+1)} by FINSEQ_1:39; then
     union rng (f|(k+1)) = f.(k+1) by ZFMISC_1:25;
     hence (Partial_Sums Xf).(k+1) = chi(Union (f|(k+1)),[:X1,X2:])
       by A11,CARD_3:def 4;
    end;
    suppose k <> 0; then
A12: k >= 1 by NAT_1:14;
A13: 1 <= k+1 <= len Xf by A8,A3,FINSEQ_3:25; then
A14: k < len Xf by NAT_1:13; then
     k < len (Partial_Sums Xf) by DEF13; then
     k in dom (Partial_Sums Xf) by A12,FINSEQ_3:25; then
A16: (Partial_Sums Xf)/.k
      = chi(Union (f|k),[:X1,X2:]) by A3,A14,A7,A12,FINSEQ_3:25,PARTFUN1:def 6;

A17: Xf/.(k+1) = Xf.(k+1) by A8,A9,PARTFUN1:def 6
      .= chi(f.(k+1),[:X1,X2:]) by A8,A9,A3;

A24: now assume Union (f|k) /\ f.(k+1) <> {}; then
      consider z be object such that
A18:   z in Union (f|k) /\ f.(k+1) by XBOOLE_0:def 1;
A19:  z in Union (f|k) & z in f.(k+1) by A18,XBOOLE_0:def 4; then
      z in union rng (f|k) by CARD_3:def 4; then
      consider Z be set such that
A20:   z in Z & Z in rng (f|k) by TARSKI:def 4;
      consider j be Element of NAT such that
A21:   j in dom(f|k) & Z = (f|k).j by A20,PARTFUN1:3;
      1 <= j <= len(f|k) by A21,FINSEQ_3:25; then
A22:  1 <= j <= k by A14,A3,FINSEQ_1:59; then
A23:  Z = f.j by A21,FINSEQ_3:112;
      j <> k+1 by A22,NAT_1:13; then
      f.j misses f.(k+1) by PROB_2:def 2;
      hence contradiction by A23,A19,A20,XBOOLE_0:def 4;
     end;

A25: (Partial_Sums Xf).(k+1)
      = chi(Union (f|k),[:X1,X2:]) + chi(f.(k+1),[:X1,X2:])
         by A16,A17,A12,A13,DEF13,NAT_1:13;

     1 <= k+1 <= len(Partial_Sums Xf) by A13,DEF13; then
     k+1 in dom(Partial_Sums Xf) by FINSEQ_3:25; then
A26:(Partial_Sums Xf)/.(k+1) = (Partial_Sums Xf).(k+1)
       by PARTFUN1:def 6;
     now let z be Element of [:X1,X2:];
      dom(chi(Union (f|k),[:X1,X2:]) + chi(f.(k+1),[:X1,X2:])) = [:X1,X2:]
        by A25,A26,FUNCT_2:def 1; then
A28: ((Partial_Sums Xf).(k+1)).z
       = chi(Union (f|k),[:X1,X2:]).z + chi(f.(k+1),[:X1,X2:]).z
           by A25,MESFUNC1:def 3;
      per cases;
      suppose A31: z in Union(f|(k+1)); then
       z in union rng(f|(k+1)) by CARD_3:def 4; then
       consider Z be set such that
A29:    z in Z & Z in rng(f|(k+1)) by TARSKI:def 4;
       consider j be Element of NAT such that
A30:    j in dom(f|(k+1)) & Z = (f|(k+1)).j by A29,PARTFUN1:3;
A36:   1 <= j <= len(f|(k+1)) by A30,FINSEQ_3:25; then
A32:   1 <= j & j <= k+1 by A13,A3,FINSEQ_1:59; then
A33:   Z = f.j by A30,FINSEQ_3:112;
       now per cases;
        suppose j = k+1; then
A34:     z in f.(k+1) by A29,A30,FINSEQ_3:112; then
A35:     chi(f.(k+1),[:X1,X2:]).z = 1 by FUNCT_3:def 3;
         not z in Union(f|k) by A24,A34,XBOOLE_0:def 4; then
         chi(Union(f|k),[:X1,X2:]).z = 0 by FUNCT_3:def 3;
         hence ((Partial_Sums Xf).(k+1)).z = 1 by A28,A35,XXREAL_3:4;
        end;
        suppose j <> k+1; then
         j < k+1 by A32,XXREAL_0:1; then
A37:     j <= k by NAT_1:13; then
         j <= len(f|k) by A3,A14,FINSEQ_1:59; then
         j in dom(f|k) & Z = (f|k).j by A33,A36,A37,FINSEQ_3:25,112; then
         Z in rng(f|k) by FUNCT_1:3; then
         z in union rng(f|k) by A29,TARSKI:def 4; then
A38:     z in Union(f|k) by CARD_3:def 4; then
A39:     chi(Union(f|k),[:X1,X2:]).z = 1 by FUNCT_3:def 3;
         not z in f.(k+1) by A24,A38,XBOOLE_0:def 4; then
         chi(f.(k+1),[:X1,X2:]).z = 0 by FUNCT_3:def 3;
         hence ((Partial_Sums Xf).(k+1)).z = 1 by A28,A39,XXREAL_3:4;
        end;
       end;
       hence ((Partial_Sums Xf).(k+1)).z
         = chi(Union (f|(k+1)),[:X1,X2:]).z by A31,FUNCT_3:def 3;
      end;
      suppose A40: not z in Union(f|(k+1)); then
A41:   chi(Union(f|(k+1)),[:X1,X2:]).z = 0 by FUNCT_3:def 3;
A42:   not z in union rng(f|(k+1)) by A40,CARD_3:def 4;
A43:   for j be Nat st 1<= j <= k+1 holds not z in f.j
       proof
        let j be Nat;
        assume B1: 1 <= j <= k+1; then
        1 <= j <= len(f|(k+1)) by A3,A13,FINSEQ_1:59; then
        j in dom(f|(k+1)) by FINSEQ_3:25; then
        (f|(k+1)).j in rng(f|(k+1)) by FUNCT_1:3; then
        f.j in rng(f|(k+1)) by B1,FINSEQ_3:112;
        hence not z in f.j by A42,TARSKI:def 4;
       end;
       now assume z in Union(f|k); then
        z in union rng(f|k) by CARD_3:def 4; then
        consider Z be set such that
A46:     z in Z & Z in rng(f|k) by TARSKI:def 4;
        consider j be Element of NAT such that
A47:     j in dom(f|k) & Z = (f|k).j by A46,PARTFUN1:3;
        1 <= j <= len(f|k) by A47,FINSEQ_3:25; then
A48:    1 <= j <= k by A3,A14,FINSEQ_1:59; then
        1 <= j <= k+1 by NAT_1:13; then
        not z in f.j by A43;
        hence contradiction by A46,A47,A48,FINSEQ_3:112;
       end; then
A50:   chi(Union(f|k),[:X1,X2:]).z = 0 by FUNCT_3:def 3;

       1<=k+1 by NAT_1:11; then
       not z in f.(k+1) by A43; then
       chi(f.(k+1),[:X1,X2:]).z = 0 by FUNCT_3:def 3;

       hence ((Partial_Sums Xf).(k+1)).z
         = chi(Union (f|(k+1)),[:X1,X2:]).z by A41,A28,A50;
      end;
     end;
     hence (Partial_Sums Xf).(k+1) = chi(Union (f|(k+1)),[:X1,X2:])
       by A26,FUNCT_2:def 8;
    end;
   end;
A51:for n be Nat holds P[n] from NAT_1:sch 2(A5,A6);
   thus E = Union f by A2;
   union rng f <> {} by A1,A2,CARD_3:def 4; then
   dom f <> {} by ZFMISC_1:2,RELAT_1:42; then
   Seg len f <> {} by FINSEQ_1:def 3; then
A52:len f in Seg len f by FINSEQ_3:7;
   hence
A53:len f in dom f by FINSEQ_1:def 3;
   thus len f = len A & len f = len B by A2;
   thus len f = len Xf by A3;
   thus for n be Nat st n in dom f holds f.n = [:A.n,B.n:]
   proof
    let n be Nat;
    assume
A54: n in dom f; then
    f.n in measurable_rectangles(S1,S2) by PARTFUN1:4; then
    f.n in the set of all [:A,B:] where A is Element of S1, B is Element of S2
      by MEASUR10:def 5; then
    consider An be Element of S1, Bn be Element of S2 such that
A55: f.n = [:An,Bn:];
    per cases;
    suppose A57: f.n = {}; then
     A.n = proj1 {} & B.n = proj2 {} by A2,A54;
     hence f.n = [:A.n,B.n:] by A57,ZFMISC_1:90;
    end;
    suppose f.n <> {}; then
A59: proj1(f.n) = An & proj2(f.n) = Bn by A55,FUNCT_5:9;
     proj1(f.n) = A.n & proj2(f.n) = B.n by A2,A54;
     hence f.n = [:A.n,B.n:] by A55,A59;
    end;
   end;
   thus for n be Nat st n in dom Xf holds Xf.n = chi(f.n,[:X1,X2:]) by A3;
A60:(Partial_Sums Xf).(len Xf) = chi(Union(f|(len f)),[:X1,X2:]) by A51,A3,A53
    .= chi(Union f,[:X1,X2:]) by FINSEQ_1:58;
   hence (Partial_Sums Xf).(len Xf) = chi(E,[:X1,X2:]) by A2;
   thus for n be Nat, x,y be set st n in dom Xf & x in X1 & y in X2
          holds (Xf.n).(x,y) = chi(A.n,X1).x * chi(B.n,X2).y
   proof
    let n be Nat, x,y be set;
    assume Q1: n in dom Xf & x in X1 & y in X2; then
    chi(f.n,[:X1,X2:]).(x,y) = chi(A.n,X1).x * chi(B.n,X2).y by A2,A9;
    hence (Xf.n).(x,y) = chi(A.n,X1).x * chi(B.n,X2).y by Q1,A3;
   end;
   thus for x be Element of X1 holds
      ProjMap1(chi(E,[:X1,X2:]),x) = ProjMap1(((Partial_Sums Xf)/.(len Xf)),x)
   proof
    let x be Element of X1;
    len f = len (Partial_Sums Xf) by A3,DEF13; then
    len Xf in dom(Partial_Sums Xf) by A52,A3,FINSEQ_1:def 3;
    hence thesis by A60,A2,PARTFUN1:def 6;
   end;
    let y be Element of X2;
    len f = len (Partial_Sums Xf) by A3,DEF13; then
    len Xf in dom(Partial_Sums Xf) by A52,A3,FINSEQ_1:def 3;
    hence thesis by A60,A2,PARTFUN1:def 6;
end;

theorem Th71:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
  F be FinSequence of measurable_rectangles(S1,S2) holds
   Union F in sigma measurable_rectangles(S1,S2)
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
    F be FinSequence of measurable_rectangles(S1,S2);

   defpred P[Nat] means $1 <= len F implies
     union rng (F|$1) in sigma measurable_rectangles(S1,S2);

A1:P[0] by ZFMISC_1:2,MEASURE1:34;

A2:for k be Nat st P[k] holds P[k+1]
   proof
    let k be Nat;
    assume A3: P[k];
    assume A4: k+1 <= len F; then
    k+1 in dom F by NAT_1:11,FINSEQ_3:25; then
A6: F.(k+1) in measurable_rectangles(S1,S2) by FINSEQ_2:11;
A7: measurable_rectangles(S1,S2) c= sigma measurable_rectangles(S1,S2)
      by PROB_1:def 9;
    len(F|(k+1)) = k+1 by A4,FINSEQ_1:59; then
    F|(k+1) = (F|(k+1)|k) ^ <*(F|(k+1)).(k+1)*> by FINSEQ_3:55
     .= (F|k) ^ <*(F|(k+1)).(k+1)*> by NAT_1:11,FINSEQ_1:82
     .= (F|k) ^ <*F.(k+1)*> by FINSEQ_3:112; then
    rng(F|(k+1)) = rng(F|k) \/ rng <*F.(k+1)*> by FINSEQ_1:31
     .= rng(F|k) \/ {F.(k+1)} by FINSEQ_1:39; then
    union rng(F|(k+1)) = union rng(F|k) \/ union {F.(k+1)} by ZFMISC_1:78
     .= union rng(F|k) \/ F.(k+1) by ZFMISC_1:25;
    hence union rng(F|(k+1)) in sigma measurable_rectangles(S1,S2)
      by A4,A3,NAT_1:13,A6,A7,MEASURE1:34;
   end;
   for k be Nat holds P[k] from NAT_1:sch 2(A1,A2); then
   union rng(F|len F) in sigma measurable_rectangles(S1,S2); then
   union rng F in sigma measurable_rectangles(S1,S2) by FINSEQ_1:58;
   hence Union F in sigma measurable_rectangles(S1,S2) by CARD_3:def 4;
end;

theorem Th75:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
  M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
  E be Element of sigma measurable_rectangles(S1,S2)
st E in Field_generated_by measurable_rectangles(S1,S2) & E <> {}
ex F be disjoint_valued FinSequence of measurable_rectangles(S1,S2),
   A be FinSequence of S1, B be FinSequence of S2,
   C be summable FinSequence of Funcs([:X1,X2:],ExtREAL),
   I be summable FinSequence of Funcs(X1,ExtREAL),
   J be summable FinSequence of Funcs(X2,ExtREAL)
   st
    E = Union F & len F in dom F & len F = len A & len F = len B
  & len F = len C & len F = len I
  & len F = len J
  & ( for n be Nat st n in dom C holds C.n = chi(F.n,[:X1,X2:]) )
  & (Partial_Sums C)/.(len C) = chi(E,[:X1,X2:])
  & ( for x be Element of X1, n be Nat st n in dom I holds
       (I.n).x = Integral(M2,ProjMap1((C/.n),x)) )
  & ( for n be Nat, P be Element of S1 st n in dom I holds
       I/.n is P-measurable)
  & ( for x be Element of X1 holds
       Integral(M2,ProjMap1(((Partial_Sums C)/.(len C)),x))
         = ((Partial_Sums I)/.(len I)).x)
  & ( for y be Element of X2, n be Nat st n in dom J holds
       (J.n).y = Integral(M1,ProjMap2((C/.n),y)) )
  & ( for n be Nat, P be Element of S2 st n in dom J holds
       J/.n is P-measurable)
  & ( for y be Element of X2 holds
       Integral(M1,ProjMap2(((Partial_Sums C)/.(len C)),y))
         = ((Partial_Sums J)/.(len J)).y)
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
   M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
   E be Element of sigma measurable_rectangles(S1,S2);
   assume
A1: E in Field_generated_by measurable_rectangles(S1,S2) & E <> {};
   consider F be disjoint_valued FinSequence of measurable_rectangles(S1,S2),
    A be FinSequence of S1, B be FinSequence of S2,
    C be summable FinSequence of Funcs([:X1,X2:],ExtREAL) such that
A2:  E = Union F & len F in dom F & len F = len A & len F = len B
   & len F = len C
   & ( for n be Nat st n in dom F holds F.n = [:A.n,B.n:] )
   & ( for n be Nat st n in dom C holds C.n = chi(F.n,[:X1,X2:]) )
   & (Partial_Sums C).(len C) = chi(E,[:X1,X2:])
   & ( for n be Nat, x,y be set st n in dom C & x in X1 & y in X2
         holds (C.n).(x,y) = chi(A.n,X1).x * chi(B.n,X2).y )
   & ( for x be Element of X1 holds
        ProjMap1(chi(E,[:X1,X2:]),x)
        = ProjMap1(((Partial_Sums C)/.(len C)),x) )
   & ( for y be Element of X2 holds
        ProjMap2(chi(E,[:X1,X2:]),y)
        = ProjMap2(((Partial_Sums C)/.(len C)),y) ) by A1,Th70;
A3:measurable_rectangles(S1,S2) c= sigma measurable_rectangles(S1,S2)
      by PROB_1:def 9;

   defpred PI[Nat,object] means
    ex f be Function of X1,ExtREAL st
     f = $2
   & for x be Element of X1 holds f.x = Integral(M2,ProjMap1((C/.$1),x));

I1:for n be Nat st n in Seg len F ex z be object st PI[n,z]
   proof
    let n be Nat;
    assume n in Seg len F;
    deffunc F2(Element of X1) = Integral(M2,ProjMap1((C/.n),$1));
    consider f be Function of X1,ExtREAL such that
I2:  for x be Element of X1 holds f.x = F2(x) from FUNCT_2:sch 4;
    take z=f;
    thus ex f be Function of X1,ExtREAL st f = z
    & for x be Element of X1 holds f.x = Integral(M2,ProjMap1((C/.n),x)) by I2;
   end;

   consider I be FinSequence such that
I3: dom I = Seg len F
  & for n be Nat st n in Seg len F holds PI[n,I.n] from FINSEQ_1:sch 1(I1);

   now let z be set;
    assume z in rng I; then
    consider n be object such that
I4:  n in dom I & z = I.n by FUNCT_1:def 3;
    reconsider n as Element of NAT by I4;
    consider f be Function of X1,ExtREAL such that
I5:  f = I.n &
     for x be Element of X1 holds f.x = Integral(M2,ProjMap1((C/.n),x))
       by I3,I4;
    dom f = X1 & rng f c= ExtREAL by FUNCT_2:def 1;
    hence z in Funcs(X1,ExtREAL) by I4,I5,FUNCT_2:def 2;
   end; then
   rng I c= Funcs(X1,ExtREAL); then
   reconsider I as FinSequence of Funcs(X1,ExtREAL) by FINSEQ_1:def 4;

I6:for x be Element of X1, n be Nat st n in dom I holds
        (I.n).x = Integral(M2,ProjMap1((C/.n),x))
   proof
    let x be Element of X1, n be Nat;
    assume I7: n in dom I; then
    n in dom F by I3,FINSEQ_1:def 3; then
    reconsider Fn = F.n as Element of sigma measurable_rectangles(S1,S2)
      by A3,PARTFUN1:4;
    ex f be Function of X1,ExtREAL st f = I.n &
     for x be Element of X1 holds f.x = Integral(M2,ProjMap1((C/.n),x))
       by I3,I7;
    hence (I.n).x = Integral(M2,ProjMap1((C/.n),x));
   end;

I7:now let n be Nat;
    assume I8: n in dom I; then
    consider f be Function of X1,ExtREAL such that
I9:  f = I.n &
     for x be Element of X1 holds f.x = Integral(M2,ProjMap1((C/.n),x))
       by I3;
I10:n in dom F by I3,I8,FINSEQ_1:def 3; then
    reconsider Fn = F.n as Element of sigma measurable_rectangles(S1,S2)
      by A3,PARTFUN1:4;
    F.n in measurable_rectangles(S1,S2) by I10,PARTFUN1:4; then
    F.n in the set of all [:A,B:] where A is Element of S1, B is Element of S2
      by MEASUR10:def 5; then
    consider An be Element of S1, Bn be Element of S2 such that
I11: F.n = [:An,Bn:];
    for x be Element of X1 holds 0 <= f.x
    proof
     let x be Element of X1;
I12: n in dom C by I3,I8,A2,FINSEQ_1:def 3; then
     C/.n = C.n by PARTFUN1:def 6; then
I13: C/.n = chi(F.n,[:X1,X2:]) by A2,I12;
     f.x = Integral(M2,ProjMap1((C/.n),x)) by I9; then
I14: f.x = M2.(Measurable-X-section(Fn,x)) * chi(An,X1).x by I11,I13,Th65;
     M2.(Measurable-X-section(Fn,x)) >= 0 & chi(An,X1).x >= 0 by SUPINF_2:51;
     hence 0 <= f.x by I14;
    end; then
    I.n is nonnegative Function of X1,ExtREAL by I9,SUPINF_2:39;
    hence I.n is without-infty;
   end; then
I15:I is without_-infty-valued; then
   reconsider I as summable FinSequence of Funcs(X1,ExtREAL);
   defpred PJ[Nat,object] means
    ex f be Function of X2,ExtREAL st
     f = $2
   & for x be Element of X2 holds f.x = Integral(M1,ProjMap2((C/.$1),x));
J1:for n be Nat st n in Seg len F ex z be object st PJ[n,z]
   proof
    let n be Nat;
    assume n in Seg len F;
    deffunc F2(Element of X2) = Integral(M1,ProjMap2((C/.n),$1));
    consider f be Function of X2,ExtREAL such that
J2:  for x be Element of X2 holds f.x = F2(x) from FUNCT_2:sch 4;
    take z=f;
    thus ex f be Function of X2,ExtREAL st f = z
    & for x be Element of X2 holds f.x = Integral(M1,ProjMap2((C/.n),x)) by J2;
   end;

   consider J be FinSequence such that
J3: dom J = Seg len F
  & for n be Nat st n in Seg len F holds PJ[n,J.n] from FINSEQ_1:sch 1(J1);
   now let z be set;
    assume z in rng J; then
    consider n be object such that
J4:  n in dom J & z = J.n by FUNCT_1:def 3;
    reconsider n as Element of NAT by J4;
    consider f be Function of X2,ExtREAL such that
J5:  f = J.n &
     for x be Element of X2 holds f.x = Integral(M1,ProjMap2((C/.n),x))
       by J3,J4;
    dom f = X2 & rng f c= ExtREAL by FUNCT_2:def 1;
    hence z in Funcs(X2,ExtREAL) by J4,J5,FUNCT_2:def 2;
   end; then
   rng J c= Funcs(X2,ExtREAL); then
   reconsider J as FinSequence of Funcs(X2,ExtREAL) by FINSEQ_1:def 4;

J6:for x be Element of X2, n be Nat st n in dom J holds
        (J.n).x = Integral(M1,ProjMap2((C/.n),x))
   proof
    let x be Element of X2, n be Nat;
    assume J7: n in dom J; then
    n in dom F by J3,FINSEQ_1:def 3; then
    reconsider Fn = F.n as Element of sigma measurable_rectangles(S1,S2)
      by A3,PARTFUN1:4;
    ex f be Function of X2,ExtREAL st f = J.n &
     for x be Element of X2 holds f.x = Integral(M1,ProjMap2((C/.n),x))
       by J3,J7;
    hence (J.n).x = Integral(M1,ProjMap2((C/.n),x));
   end;

J7:now let n be Nat;
    assume J8: n in dom J; then
    consider f be Function of X2,ExtREAL such that
J9:  f = J.n &
     for x be Element of X2 holds f.x = Integral(M1,ProjMap2((C/.n),x))
       by J3;

J10:n in dom F by J3,J8,FINSEQ_1:def 3; then
    reconsider Fn = F.n as Element of sigma measurable_rectangles(S1,S2)
      by A3,PARTFUN1:4;

    F.n in measurable_rectangles(S1,S2) by J10,PARTFUN1:4; then
    F.n in the set of all [:A,B:] where A is Element of S1, B is Element of S2
      by MEASUR10:def 5; then
    consider An be Element of S1, Bn be Element of S2 such that
J11: F.n = [:An,Bn:];

    for x be Element of X2 holds 0 <= f.x
    proof
     let x be Element of X2;
J12: n in dom C by J3,J8,A2,FINSEQ_1:def 3; then
     C/.n = C.n by PARTFUN1:def 6; then
J13: C/.n = chi(F.n,[:X1,X2:]) by A2,J12;
     f.x = Integral(M1,ProjMap2((C/.n),x)) by J9; then
J14: f.x = M1.(Measurable-Y-section(Fn,x)) * chi(Bn,X2).x by J11,J13,Th65;
     M1.(Measurable-Y-section(Fn,x)) >= 0 & chi(Bn,X2).x >= 0 by SUPINF_2:51;
     hence 0 <= f.x by J14;
    end; then
    J.n is nonnegative Function of X2,ExtREAL by J9,SUPINF_2:39;
    hence J.n is without-infty;
   end; then
J15:J is without_-infty-valued; then
   reconsider J as summable FinSequence of Funcs(X2,ExtREAL);

   take F,A,B,C,I,J;
   thus E = Union F & len F in dom F & len F = len A & len F = len B
   & len F = len C by A2;
   thus
K1: len F = len I & len F = len J by I3,J3,FINSEQ_1:def 3;
   thus for n be Nat st n in dom C holds C.n = chi(F.n,[:X1,X2:]) by A2;
   len C = len(Partial_Sums C) by DEF13; then
   dom F = dom(Partial_Sums C) by A2,FINSEQ_3:29;
   hence (Partial_Sums C)/.(len C) = chi(E,[:X1,X2:]) by A2,PARTFUN1:def 6;
   thus for x be Element of X1, n be Nat st n in dom I holds
       (I.n).x = Integral(M2,ProjMap1((C/.n),x)) by I6;
   thus for n be Nat, P be Element of S1 st n in dom I holds
       I/.n is P-measurable
   proof
    let n be Nat, P be Element of S1;
    assume I16: n in dom I; then
    consider f be Function of X1,ExtREAL such that
I17: f = I.n &
     for x be Element of X1 holds f.x = Integral(M2,ProjMap1((C/.n),x))
       by I3;
I18:I/.n = f by I16,I17,PARTFUN1:def 6;

I19:n in dom F by I3,I16,FINSEQ_1:def 3; then
    F.n in measurable_rectangles(S1,S2) by PARTFUN1:4; then
    F.n in the set of all [:A,B:] where A is Element of S1, B is Element of S2
      by MEASUR10:def 5; then
    consider An be Element of S1, Bn be Element of S2 such that
I20: F.n = [:An,Bn:];
    reconsider Fn = F.n as Element of sigma measurable_rectangles(S1,S2)
      by A3,I19,PARTFUN1:4;
    per cases;
    suppose I21: M2.Bn = +infty;
     for x be Element of X1 holds f.x = Xchi(An,X1).x
     proof
      let x be Element of X1;
I22:  f.x = Integral(M2,ProjMap1((C/.n),x)) by I17;
I23:  n in dom C by I3,I16,A2,FINSEQ_1:def 3; then
      C/.n = C.n by PARTFUN1:def 6; then
      C/.n = chi(F.n,[:X1,X2:]) by A2,I23; then
I24:  f.x = M2.(Measurable-X-section(Fn,x)) * chi(An,X1).x by I20,I22,Th65;
      per cases;
      suppose I25: x in An; then
       M2.(Measurable-X-section(Fn,x)) = +infty & chi(An,X1).x = 1
         by I20,I21,Th16,FUNCT_3:def 3; then
       f.x = +infty by I24,XXREAL_3:81;
       hence f.x = Xchi(An,X1).x by I25,MEASUR10:def 7;
      end;
      suppose I26: not x in An; then
       chi(An,X1).x = 0 by FUNCT_3:def 3; then
       f.x = 0 by I24;
       hence f.x = Xchi(An,X1).x by I26,MEASUR10:def 7;
      end;
     end; then
     f = Xchi(An,X1) by FUNCT_2:def 8;
     hence I/.n is P-measurable by I18,MEASUR10:32;
    end;
    suppose I27: M2.Bn <> +infty;
     M2.Bn >= 0 by SUPINF_2:51; then
     M2.Bn in REAL by I27,XXREAL_0:14; then
     reconsider r = M2.Bn as Real;
I28: dom chi(An,X1) = X1 by FUNCT_2:def 1; then
I29: dom f = X1 & dom (r(#)chi(An,X1)) = X1 by MESFUNC1:def 6,FUNCT_2:def 1;
     for x be Element of X1 st x in dom f holds f.x = (r(#)chi(An,X1)).x
     proof
      let x be Element of X1;
      assume x in dom f;
I30:  f.x = Integral(M2,ProjMap1((C/.n),x)) by I17;
I31:  n in dom C by I3,I16,A2,FINSEQ_1:def 3; then
      C/.n = C.n by PARTFUN1:def 6; then
      C/.n = chi(F.n,[:X1,X2:]) by I31,A2; then
I32:  f.x = M2.(Measurable-X-section(Fn,x)) * chi(An,X1).x by I20,I30,Th65;
I33:  (r(#)chi(An,X1)).x = r * chi(An,X1).x by I29,MESFUNC1:def 6;
      per cases;
      suppose x in An;
       hence f.x = (r(#)chi(An,X1)).x by I33,I32,I20,Th16;
      end;
      suppose not x in An; then
I34:   chi(An,X1).x = 0 by FUNCT_3:def 3;
       (r(#)chi(An,X1)).x = r * chi(An,X1).x by I29,MESFUNC1:def 6;
       hence f.x = (r(#)chi(An,X1)).x by I34,I32;
      end;
     end; then
     f = r(#)chi(An,X1) by I29,PARTFUN1:5;
     hence I/.n is P-measurable by I18,I28,MESFUNC2:29,MESFUNC1:37;
    end;
   end;

   thus for x be Element of X1 holds
       Integral(M2,ProjMap1(((Partial_Sums C)/.(len C)),x))
         = ((Partial_Sums I)/.(len I)).x
   proof
    let x be Element of X1;

    defpred P2[Nat] means $1 in dom I implies
      ((Partial_Sums I).$1).x
       = Integral(M2,ProjMap1(chi(union rng (F|$1),[:X1,X2:]),x));
I35:P2[0] by FINSEQ_3:24;
I36:for k be Nat st P2[k] holds P2[k+1]
    proof
     let k be Nat;
     assume I37: P2[k];
     assume I38: k+1 in dom I; then
I39: 1 <= k+1 <= len I by FINSEQ_3:25; then
I40: k < len I by NAT_1:13; then
I41: k < len (Partial_Sums I) by DEF13;
     per cases;
     suppose I42: k = 0;
I43:  1 <= len I by I39,XXREAL_0:2; then
      consider f be Function of X1,ExtREAL such that
I44:   f = I.1 &
       for x be Element of X1 holds f.x = Integral(M2,ProjMap1((C/.1),x))
         by I3,FINSEQ_3:25;
      1 in Seg len F by I43,I3,FINSEQ_3:25; then
I46:  1 in dom C by A2,FINSEQ_1:def 3; then
I47:  C/.1 = C.1 by PARTFUN1:def 6 .= chi(F.1,[:X1,X2:]) by I46,A2;
      F <> {} by I38,I3; then
      F|1 = <*F.1*> by FINSEQ_5:20; then
      rng(F|1) = {F.1}  by FINSEQ_1:39; then
I49:  C/.1 = chi(union rng(F|1),[:X1,X2:]) by I47,ZFMISC_1:25;
      (Partial_Sums I).(k+1) = f by I42,I44,DEF13;
      hence ((Partial_Sums I).(k+1)).x
       = Integral(M2,ProjMap1(chi(union rng (F|(k+1)),[:X1,X2:]),x))
            by I44,I49,I42;
     end;
     suppose k <> 0; then
I50:  1 <= k by NAT_1:14;
      k <= len(Partial_Sums I) by I40,DEF13; then
I51:  k in dom (Partial_Sums I) by I50,FINSEQ_3:25; then
I52:  ((Partial_Sums I)/.k).x
        = Integral(M2,ProjMap1(chi(union rng(F|k),[:X1,X2:]),x))
           by I37,I50,I40,FINSEQ_3:25,PARTFUN1:def 6
       .= Integral(M2,ProjMap1(chi(Union(F|k),[:X1,X2:]),x)) by CARD_3:def 4;

I53:  ((Partial_Sums I).(k+1)).x = ( (Partial_Sums I)/.k + I/.(k+1) ).x
        by I39,I50,NAT_1:13,DEF13;

      (Partial_Sums I) is without_-infty-valued by I15,Th57; then
      (Partial_Sums I).k is without-infty by I50,I41,FINSEQ_3:25; then
I54:  (Partial_Sums I)/.k is without-infty by I51,PARTFUN1:def 6;

      I.(k+1) is without-infty by I7,I38; then
      I/.(k+1) is without-infty by I38,PARTFUN1:def 6; then
      dom( (Partial_Sums I)/.k + I/.(k+1) )
        = dom((Partial_Sums I)/.k) /\ dom (I/.(k+1)) by I54,MESFUNC5:16
       .= X1 /\ dom(I/.(k+1)) by FUNCT_2:def 1
       .= X1 /\ X1 by FUNCT_2:def 1
       .= X1; then
I55:  ((Partial_Sums I).(k+1)).x = ((Partial_Sums I)/.k).x + (I/.(k+1)).x
        by I53,MESFUNC1:def 3;
      reconsider E1 = Union(F|k)
        as Element of sigma measurable_rectangles(S1,S2) by Th71;
I56:  k+1 in dom C & k+1 in dom F by A2,I38,I3,FINSEQ_1:def 3; then
      reconsider E2 = F.(k+1)
        as Element of sigma measurable_rectangles(S1,S2) by A3,FINSEQ_2:11;
I57:  C/.(k+1) = C.(k+1) by I56,PARTFUN1:def 6
       .= chi(E2,[:X1,X2:]) by A2,I56;

      I/.(k+1) = I.(k+1) by I38,PARTFUN1:def 6; then
I58:  ((Partial_Sums I).(k+1)).x
       = Integral(M2,ProjMap1(chi(E1,[:X1,X2:]),x))
        + Integral(M2,ProjMap1((C/.(k+1)),x)) by I6,I38,I52,I55
      .= M2.(Measurable-X-section(E1,x))
        + Integral(M2,ProjMap1(chi(E2,[:X1,X2:]),x)) by I57,Th68
      .= M2.(Measurable-X-section(E1,x))
        + M2.(Measurable-X-section(E2,x)) by Th68;
      k < k+1 by NAT_1:13; then
      union rng(F|k) misses F.(k+1) by Th72; then
I59:   E1 misses E2 by CARD_3:def 4;
      union rng(F|k) \/ F.(k+1) = union rng(F|(k+1)) by Th74; then
I60:  E1 \/ E2 = union rng(F|(k+1)) by CARD_3:def 4; then
      reconsider E3 = union rng(F|(k+1))
        as Element of sigma measurable_rectangles(S1,S2);

      M2.(Measurable-X-section(E1,x) \/ Measurable-X-section(E2,x))
       = M2.( Measurable-X-section(E3,x) ) by I60,Th20
      .= Integral(M2,ProjMap1(chi(union rng (F|(k+1)),[:X1,X2:]),x))
            by Th68;
      hence ((Partial_Sums I).(k+1)).x
       = Integral(M2,ProjMap1(chi(union rng (F|(k+1)),[:X1,X2:]),x))
           by I59,I58,Th29,MEASURE1:30;
     end;
    end;
I61:for k be Nat holds P2[k] from NAT_1:sch 2(I35,I36);

I62:I <> {} by A2,I3,FINSEQ_1:def 3; then
    len I in dom I by FINSEQ_5:6; then
    len I in Seg len I by FINSEQ_1:def 3; then
    len I in Seg len(Partial_Sums I) by DEF13; then
    len I in dom(Partial_Sums I) by FINSEQ_1:def 3; then
I63: ((Partial_Sums I)/.(len I)).x
      = ((Partial_Sums I).(len I)).x by PARTFUN1:def 6
     .= Integral(M2,ProjMap1(chi(union rng(F|(len I)),[:X1,X2:]),x))
        by I61,I62,FINSEQ_5:6;
    E = union rng F by A2,CARD_3:def 4
     .= union rng(F|(len I)) by K1,FINSEQ_1:58;
    hence Integral(M2,ProjMap1(((Partial_Sums C)/.(len C)),x))
         = ((Partial_Sums I)/.(len I)).x by A2,I63;
   end;
   thus for x be Element of X2, n be Nat st n in dom J holds
       (J.n).x = Integral(M1,ProjMap2((C/.n),x)) by J6;
   thus for n be Nat, P be Element of S2 st n in dom J holds
       J/.n is P-measurable
   proof
    let n be Nat, P be Element of S2;
    assume I16: n in dom J; then
    consider f be Function of X2,ExtREAL such that
I17: f = J.n &
     for x be Element of X2 holds f.x = Integral(M1,ProjMap2((C/.n),x))
       by J3;
I18:J/.n = f by I16,I17,PARTFUN1:def 6;
I19:n in dom F by J3,I16,FINSEQ_1:def 3; then
    F.n in measurable_rectangles(S1,S2) by PARTFUN1:4; then
    F.n in the set of all [:A,B:] where A is Element of S1, B is Element of S2
      by MEASUR10:def 5; then
    consider An be Element of S1, Bn be Element of S2 such that
I20: F.n = [:An,Bn:];
    reconsider Fn = F.n as Element of sigma measurable_rectangles(S1,S2)
      by A3,I19,PARTFUN1:4;
    per cases;
    suppose I21: M1.An = +infty;
     for x be Element of X2 holds f.x = Xchi(Bn,X2).x
     proof
      let x be Element of X2;
I22:  f.x = Integral(M1,ProjMap2((C/.n),x)) by I17;
I23:  n in dom C by J3,I16,A2,FINSEQ_1:def 3; then
      C/.n = C.n by PARTFUN1:def 6; then
      C/.n = chi(F.n,[:X1,X2:]) by A2,I23; then
I24:  f.x = M1.(Measurable-Y-section(Fn,x)) * chi(Bn,X2).x by I20,I22,Th65;
      per cases;
      suppose I25: x in Bn; then
       M1.(Measurable-Y-section(Fn,x)) = +infty & chi(Bn,X2).x = 1
         by I20,I21,Th16,FUNCT_3:def 3; then
       f.x = +infty by I24,XXREAL_3:81;
       hence f.x = Xchi(Bn,X2).x by I25,MEASUR10:def 7;
      end;
      suppose I26: not x in Bn; then
       chi(Bn,X2).x = 0 by FUNCT_3:def 3; then
       f.x = 0 by I24;
       hence f.x = Xchi(Bn,X2).x by I26,MEASUR10:def 7;
      end;
     end; then
     f = Xchi(Bn,X2) by FUNCT_2:def 8;
     hence J/.n is P-measurable by I18,MEASUR10:32;
    end;
    suppose I27: M1.An <> +infty;
     M1.An >= 0 by SUPINF_2:51; then
     M1.An in REAL by I27,XXREAL_0:14; then
     reconsider r = M1.An as Real;
I28: dom chi(Bn,X2) = X2 by FUNCT_2:def 1; then
I29: dom f = X2 & dom (r(#)chi(Bn,X2)) = X2 by MESFUNC1:def 6,FUNCT_2:def 1;

     for x be Element of X2 st x in dom f holds f.x = (r(#)chi(Bn,X2)).x
     proof
      let x be Element of X2;
      assume x in dom f;
I30:  f.x = Integral(M1,ProjMap2((C/.n),x)) by I17;
I31:  n in dom C by J3,I16,A2,FINSEQ_1:def 3; then
      C/.n = C.n by PARTFUN1:def 6; then
      C/.n = chi(F.n,[:X1,X2:]) by I31,A2; then
I32:  f.x = M1.(Measurable-Y-section(Fn,x)) * chi(Bn,X2).x by I20,I30,Th65;
I33:  (r(#)chi(Bn,X2)).x = r * chi(Bn,X2).x by I29,MESFUNC1:def 6;
      per cases;
      suppose x in Bn;
       hence f.x = (r(#)chi(Bn,X2)).x by I33,I32,I20,Th16;
      end;
      suppose not x in Bn; then
I34:   chi(Bn,X2).x = 0 by FUNCT_3:def 3;
       (r(#)chi(Bn,X2)).x = r * chi(Bn,X2).x by I29,MESFUNC1:def 6;
       hence f.x = (r(#)chi(Bn,X2)).x by I34,I32;
      end;
     end; then
     f = r(#)chi(Bn,X2) by I29,PARTFUN1:5;
     hence J/.n is P-measurable by I18,I28,MESFUNC2:29,MESFUNC1:37;
    end;
   end;

   thus for x be Element of X2 holds
       Integral(M1,ProjMap2(((Partial_Sums C)/.(len C)),x))
         = ((Partial_Sums J)/.(len J)).x
   proof
    let x be Element of X2;
    defpred P2[Nat] means $1 in dom J implies
      ((Partial_Sums J).$1).x
       = Integral(M1,ProjMap2(chi(union rng (F|$1),[:X1,X2:]),x));
I35:P2[0] by FINSEQ_3:24;
I36:for k be Nat st P2[k] holds P2[k+1]
    proof
     let k be Nat;
     assume I37: P2[k];
     assume I38: k+1 in dom J; then
I39: 1 <= k+1 <= len J by FINSEQ_3:25; then
I40: k < len J by NAT_1:13; then
I41: k < len Partial_Sums J by DEF13;
     per cases;
     suppose I42: k = 0;
I43:  1 <= len J by I39,XXREAL_0:2; then
      consider f be Function of X2,ExtREAL such that
I44:   f = J.1 &
       for x be Element of X2 holds f.x = Integral(M1,ProjMap2((C/.1),x))
         by J3,FINSEQ_3:25;
      1 in Seg len F by I43,J3,FINSEQ_3:25; then
I46:  1 in dom C by A2,FINSEQ_1:def 3; then
I47:  C/.1 = C.1 by PARTFUN1:def 6 .= chi(F.1,[:X1,X2:]) by I46,A2;
      F <> {} by I38,J3; then
      F|1 = <*F.1*> by FINSEQ_5:20; then
      rng(F|1) = {F.1} by FINSEQ_1:39; then
I49:  C/.1 = chi(union rng(F|1),[:X1,X2:]) by I47,ZFMISC_1:25;
      (Partial_Sums J).(k+1) = f by I42,I44,DEF13;
      hence ((Partial_Sums J).(k+1)).x
       = Integral(M1,ProjMap2(chi(union rng (F|(k+1)),[:X1,X2:]),x))
            by I44,I49,I42;
     end;
     suppose k <> 0; then
I50:  1 <= k by NAT_1:14;
      k <= len Partial_Sums J by I40,DEF13; then
I51:  k in dom Partial_Sums J by I50,FINSEQ_3:25; then
I52:  ((Partial_Sums J)/.k).x
        = Integral(M1,ProjMap2(chi(union rng(F|k),[:X1,X2:]),x))
           by I37,I50,I40,FINSEQ_3:25,PARTFUN1:def 6
       .= Integral(M1,ProjMap2(chi(Union(F|k),[:X1,X2:]),x)) by CARD_3:def 4;

I53:  ((Partial_Sums J).(k+1)).x = ( (Partial_Sums J)/.k + J/.(k+1) ).x
        by I39,I50,NAT_1:13,DEF13;
      (Partial_Sums J) is without_-infty-valued by J15,Th57; then
      (Partial_Sums J).k is without-infty by I50,I41,FINSEQ_3:25; then
I54:  (Partial_Sums J)/.k is without-infty by I51,PARTFUN1:def 6;
      J.(k+1) is without-infty by J7,I38; then
      J/.(k+1) is without-infty by I38,PARTFUN1:def 6; then
      dom( (Partial_Sums J)/.k + J/.(k+1) )
        = dom((Partial_Sums J)/.k) /\ dom (J/.(k+1)) by I54,MESFUNC5:16
       .= X2 /\ dom(J/.(k+1)) by FUNCT_2:def 1
       .= X2 /\ X2 by FUNCT_2:def 1
       .= X2; then
I55:  ((Partial_Sums J).(k+1)).x = ((Partial_Sums J)/.k).x + (J/.(k+1)).x
        by I53,MESFUNC1:def 3;
      reconsider E1 = Union(F|k)
        as Element of sigma measurable_rectangles(S1,S2) by Th71;
I56:  k+1 in dom C & k+1 in dom F by A2,I38,J3,FINSEQ_1:def 3; then
      reconsider E2 = F.(k+1)
        as Element of sigma measurable_rectangles(S1,S2) by A3,FINSEQ_2:11;
I57:  C/.(k+1) = C.(k+1) by I56,PARTFUN1:def 6
       .= chi(E2,[:X1,X2:]) by A2,I56;
      J/.(k+1) = J.(k+1) by I38,PARTFUN1:def 6; then
I58:  ((Partial_Sums J).(k+1)).x
       = Integral(M1,ProjMap2(chi(E1,[:X1,X2:]),x))
        + Integral(M1,ProjMap2((C/.(k+1)),x)) by J6,I38,I52,I55
      .= M1.(Measurable-Y-section(E1,x))
        + Integral(M1,ProjMap2(chi(E2,[:X1,X2:]),x)) by I57,Th68
      .= M1.(Measurable-Y-section(E1,x))
        + M1.(Measurable-Y-section(E2,x)) by Th68;
      k < k+1 by NAT_1:13; then
      union rng(F|k) misses F.(k+1) by Th72; then
I59:   E1 misses E2 by CARD_3:def 4;
      union rng(F|k) \/ F.(k+1) = union rng(F|(k+1)) by Th74; then
I60:  E1 \/ E2 = union rng(F|(k+1)) by CARD_3:def 4; then
      reconsider E3 = union rng(F|(k+1))
        as Element of sigma measurable_rectangles(S1,S2);
      M1.(Measurable-Y-section(E1,x) \/ Measurable-Y-section(E2,x))
       = M1.( Measurable-Y-section(E3,x) ) by I60,Th20
      .= Integral(M1,ProjMap2(chi(union rng (F|(k+1)),[:X1,X2:]),x))
            by Th68;
      hence ((Partial_Sums J).(k+1)).x
       = Integral(M1,ProjMap2(chi(union rng (F|(k+1)),[:X1,X2:]),x))
           by I59,I58,Th29,MEASURE1:30;
     end;
    end;
I61:for k be Nat holds P2[k] from NAT_1:sch 2(I35,I36);
I62:J <> {} by A2,J3,FINSEQ_1:def 3; then
    len J in dom J by FINSEQ_5:6; then
    len J in Seg len J by FINSEQ_1:def 3; then
    len J in Seg len(Partial_Sums J) by DEF13; then
    len J in dom(Partial_Sums J) by FINSEQ_1:def 3; then
I63: ((Partial_Sums J)/.(len J)).x
      = ((Partial_Sums J).(len J)).x by PARTFUN1:def 6
     .= Integral(M1,ProjMap2(chi(union rng(F|(len J)),[:X1,X2:]),x))
        by I61,I62,FINSEQ_5:6;
    E = union rng F by A2,CARD_3:def 4
     .= union rng(F|(len J)) by K1,FINSEQ_1:58;
    hence Integral(M1,ProjMap2(((Partial_Sums C)/.(len C)),x))
         = ((Partial_Sums J)/.(len J)).x by A2,I63;
   end;
end;

definition
  let X1,X2 be non empty set;
  let S1 be SigmaField of X1, S2 be SigmaField of X2;
  let F be Set_Sequence of sigma measurable_rectangles(S1,S2);
  let n be Nat;
  redefine func F.n -> Element of sigma measurable_rectangles(S1,S2);  :: redefines . (FUNCT_1, definition)
  coherence by MEASURE8:def 2;
end;

definition
  let X1,X2 be non empty set;
  let S1 be SigmaField of X1, S2 be SigmaField of X2;
  let F be Function of [:NAT,sigma measurable_rectangles(S1,S2):],
             sigma measurable_rectangles(S1,S2);
  let n be Element of NAT, E be Element of sigma measurable_rectangles(S1,S2);
  redefine func F.(n,E) -> Element of sigma measurable_rectangles(S1,S2);  :: redefines . (BINOP_1, definition)
  coherence
  proof
   F.(n,E) in sigma measurable_rectangles(S1,S2);
   hence thesis;
  end;
end;

theorem Th76:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
  M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
  E be Element of sigma measurable_rectangles(S1,S2),
  V be Element of S2
 st E in Field_generated_by measurable_rectangles(S1,S2)
 ex F be Function of X1,ExtREAL st
    ( for x be Element of X1 holds
       F.x = M2.(Measurable-X-section(E,x) /\ V))
  & (for P be Element of S1 holds F is P-measurable)
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
   M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
   E be Element of sigma measurable_rectangles(S1,S2),
   V be Element of S2;
   assume
A1: E in Field_generated_by measurable_rectangles(S1,S2);
   X1 in S1 by MEASURE1:7; then
   [:X1,V:] in the set of all [:A,B:]
      where A is Element of S1, B is Element of S2; then
A2:[:X1,V:] in measurable_rectangles(S1,S2) by MEASUR10:def 5;
measurable_rectangles(S1,S2) c= sigma measurable_rectangles(S1,S2)
     by PROB_1:def 9; then
   reconsider E1 = E /\ [:X1,V:] as Element of
      sigma measurable_rectangles(S1,S2) by A2,FINSUB_1:def 2;
A3:measurable_rectangles(S1,S2)
    c= Field_generated_by measurable_rectangles(S1,S2) by SRINGS_3:21;
   per cases;
   suppose A4: E1 = {};
    reconsider A = {} as Element of S1 by MEASURE1:34;
    0 in REAL by XREAL_0:def 1; then
    reconsider F = X1 --> 0 as Function of X1,ExtREAL
      by FUNCOP_1:45,NUMBERS:31;
    take F;
    thus for x be Element of X1 holds F.x = M2.(Measurable-X-section(E,x) /\ V)
    proof
     let x be Element of X1;
A5:  X1 = [#]X1 by SUBSET_1:def 3;
     Measurable-X-section(E,x) /\ V
       = X-section(E,x) /\ X-section([:[#]X1,V:],x) by A5,Th16
      .= X-section({}[:X1,X2:],x) by A4,A5,Th21
      .= {}; then
     M2.(Measurable-X-section(E,x) /\ V) = 0 by VALUED_0:def 19;
     hence F.x = M2.(Measurable-X-section(E,x) /\ V) by FUNCOP_1:7;
    end;
    thus for P be Element of S1 holds F is P-measurable
    proof
     let P be Element of S1;
     for x be Element of X1 holds F.x = chi({},X1).x
     proof
      let x be Element of X1;
      chi({},X1).x = 0 by FUNCT_3:def 3;
      hence F.x = chi({},X1).x by FUNCOP_1:7;
     end; then
     F = chi(A,X1) by FUNCT_2:def 8;
     hence F is P-measurable by MESFUNC2:29;
    end;
   end;
   suppose A6: E1 <> {};
    deffunc F1(Element of X1) = M2.(Measurable-X-section(E,$1) /\ V);
    consider F be Function of X1,ExtREAL such that
A7:  for x be Element of X1 holds F.x = F1(x) from FUNCT_2:sch 4;
    consider f be disjoint_valued FinSequence of measurable_rectangles(S1,S2),
      A be FinSequence of S1, B be FinSequence of S2,
      Xf be summable FinSequence of Funcs([:X1,X2:],ExtREAL),
      If be summable FinSequence of Funcs(X1,ExtREAL),
      Jf be summable FinSequence of Funcs(X2,ExtREAL)
      such that
A8:  E /\ [:X1,V:] = Union f & len f in dom f & len f = len A & len f = len B
   & len f = len Xf & len f = len If & len f = len Jf
   & ( for n be Nat st n in dom Xf holds Xf.n = chi(f.n,[:X1,X2:]) )
   & (Partial_Sums Xf)/.(len Xf) = chi(E /\ [:X1,V:],[:X1,X2:])
   & ( for x be Element of X1, n be Nat st n in dom If holds
       (If.n).x = Integral(M2,ProjMap1((Xf/.n),x)) )
   & ( for n be Nat, P be Element of S1 st n in dom If holds
       If/.n is P-measurable)
   & ( for x be Element of X1 holds
       Integral(M2,ProjMap1(((Partial_Sums Xf)/.(len Xf)),x))
         = ((Partial_Sums If)/.(len If)).x )
   & ( for x be Element of X2, n be Nat st n in dom Jf holds
       (Jf.n).x = Integral(M1,ProjMap2((Xf/.n),x)) )
   & ( for n be Nat, P be Element of S2 st n in dom Jf holds
       Jf/.n is P-measurable)
   & ( for x be Element of X2 holds
       Integral(M1,ProjMap2(((Partial_Sums Xf)/.(len Xf)),x))
         = ((Partial_Sums Jf)/.(len Jf)).x )
           by A3,A2,A1,FINSUB_1:def 2,A6,Th75;

    take F;

    thus for x be Element of X1 holds
       F.x = M2.(Measurable-X-section(E,x) /\ V) by A7;

A9: dom If = dom f by A8,FINSEQ_3:29;

    for x be Element of X1 holds F.x = ((Partial_Sums If)/.(len If)).x
    proof
     let x be Element of X1;
     ((Partial_Sums If)/.(len If)).x
      = Integral(M2,ProjMap1(chi(E /\ [:X1,V:],[:X1,X2:]),x)) by A8
     .= M2.(Measurable-X-section(E,x) /\ V) by Th67;
     hence thesis by A7;
    end; then
A10:F = (Partial_Sums If)/.(len If) by FUNCT_2:def 8;
     let P be Element of S1;
     for n be Nat st n in dom If holds If/.n is P-measurable by A8;
     hence F is P-measurable by A8,A9,A10,Th64;
   end;
end;

theorem Th77:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
  M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
  E be Element of sigma measurable_rectangles(S1,S2),
  V be Element of S1
 st E in Field_generated_by measurable_rectangles(S1,S2)
 ex F be Function of X2,ExtREAL st
   ( for x be Element of X2 holds
      F.x = M1.(Measurable-Y-section(E,x) /\ V))
 & (for P be Element of S2 holds F is P-measurable)
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
   M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
   E be Element of sigma measurable_rectangles(S1,S2),
   V be Element of S1;
   assume
A1: E in Field_generated_by measurable_rectangles(S1,S2);
   X2 in S2 by MEASURE1:7; then
   [:V,X2:] in the set of all [:A,B:]
      where A is Element of S1, B is Element of S2; then
A2:[:V,X2:] in measurable_rectangles(S1,S2) by MEASUR10:def 5;
   measurable_rectangles(S1,S2) c= sigma measurable_rectangles(S1,S2)
     by PROB_1:def 9; then
   reconsider E1 = E /\ [:V,X2:] as Element of
      sigma measurable_rectangles(S1,S2) by A2,FINSUB_1:def 2;
A3:measurable_rectangles(S1,S2)
    c= Field_generated_by measurable_rectangles(S1,S2) by SRINGS_3:21;
   per cases;
   suppose A4: E1 = {};
    reconsider A = {} as Element of S2 by MEASURE1:34;
    0 in REAL by XREAL_0:def 1; then
    reconsider F = X2 --> 0 as Function of X2,ExtREAL
      by FUNCOP_1:45,NUMBERS:31;
    take F;

    thus for x be Element of X2 holds F.x = M1.(Measurable-Y-section(E,x) /\ V)
    proof
     let x be Element of X2;
A5:  X2 = [#]X2 by SUBSET_1:def 3;

     Measurable-Y-section(E,x) /\ V
       = Y-section(E,x) /\ Y-section([:V,[#]X2:],x) by A5,Th16
      .= Y-section({}[:X1,X2:],x) by A4,A5,Th21
      .= {}; then
     M1.(Measurable-Y-section(E,x) /\ V) = 0 by VALUED_0:def 19;
     hence F.x = M1.(Measurable-Y-section(E,x) /\ V) by FUNCOP_1:7;
    end;

    thus for P be Element of S2 holds F is P-measurable
    proof
     let P be Element of S2;
    for x be Element of X2 holds F.x = chi({},X2).x
    proof
     let x be Element of X2;
     chi({},X2).x = 0 by FUNCT_3:def 3;
     hence F.x = chi({},X2).x by FUNCOP_1:7;
    end; then
    F = chi(A,X2) by FUNCT_2:def 8;
    hence F is P-measurable by MESFUNC2:29;
    end;
   end;
   suppose A6: E1 <> {};
    deffunc F1(Element of X2) = M1.(Measurable-Y-section(E,$1) /\ V);
    consider F be Function of X2,ExtREAL such that
A7:  for x be Element of X2 holds F.x = F1(x) from FUNCT_2:sch 4;
    consider f be disjoint_valued FinSequence of measurable_rectangles(S1,S2),
      A be FinSequence of S1, B be FinSequence of S2,
      Xf be summable FinSequence of Funcs([:X1,X2:],ExtREAL),
      If be summable FinSequence of Funcs(X1,ExtREAL),
      Jf be summable FinSequence of Funcs(X2,ExtREAL)
      such that
A8:  E /\ [:V,X2:] = Union f & len f in dom f & len f = len A & len f = len B
   & len f = len Xf & len f = len If & len f = len Jf
   & ( for n be Nat st n in dom Xf holds Xf.n = chi(f.n,[:X1,X2:]) )
   & (Partial_Sums Xf)/.(len Xf) = chi(E /\ [:V,X2:],[:X1,X2:])
   & ( for x be Element of X1, n be Nat st n in dom If holds
       (If.n).x = Integral(M2,ProjMap1((Xf/.n),x)) )
   & ( for n be Nat, P be Element of S1 st n in dom If holds
       If/.n is P-measurable )
   & ( for x be Element of X1 holds
       Integral(M2,ProjMap1(((Partial_Sums Xf)/.(len Xf)),x))
         = ((Partial_Sums If)/.(len If)).x )
   & ( for x be Element of X2, n be Nat st n in dom Jf holds
       (Jf.n).x = Integral(M1,ProjMap2((Xf/.n),x)) )
   & ( for n be Nat, P be Element of S2 st n in dom Jf holds
       Jf/.n is P-measurable )
   & ( for x be Element of X2 holds
       Integral(M1,ProjMap2(((Partial_Sums Xf)/.(len Xf)),x))
         = ((Partial_Sums Jf)/.(len Jf)).x )
           by A3,A1,A2,FINSUB_1:def 2,A6,Th75;
    take F;
    thus for x be Element of X2 holds
       F.x = M1.(Measurable-Y-section(E,x) /\ V) by A7;
A9: dom Jf = dom f by A8,FINSEQ_3:29;
    for x be Element of X2 holds F.x = ((Partial_Sums Jf)/.(len Jf)).x
    proof
     let x be Element of X2;
     ((Partial_Sums Jf)/.(len Jf)).x
      = Integral(M1,ProjMap2(chi(E /\ [:V,X2:],[:X1,X2:]),x)) by A8
     .= M1.(Measurable-Y-section(E,x) /\ V) by Th67;
     hence thesis by A7;
    end; then
A10:F = (Partial_Sums Jf)/.(len Jf) by FUNCT_2:def 8;
     let P be Element of S2;
     for n be Nat st n in dom Jf holds Jf/.n is P-measurable by A8;
     hence F is P-measurable by A8,A9,A10,Th64;
    end;
end;

theorem Th78:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
  M2 be sigma_Measure of S2,
  E be Element of sigma measurable_rectangles(S1,S2)
st
  E in Field_generated_by measurable_rectangles(S1,S2)
holds
  (for B be Element of S2 holds
     E in {E where E is Element of sigma measurable_rectangles(S1,S2) :
          (ex F be Function of X1,ExtREAL st
            (for x be Element of X1 holds
               F.x = M2.(Measurable-X-section(E,x) /\ B))
          & (for V be Element of S1 holds F is V-measurable))} )
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
   M2 be sigma_Measure of S2,
   E be Element of sigma measurable_rectangles(S1,S2);
   assume A0: E in Field_generated_by measurable_rectangles(S1,S2);
   let B be Element of S2;
    (ex F be Function of X1,ExtREAL st
      (for x be Element of X1 holds F.x = M2.(Measurable-X-section(E,x) /\ B))
    & (for V be Element of S1 holds F is V-measurable)) by A0,Th76;
    hence thesis;
end;

theorem Th79:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
  M1 be sigma_Measure of S1,
  E be Element of sigma measurable_rectangles(S1,S2)
st
  E in Field_generated_by measurable_rectangles(S1,S2) holds
  (for B be Element of S1 holds
     E in {E where E is Element of sigma measurable_rectangles(S1,S2) :
          (ex F be Function of X2,ExtREAL st
            (for x be Element of X2 holds
               F.x = M1.(Measurable-Y-section(E,x) /\ B))
          & (for V be Element of S2 holds F is V-measurable))} )
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
   M1 be sigma_Measure of S1,
   E be Element of sigma measurable_rectangles(S1,S2);
   assume A0: E in Field_generated_by measurable_rectangles(S1,S2);
   let B be Element of S1;
    (ex F be Function of X2,ExtREAL st
      (for x be Element of X2 holds F.x = M1.(Measurable-Y-section(E,x) /\ B))
    & (for V be Element of S2 holds F is V-measurable)) by A0,Th77;
   hence thesis;
end;

theorem Th80:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
  M2 be sigma_Measure of S2, B be Element of S2 holds
Field_generated_by measurable_rectangles(S1,S2)
 c= {E where E is Element of sigma measurable_rectangles(S1,S2) :
     (ex F be Function of X1,ExtREAL st
          (for x be Element of X1 holds
                F.x = M2.(Measurable-X-section(E,x) /\ B))
        & (for V be Element of S1 holds F is V-measurable))}
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
   M2 be sigma_Measure of S2, B be Element of S2;
   now let E be set;
     assume A1: E in Field_generated_by measurable_rectangles(S1,S2);
     sigma measurable_rectangles(S1,S2)
      = sigma DisUnion measurable_rectangles(S1,S2) by Th1
     .= sigma Field_generated_by measurable_rectangles(S1,S2)
       by SRINGS_3:22; then
     Field_generated_by measurable_rectangles(S1,S2)
      c= sigma measurable_rectangles(S1,S2)
        by PROB_1:def 9; then
     reconsider E1=E as Element of sigma measurable_rectangles(S1,S2) by A1;
     E1 in Field_generated_by measurable_rectangles(S1,S2) by A1;
     hence E in
   {E where E is Element of sigma measurable_rectangles(S1,S2) :
     (ex F be Function of X1,ExtREAL st
          (for x be Element of X1 holds
                F.x = M2.(Measurable-X-section(E,x) /\ B))
        & (for V be Element of S1 holds F is V-measurable))}by Th78;
   end;
   hence thesis;
end;

theorem Th81:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
  M1 be sigma_Measure of S1, B be Element of S1 holds
Field_generated_by measurable_rectangles(S1,S2)
 c= {E where E is Element of sigma measurable_rectangles(S1,S2) :
     (ex F be Function of X2,ExtREAL st
          (for y be Element of X2 holds
                F.y = M1.(Measurable-Y-section(E,y) /\ B))
        & (for V be Element of S2 holds F is V-measurable))}
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
   M1 be sigma_Measure of S1, B be Element of S1;
   now let E be set;
     assume A1: E in Field_generated_by measurable_rectangles(S1,S2);
     sigma measurable_rectangles(S1,S2)
      = sigma DisUnion measurable_rectangles(S1,S2) by Th1
     .= sigma Field_generated_by measurable_rectangles(S1,S2)
       by SRINGS_3:22; then
     Field_generated_by measurable_rectangles(S1,S2)
      c= sigma measurable_rectangles(S1,S2) by PROB_1:def 9; then
     reconsider E1=E as Element of sigma measurable_rectangles(S1,S2) by A1;
     E1 in Field_generated_by measurable_rectangles(S1,S2) by A1;
     hence E in
   {E where E is Element of sigma measurable_rectangles(S1,S2) :
     (ex F be Function of X2,ExtREAL st
          (for x be Element of X2 holds
                F.x = M1.(Measurable-Y-section(E,x) /\ B))
        & (for V be Element of S2 holds F is V-measurable))}by Th79;
   end;
   hence thesis;
end;

begin :: Sigma finite measure

definition
 let X be non empty set, S be SigmaField of X, M be sigma_Measure of S;
 attr M is sigma_finite means
  ex E be Set_Sequence of S st
   (for n be Nat holds M.(E.n) < +infty) & Union E = X;
end;

LM0902a:
for X be non empty set, S be SigmaField of X, M be sigma_Measure of S
 st M is sigma_finite
  ex F be Set_Sequence of S st
    F is non-descending & (for n be Nat holds M.(F.n) < +infty)
  & lim F = X
proof
   let X be non empty set, S be SigmaField of X, M be sigma_Measure of S;
   assume M is sigma_finite; then
   consider E be Set_Sequence of S such that
A1: (for n be Nat holds M.(E.n) < +infty) & Union E = X;

   defpred P[Nat] means (Partial_Union E).$1 in S;

   (Partial_Union E).0 = E.0 by PROB_3:def 2; then
A2:P[0] by MEASURE8:def 2;
A3:for k be Nat st P[k] holds P[k+1]
   proof
    let k be Nat;
    assume A4: P[k];
A5: E.(k+1) in S by MEASURE8:def 2;
    (Partial_Union E).(k+1) = E.(k+1) \/ (Partial_Union E).k by PROB_3:def 2;
    hence P[k+1] by A4,A5,FINSUB_1:def 1;
   end;

   for n be Nat holds P[n] from NAT_1:sch 2(A2,A3); then
   reconsider F = Partial_Union E as Set_Sequence of S by MEASURE8:def 2;
A6:F is non-descending by PROB_3:11;

   defpred Q[Nat] means M.(F.$1) < +infty;

   F.0 = E.0 by PROB_3:def 2; then
A7:Q[0] by A1;
A8:for k be Nat st Q[k] holds Q[k+1]
   proof
    let k be Nat;
    assume A9: Q[k];
    M.(E.(k+1)) < +infty by A1; then
A10:M.(F.k) + M.(E.(k+1)) < +infty by A9,XXREAL_3:16,XXREAL_0:4;
A11:M.(F.(k+1)) = M.(F.k \/ E.(k+1)) by PROB_3:def 2;
    F.k in S & E.(k+1) in S by MEASURE8:def 2; then
    M.(F.(k+1)) <= M.(F.k) + M.(E.(k+1)) by A11,MEASURE1:33;
    hence Q[k+1] by A10,XXREAL_0:2;
   end;
A12:for n be Nat holds Q[n] from NAT_1:sch 2(A7,A8);
   lim F = Union F by A6,SETLIM_1:63 .= Union E by PROB_3:15;
   hence thesis by A1,A6,A12;
end;

LM0902b:
for X be non empty set, S be SigmaField of X, M be sigma_Measure of S st
 ( ex F be Set_Sequence of S st
     F is non-descending & (for n be Nat holds M.(F.n) < +infty)
   & lim F = X )
 holds M is sigma_finite
proof
   let X be non empty set, S be SigmaField of X, M be sigma_Measure of S;
   assume ex F be Set_Sequence of S st
     F is non-descending & (for n be Nat holds M.(F.n) < +infty)
     & lim F = X; then
   consider F be Set_Sequence of S such that
A1: F is non-descending & (for n be Nat holds M.(F.n) < +infty)
  & lim F = X;
A2:Partial_Union F = F by A1,PROB_4:15;
   defpred P[Nat] means (Partial_Diff_Union F).$1 in S;
   (Partial_Diff_Union F).0 = F.0 by PROB_3:def 3; then
A3:P[0] by MEASURE8:def 2;
A4:for k be Nat st P[k] holds P[k+1]
   proof
    let k be Nat;
    assume P[k];
A5: (Partial_Union F).k in S by A2,MEASURE8:def 2;
A6: F.(k+1) in S by MEASURE8:def 2;
    (Partial_Diff_Union F).(k+1)
     = F.(k+1) \ (Partial_Union F).k by PROB_3:def 3;
    hence P[k+1] by A5,A6,FINSUB_1:def 3;
   end;
   for n be Nat holds P[n] from NAT_1:sch 2(A3,A4); then
   reconsider E = Partial_Diff_Union F as Set_Sequence of S by MEASURE8:def 2;

   defpred Q[Nat] means M.(E.$1) < +infty;
   E.0 = F.0 by PROB_3:def 3; then
A7:Q[0] by A1;
A8:for k be Nat st Q[k] holds Q[k+1]
   proof
    let k be Nat;
    assume Q[k];
A9: E.(k+1) in S & F.(k+1) in S by MEASURE8:def 2;
    E.(k+1) = F.(k+1) \ (Partial_Union F).k by PROB_3:def 3; then
    M.(E.(k+1)) <= M.(F.(k+1)) by A9,MEASURE1:8,XBOOLE_1:36;
    hence Q[k+1] by A1,XXREAL_0:2;
   end;
A10:for n be Nat holds Q[n] from NAT_1:sch 2(A7,A8);
   Union E = Union F by PROB_3:20 .= lim F by A1,SETLIM_1:63;
   hence M is sigma_finite by A1,A10;
end;

theorem
for X be non empty set, S be SigmaField of X, M be sigma_Measure of S
 holds
  M is sigma_finite
iff
  ex F be Set_Sequence of S st
    F is non-descending & (for n be Nat holds M.(F.n) < +infty)
  & lim F = X by LM0902a,LM0902b;

theorem
for X be set, S be semialgebra_of_sets of X,
 P be pre-Measure of S, M be induced_Measure of S,P holds
  M = (C_Meas M)|(Field_generated_by S)
proof
   let X be set, S be semialgebra_of_sets of X,
   P be pre-Measure of S, M be induced_Measure of S,P;
   now let A be Element of Field_generated_by S;
    M is completely-additive by MEASURE9:60; then
    M.A = (C_Meas M).A by MEASURE8:18;
    hence M.A = ((C_Meas M)|(Field_generated_by S)).A by FUNCT_1:49;
   end;
   hence M = (C_Meas M)|(Field_generated_by S) by FUNCT_2:def 8;
end;

begin :: Fubini's theorem on measure

theorem Th84:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
  M2 be sigma_Measure of S2, B be Element of S2
 st M2.B < +infty holds
   {E where E is Element of sigma measurable_rectangles(S1,S2) :
      (ex F be Function of X1,ExtREAL st
         (for x be Element of X1 holds
               F.x = M2.(Measurable-X-section(E,x) /\ B))
       & (for V be Element of S1 holds F is V-measurable))}
    is MonotoneClass of [:X1,X2:]
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
   M2 be sigma_Measure of S2, B be Element of S2;
   assume A0: M2.B < +infty;

   set Z = {E where E is Element of sigma measurable_rectangles(S1,S2) :
      (ex F be Function of X1,ExtREAL st
         (for x be Element of X1 holds
               F.x = M2.(Measurable-X-section(E,x) /\ B))
       & (for V be Element of S1 holds F is V-measurable))};

   now let A be object;
    assume A in Z; then
    ex E be Element of sigma measurable_rectangles(S1,S2) st
     A = E &
      (ex F be Function of X1,ExtREAL st
         (for x be Element of X1 holds
               F.x = M2.(Measurable-X-section(E,x) /\ B))
       & (for V be Element of S1 holds F is V-measurable));
    hence A in bool [:X1,X2:];
   end; then
A1:Z c= bool [:X1,X2:];

   for A1 be SetSequence of [:X1,X2:] st
     A1 is monotone & rng A1 c= Z holds lim A1 in Z
   proof
    let A1 be SetSequence of [:X1,X2:];
    assume A2: A1 is monotone & rng A1 c= Z;

A4: for V be set st V in rng A1 holds V in sigma measurable_rectangles(S1,S2)
    proof
     let V be set;
     assume V in rng A1; then
     V in Z by A2; then
     ex E be Element of sigma measurable_rectangles(S1,S2) st
      V = E
    & (ex F be Function of X1,ExtREAL st
        (for x be Element of X1 holds
              F.x = M2.(Measurable-X-section(E,x) /\ B))
      & (for V be Element of S1 holds F is V-measurable));
     hence V in sigma measurable_rectangles(S1,S2);
    end;

A5: for n be Nat holds A1.n in sigma measurable_rectangles(S1,S2)
    proof
     let n be Nat;
     dom A1 = NAT by FUNCT_2:def 1; then
     n in dom A1 by ORDINAL1:def 12;
     hence A1.n in sigma measurable_rectangles(S1,S2) by A4,FUNCT_1:3;
    end; then
    reconsider A2 = A1 as Set_Sequence of sigma measurable_rectangles(S1,S2)
       by MEASURE8:def 2;
    per cases by A2,SETLIM_1:def 1;
    suppose
A3:  A1 is non-descending;
     union rng A1 in sigma measurable_rectangles(S1,S2) by A4,MEASURE1:35; then
     Union A1 in sigma measurable_rectangles(S1,S2) by CARD_3:def 4; then
     reconsider E = lim A1 as Element of sigma measurable_rectangles(S1,S2)
       by A3,SETLIM_1:63;
     ex F be Function of X1,ExtREAL st
      (for x be Element of X1 holds F.x = M2.(Measurable-X-section(E,x) /\ B))
    & (for V be Element of S1 holds F is V-measurable)
     proof
      defpred P[Nat,object] means
       ex f1 be Function of X1,ExtREAL st
         $2 = f1
       & (for x be Element of X1 holds
           f1.x = M2.(Measurable-X-section(A2.$1,x) /\ B)
       & (for V be Element of S1 holds f1 is V-measurable));


A6:   for n be Element of NAT ex f be Element of PFuncs(X1,ExtREAL) st P[n,f]
      proof
       let n be Element of NAT;
       dom A1 = NAT by FUNCT_2:def 1; then
       A1.n in Z by A2,FUNCT_1:3; then
       ex E1 be Element of sigma measurable_rectangles(S1,S2) st
        A1.n = E1
     & (ex F be Function of X1,ExtREAL st
          (for x be Element of X1 holds
             F.x = M2.(Measurable-X-section(E1,x) /\ B))
         & (for V be Element of S1 holds F is V-measurable)); then
       consider f1 be Function of X1,ExtREAL such that
A7:      (for x be Element of X1 holds
           f1.x = M2.(Measurable-X-section(A2.n,x) /\ B))
       & (for V be Element of S1 holds f1 is V-measurable);

       reconsider f = f1 as Element of PFuncs(X1,ExtREAL) by PARTFUN1:45;
       take f;
       thus thesis by A7;
      end;

      consider f be Function of NAT,PFuncs(X1,ExtREAL) such that
A8:    for n be Element of NAT holds P[n,f.n] from FUNCT_2:sch 3(A6);

A9:   for n be Nat holds
       f.n is Function of X1,ExtREAL
     & (for x be Element of X1 holds
         (f.n).x = M2.(Measurable-X-section(A2.n,x) /\ B)
       & (for V be Element of S1 holds f.n is V-measurable))
      proof
       let n be Nat;
       n is Element of NAT by ORDINAL1:def 12; then
       ex f1 be Function of X1,ExtREAL st
         f.n = f1
      & (for x be Element of X1 holds
          f1.x = M2.(Measurable-X-section(A2.n,x) /\ B)
       & (for V be Element of S1 holds f1 is V-measurable)) by A8;
       hence thesis;
      end;

      for n,m be Nat holds dom(f.n) = dom(f.m)
      proof
       let n,m be Nat;
       f.n is Function of X1,ExtREAL & f.m is Function of X1,ExtREAL
         by A9; then
       dom(f.n) = X1 & dom(f.m) = X1 by FUNCT_2:def 1;
       hence thesis;
      end; then
      reconsider f as with_the_same_dom Functional_Sequence of X1,ExtREAL
        by MESFUNC8:def 2;

      reconsider XX1 = X1 as Element of S1 by MEASURE1:11;

      f.0 is Function of X1,ExtREAL by A9; then
A10:  dom(f.0) = XX1 by FUNCT_2:def 1;
A11:  for n be Nat holds f.n is XX1-measurable by A9;

A12:  for x be Element of X1 st x in X1 holds f#x is convergent
      proof
       let x be Element of X1;
       assume x in X1;

       for n,m be Nat st m <= n holds (f#x).m <= (f#x).n
       proof
        let n,m be Nat;
        assume Y1: m <= n;
        (f#x).m = (f.m).x & (f#x).n = (f.n).x by MESFUNC5:def 13; then
A13:    (f#x).m = M2.(Measurable-X-section(A2.m,x) /\ B)
      & (f#x).n = M2.(Measurable-X-section(A2.n,x) /\ B) by A9;
        Measurable-X-section(A2.m,x) c= Measurable-X-section(A2.n,x)
          by A3,Y1,PROB_1:def 5,Th14;
        hence (f#x).m <= (f#x).n by A13,XBOOLE_1:26,MEASURE1:31;
       end; then
       f#x is non-decreasing by RINFSUP2:7;
       hence f#x is convergent by RINFSUP2:37;
      end;

A14:  dom (lim f) = X1 by A10,MESFUNC8:def 9; then
      reconsider F = lim f as Function of X1,ExtREAL by FUNCT_2:def 1;
      take F;

      thus for x be Element of X1 holds
       F.x = M2.(Measurable-X-section(E,x) /\ B)
      proof
       let x be Element of X1;
A15:   F.x = lim(f#x) by A14,MESFUNC8:def 9;

       consider G be SetSequence of X2 such that
A16:    G is non-descending
      & (for n be Nat holds G.n = X-section(A1.n,x)) by A3,Th37;
       for n be Nat holds G.n in S2
       proof
        let n be Nat;
        A1.n in sigma measurable_rectangles(S1,S2) by A5; then
        X-section(A1.n,x) in S2 by Th44;
        hence G.n in S2 by A16;
       end; then
       reconsider G as Set_Sequence of S2 by MEASURE8:def 2;
       set K = B (/\) G;
A17:   G is convergent & lim G = Union G by A16,SETLIM_1:63;

       union rng G = X-section(union rng A2,x) by A16,Th24; then
       Union G = X-section(union rng A2,x) by CARD_3:def 4
        .= X-section(Union A2,x) by CARD_3:def 4
        .= Measurable-X-section(E,x) by A3,SETLIM_1:63; then
A18:   lim K = Measurable-X-section(E,x) /\ B by A17,SETLIM_2:92;

A19:   dom K = NAT by FUNCT_2:def 1;

       for n be object st n in NAT holds K.n in S2
       proof
        let n be object;
        assume n in NAT; then
        reconsider n1=n as Element of NAT;
        K.n1 = G.n1 /\ B by SETLIM_2:def 5; then
        K.n1 = Measurable-X-section(A2.n1,x) /\ B by A16;
        hence K.n in S2;
       end; then
       reconsider K2 = K as SetSequence of S2 by A19,FUNCT_2:3;
       K2 is non-descending by A16,SETLIM_2:22; then
A20:   lim(M2*K2) = M2.(Measurable-X-section(E,x) /\ B) by A18,MEASURE8:26;

       for n be Element of NAT holds (f#x).n = (M2*K2).n
       proof
        let n be Element of NAT;
        (f#x).n = (f.n).x by MESFUNC5:def 13; then
A21:    (f#x).n = M2.(Measurable-X-section(A2.n,x) /\ B) by A9;

        K2.n = G.n /\ B by SETLIM_2:def 5; then
        K2.n = Measurable-X-section(A2.n,x) /\ B by A16;
        hence (f#x).n = (M2*K2).n by A19,A21,FUNCT_1:13;
       end;
       hence F.x = M2.(Measurable-X-section(E,x) /\ B) by A15,A20,FUNCT_2:63;
      end;
      thus for V be Element of S1 holds F is V-measurable
         by A10,A11,A12,MESFUNC8:25,MESFUNC1:30;
     end;
     hence lim A1 in Z;
    end;
    suppose
A22: A1 is non-ascending;
     meet rng A1 in sigma measurable_rectangles(S1,S2) by A4,MEASURE1:35; then
     Intersection A1 in sigma measurable_rectangles(S1,S2) by SETLIM_1:8; then
     reconsider E = lim A1 as Element of sigma measurable_rectangles(S1,S2)
        by A22,SETLIM_1:64;

     defpred P[Nat,object] means
      ex f1 be Function of X1,ExtREAL st
       $2 = f1
     & (for x be Element of X1 holds
         f1.x = M2.(Measurable-X-section(A2.$1,x) /\ B)
     & (for V be Element of S1 holds f1 is V-measurable));

A23: for n be Element of NAT ex f be Element of PFuncs(X1,ExtREAL) st P[n,f]
     proof
      let n be Element of NAT;
      dom A1 = NAT by FUNCT_2:def 1; then
      A1.n in Z by A2,FUNCT_1:3; then
      ex E1 be Element of sigma measurable_rectangles(S1,S2) st
      A1.n = E1
      & (ex F be Function of X1,ExtREAL st
           (for x be Element of X1 holds
              F.x = M2.(Measurable-X-section(E1,x) /\ B))
         & (for V be Element of S1 holds F is V-measurable)); then
      consider f1 be Function of X1,ExtREAL such that
A24:    (for x be Element of X1 holds
          f1.x = M2.(Measurable-X-section(A2.n,x) /\ B))
      & (for V be Element of S1 holds f1 is V-measurable);

      reconsider f = f1 as Element of PFuncs(X1,ExtREAL) by PARTFUN1:45;
      take f;
      thus thesis by A24;
     end;

     consider f be Function of NAT,PFuncs(X1,ExtREAL) such that
A25:  for n be Element of NAT holds P[n,f.n] from FUNCT_2:sch 3(A23);

A26: for n be Nat holds
      f.n is Function of X1,ExtREAL
      & (for x be Element of X1 holds
        (f.n).x = M2.(Measurable-X-section(A2.n,x) /\ B)
      & (for V be Element of S1 holds f.n is V-measurable))
     proof
      let n be Nat;
      n is Element of NAT by ORDINAL1:def 12; then
       ex f1 be Function of X1,ExtREAL st
        f.n = f1
     & (for x be Element of X1 holds
         f1.x = M2.(Measurable-X-section(A2.n,x) /\ B)
      & (for V be Element of S1 holds f1 is V-measurable)) by A25;
      hence thesis;
     end;

     for n,m be Nat holds dom(f.n) = dom(f.m)
     proof
      let n,m be Nat;
      f.n is Function of X1,ExtREAL & f.m is Function of X1,ExtREAL
        by A26; then
      dom(f.n) = X1 & dom(f.m) = X1 by FUNCT_2:def 1;
      hence thesis;
     end; then
     reconsider f as with_the_same_dom Functional_Sequence of X1,ExtREAL
         by MESFUNC8:def 2;

     reconsider XX1 = X1 as Element of S1 by MEASURE1:11;

     f.0 is Function of X1,ExtREAL by A26; then
A27: dom(f.0) = XX1 by FUNCT_2:def 1;
A28: for n be Nat holds f.n is XX1-measurable by A26;

A29: for x be Element of X1 st x in X1 holds f#x is convergent
     proof
      let x be Element of X1 such that x in X1;

      for n,m be Nat st m <= n holds (f#x).n <= (f#x).m
      proof
       let n,m be Nat;
       assume Y1: m <= n;
       (f#x).m = (f.m).x & (f#x).n = (f.n).x by MESFUNC5:def 13; then
A30:   (f#x).m = M2.(Measurable-X-section(A2.m,x) /\ B)
     & (f#x).n = M2.(Measurable-X-section(A2.n,x) /\ B) by A26;
       Measurable-X-section(A2.n,x) c= Measurable-X-section(A2.m,x)
         by Th14,A22,Y1,PROB_1:def 4;
       hence (f#x).n <= (f#x).m by A30,MEASURE1:31,XBOOLE_1:26;
      end; then
      f#x is non-increasing by RINFSUP2:7;
      hence f#x is convergent by RINFSUP2:36;
     end;

A31: dom (lim f) = X1 by A27,MESFUNC8:def 9; then
     reconsider F = lim f as Function of X1,ExtREAL by FUNCT_2:def 1;
A32: for x be Element of X1 holds F.x = M2.(Measurable-X-section(E,x) /\ B)
     proof
      let x be Element of X1;

      lim(f#x) = M2.(Measurable-X-section(E,x) /\ B)
      proof
       consider G be SetSequence of X2 such that
A33:    G is non-ascending
      & (for n be Nat holds G.n = X-section(A1.n,x)) by A22,Th39;

       for n be Nat holds G.n in S2
       proof
        let n be Nat;
        A1.n in sigma measurable_rectangles(S1,S2) by A5; then
        X-section(A1.n,x) in S2 by Th44;
        hence G.n in S2 by A33;
       end; then
       reconsider G as Set_Sequence of S2 by MEASURE8:def 2;

       set K = B (/\) G;
A34:   G is convergent & lim G = Intersection G by A33,SETLIM_1:64;
       meet rng G = X-section(meet rng A2,x) by A33,Th25; then
       Intersection G = X-section(meet rng A2,x) by SETLIM_1:8
        .= X-section(Intersection A2,x) by SETLIM_1:8
        .= Measurable-X-section(E,x) by A22,SETLIM_1:64; then
A35:   lim K = Measurable-X-section(E,x) /\ B by A34,SETLIM_2:92;
       K.0 = G.0 /\ B by SETLIM_2:def 5; then
       K.0 = Measurable-X-section(A2.0,x) /\ B by A33; then
       M2.(K.0) <= M2.B by XBOOLE_1:17,MEASURE1:31; then
A36:   M2.(K.0) < +infty by A0,XXREAL_0:2;
A37:   dom K = NAT by FUNCT_2:def 1;
       for n be object st n in NAT holds K.n in S2
       proof
        let n be object;
        assume n in NAT; then
        reconsider n1=n as Element of NAT;
        K.n1 = G.n1 /\ B by SETLIM_2:def 5; then
        K.n1 = Measurable-X-section(A2.n1,x) /\ B by A33;
        hence K.n in S2;
       end; then
       reconsider K2 = K as SetSequence of S2 by A37,FUNCT_2:3;
       K2 is non-ascending by A33,SETLIM_2:21; then
A38:   lim(M2*K2) = M2.(Measurable-X-section(E,x) /\ B) by A35,A36,MEASURE8:31;
       for n be Element of NAT holds (f#x).n = (M2*K2).n
       proof
        let n be Element of NAT;
        (f#x).n = (f.n).x by MESFUNC5:def 13; then
A39:    (f#x).n = M2.(Measurable-X-section(A2.n,x) /\ B) by A26;
        K2.n = G.n /\ B by SETLIM_2:def 5; then
        K2.n = Measurable-X-section(A2.n,x) /\ B by A33;
        hence (f#x).n = (M2*K2).n by A37,A39,FUNCT_1:13;
       end;
       hence lim(f#x) = M2.(Measurable-X-section(E,x) /\ B) by A38,FUNCT_2:63;
      end;
      hence F.x = M2.(Measurable-X-section(E,x) /\ B) by A31,MESFUNC8:def 9;
     end;
     for V be Element of S1 holds F is V-measurable
        by A27,A28,A29,MESFUNC8:25,MESFUNC1:30;
     hence lim A1 in Z by A32;
    end;
   end;
   hence thesis by A1,PROB_3:69;
end;

theorem Th85:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
  M1 be sigma_Measure of S1, B be Element of S1
 st M1.B < +infty holds
   {E where E is Element of sigma measurable_rectangles(S1,S2) :
      (ex F be Function of X2,ExtREAL st
         (for y be Element of X2 holds
               F.y = M1.(Measurable-Y-section(E,y) /\ B))
       & (for V be Element of S2 holds F is V-measurable))}
    is MonotoneClass of [:X1,X2:]
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
   M1 be sigma_Measure of S1, B be Element of S1;
   assume A0: M1.B < +infty;
   set Z = {E where E is Element of sigma measurable_rectangles(S1,S2) :
      (ex F be Function of X2,ExtREAL st
         (for y be Element of X2 holds
               F.y = M1.(Measurable-Y-section(E,y) /\ B))
       & (for V be Element of S2 holds F is V-measurable))};

   now let A be object;
    assume A in Z; then
    ex E be Element of sigma measurable_rectangles(S1,S2) st
     A = E &
      (ex F be Function of X2,ExtREAL st
         (for y be Element of X2 holds
               F.y = M1.(Measurable-Y-section(E,y) /\ B))
       & (for V be Element of S2 holds F is V-measurable));
    hence A in bool [:X1,X2:];
   end; then
A1:Z c= bool [:X1,X2:];
   for A1 be SetSequence of [:X1,X2:] st
     A1 is monotone & rng A1 c= Z holds lim A1 in Z
   proof
    let A1 be SetSequence of [:X1,X2:];
    assume A2: A1 is monotone & rng A1 c= Z;
A4: for V be set st V in rng A1 holds V in sigma measurable_rectangles(S1,S2)
    proof
     let V be set;
     assume V in rng A1; then
     V in Z by A2; then
     ex E be Element of sigma measurable_rectangles(S1,S2) st
      V = E
    & (ex F be Function of X2,ExtREAL st
        (for y be Element of X2 holds
              F.y = M1.(Measurable-Y-section(E,y) /\ B))
      & (for V be Element of S2 holds F is V-measurable));
     hence V in sigma measurable_rectangles(S1,S2);
    end;

A5: for n be Nat holds A1.n in sigma measurable_rectangles(S1,S2)
    proof
     let n be Nat;
     dom A1 = NAT by FUNCT_2:def 1; then
     n in dom A1 by ORDINAL1:def 12;
     hence A1.n in sigma measurable_rectangles(S1,S2) by A4,FUNCT_1:3;
    end; then
    reconsider A2 = A1 as Set_Sequence of sigma measurable_rectangles(S1,S2)
       by MEASURE8:def 2;

    per cases by A2,SETLIM_1:def 1;
    suppose
A3:  A1 is non-descending;
     union rng A1 in sigma measurable_rectangles(S1,S2) by A4,MEASURE1:35; then
     Union A1 in sigma measurable_rectangles(S1,S2) by CARD_3:def 4; then
     reconsider E = lim A1 as Element of sigma measurable_rectangles(S1,S2)
       by A3,SETLIM_1:63;

     ex F be Function of X2,ExtREAL st
      (for y be Element of X2 holds F.y = M1.(Measurable-Y-section(E,y) /\ B))
    & (for V be Element of S2 holds F is V-measurable)
     proof
      defpred P[Nat,object] means
       ex f1 be Function of X2,ExtREAL st
         $2 = f1
       & (for y be Element of X2 holds
           f1.y = M1.(Measurable-Y-section(A2.$1,y) /\ B)
       & (for V be Element of S2 holds f1 is V-measurable));
A6:   for n be Element of NAT ex f be Element of PFuncs(X2,ExtREAL) st P[n,f]
      proof
       let n be Element of NAT;
       dom A1 = NAT by FUNCT_2:def 1; then
       A1.n in Z by A2,FUNCT_1:3; then
       ex E1 be Element of sigma measurable_rectangles(S1,S2) st
        A1.n = E1
     & (ex F be Function of X2,ExtREAL st
          (for y be Element of X2 holds
             F.y = M1.(Measurable-Y-section(E1,y) /\ B))
         & (for V be Element of S2 holds F is V-measurable)); then
       consider f1 be Function of X2,ExtREAL such that
A7:      (for y be Element of X2 holds
           f1.y = M1.(Measurable-Y-section(A2.n,y) /\ B))
       & (for V be Element of S2 holds f1 is V-measurable);

       reconsider f = f1 as Element of PFuncs(X2,ExtREAL) by PARTFUN1:45;
       take f;
       thus thesis by A7;
      end;

      consider f be Function of NAT,PFuncs(X2,ExtREAL) such that
A8:    for n be Element of NAT holds P[n,f.n] from FUNCT_2:sch 3(A6);

A9:   for n be Nat holds
       f.n is Function of X2,ExtREAL
     & (for y be Element of X2 holds
         (f.n).y = M1.(Measurable-Y-section(A2.n,y) /\ B)
       & (for V be Element of S2 holds f.n is V-measurable))
      proof
       let n be Nat;
       n is Element of NAT by ORDINAL1:def 12; then
       ex f1 be Function of X2,ExtREAL st
         f.n = f1
      & (for y be Element of X2 holds
          f1.y = M1.(Measurable-Y-section(A2.n,y) /\ B)
       & (for V be Element of S2 holds f1 is V-measurable)) by A8;
       hence thesis;
      end;

      for n,m be Nat holds dom(f.n) = dom(f.m)
      proof
       let n,m be Nat;
       f.n is Function of X2,ExtREAL & f.m is Function of X2,ExtREAL
         by A9; then
       dom(f.n) = X2 & dom(f.m) = X2 by FUNCT_2:def 1;
       hence thesis;
      end; then
      reconsider f as with_the_same_dom Functional_Sequence of X2,ExtREAL
        by MESFUNC8:def 2;

      reconsider XX2 = X2 as Element of S2 by MEASURE1:11;

      f.0 is Function of X2,ExtREAL by A9; then
A10:  dom(f.0) = XX2 by FUNCT_2:def 1;
A11:  for n be Nat holds f.n is XX2-measurable by A9;

A12:  for y be Element of X2 st y in X2 holds f#y is convergent
      proof
       let y be Element of X2 such that y in X2;

       for n,m be Nat st m <= n holds (f#y).m <= (f#y).n
       proof
        let n,m be Nat;
        assume Y1: m <= n;
        (f#y).m = (f.m).y & (f#y).n = (f.n).y by MESFUNC5:def 13; then
A13:    (f#y).m = M1.(Measurable-Y-section(A2.m,y) /\ B)
      & (f#y).n = M1.(Measurable-Y-section(A2.n,y) /\ B) by A9;
        Measurable-Y-section(A2.m,y) c= Measurable-Y-section(A2.n,y)
          by A3,Y1,PROB_1:def 5,Th15;
        hence (f#y).m <= (f#y).n by A13,XBOOLE_1:26,MEASURE1:31;
       end; then
       f#y is non-decreasing by RINFSUP2:7;
       hence f#y is convergent by RINFSUP2:37;
      end;

A14:  dom (lim f) = X2 by A10,MESFUNC8:def 9; then
      reconsider F = lim f as Function of X2,ExtREAL by FUNCT_2:def 1;
      take F;

      thus for y be Element of X2 holds
       F.y = M1.(Measurable-Y-section(E,y) /\ B)
      proof
       let y be Element of X2;
A15:   F.y = lim(f#y) by A14,MESFUNC8:def 9;

       consider G be SetSequence of X1 such that
A16:    G is non-descending
      & (for n be Nat holds G.n = Y-section(A1.n,y)) by A3,Th38;
       for n be Nat holds G.n in S1
       proof
        let n be Nat;
        A1.n in sigma measurable_rectangles(S1,S2) by A5; then
        Y-section(A1.n,y) in S1 by Th44;
        hence G.n in S1 by A16;
       end; then
       reconsider G as Set_Sequence of S1 by MEASURE8:def 2;
       set K = B (/\) G;
A17:   G is convergent & lim G = Union G by A16,SETLIM_1:63;

       union rng G = Y-section(union rng A2,y) by A16,Th26; then
       Union G = Y-section(union rng A2,y) by CARD_3:def 4
        .= Y-section(Union A2,y) by CARD_3:def 4
        .= Measurable-Y-section(E,y) by A3,SETLIM_1:63; then
A18:   lim K = Measurable-Y-section(E,y) /\ B by A17,SETLIM_2:92;

A19:   dom K = NAT by FUNCT_2:def 1;

       for n be object st n in NAT holds K.n in S1
       proof
        let n be object;
        assume n in NAT; then
        reconsider n1=n as Element of NAT;
        K.n1 = G.n1 /\ B by SETLIM_2:def 5; then
        K.n1 = Measurable-Y-section(A2.n1,y) /\ B by A16;
        hence K.n in S1;
       end; then
       reconsider K2 = K as SetSequence of S1 by A19,FUNCT_2:3;
       K2 is non-descending by A16,SETLIM_2:22; then
A20:   lim(M1*K2) = M1.(Measurable-Y-section(E,y) /\ B) by A18,MEASURE8:26;

       for n be Element of NAT holds (f#y).n = (M1*K2).n
       proof
        let n be Element of NAT;
        (f#y).n = (f.n).y by MESFUNC5:def 13; then
A21:    (f#y).n = M1.(Measurable-Y-section(A2.n,y) /\ B) by A9;

        K2.n = G.n /\ B by SETLIM_2:def 5; then
        K2.n = Measurable-Y-section(A2.n,y) /\ B by A16;
        hence (f#y).n = (M1*K2).n by A19,A21,FUNCT_1:13;
       end;
       hence F.y = M1.(Measurable-Y-section(E,y) /\ B) by A15,A20,FUNCT_2:63;
      end;
      thus for V be Element of S2 holds F is V-measurable
         by A10,A11,A12,MESFUNC8:25,MESFUNC1:30;
     end;
     hence lim A1 in Z;
    end;
    suppose
A22: A1 is non-ascending;
     meet rng A1 in sigma measurable_rectangles(S1,S2) by A4,MEASURE1:35; then
     Intersection A1 in sigma measurable_rectangles(S1,S2) by SETLIM_1:8; then
     reconsider E = lim A1 as Element of sigma measurable_rectangles(S1,S2)
        by A22,SETLIM_1:64;

     defpred P[Nat,object] means
      ex f1 be Function of X2,ExtREAL st
       $2 = f1
     & (for x be Element of X2 holds
         f1.x = M1.(Measurable-Y-section(A2.$1,x) /\ B)
     & (for V be Element of S2 holds f1 is V-measurable));

A23: for n be Element of NAT ex f be Element of PFuncs(X2,ExtREAL) st P[n,f]
     proof
      let n be Element of NAT;
      dom A1 = NAT by FUNCT_2:def 1; then
      A1.n in Z by A2,FUNCT_1:3; then
      ex E1 be Element of sigma measurable_rectangles(S1,S2) st
      A1.n = E1
      & (ex F be Function of X2,ExtREAL st
           (for x be Element of X2 holds
              F.x = M1.(Measurable-Y-section(E1,x) /\ B))
         & (for V be Element of S2 holds F is V-measurable)); then
      consider f1 be Function of X2,ExtREAL such that
A24:    (for x be Element of X2 holds
          f1.x = M1.(Measurable-Y-section(A2.n,x) /\ B))
      & (for V be Element of S2 holds f1 is V-measurable);

      reconsider f = f1 as Element of PFuncs(X2,ExtREAL) by PARTFUN1:45;
      take f;
      thus thesis by A24;
     end;

     consider f be Function of NAT,PFuncs(X2,ExtREAL) such that
A25:  for n be Element of NAT holds P[n,f.n] from FUNCT_2:sch 3(A23);

A26: for n be Nat holds
      f.n is Function of X2,ExtREAL
      & (for x be Element of X2 holds
        (f.n).x = M1.(Measurable-Y-section(A2.n,x) /\ B)
      & (for V be Element of S2 holds f.n is V-measurable))
     proof
      let n be Nat;
      n is Element of NAT by ORDINAL1:def 12; then
       ex f1 be Function of X2,ExtREAL st
        f.n = f1
     & (for x be Element of X2 holds
         f1.x = M1.(Measurable-Y-section(A2.n,x) /\ B)
      & (for V be Element of S2 holds f1 is V-measurable)) by A25;
      hence thesis;
     end;

     for n,m be Nat holds dom(f.n) = dom(f.m)
     proof
      let n,m be Nat;
      f.n is Function of X2,ExtREAL & f.m is Function of X2,ExtREAL
        by A26; then
      dom(f.n) = X2 & dom(f.m) = X2 by FUNCT_2:def 1;
      hence thesis;
     end; then
     reconsider f as with_the_same_dom Functional_Sequence of X2,ExtREAL
         by MESFUNC8:def 2;

     reconsider XX1 = X2 as Element of S2 by MEASURE1:11;

     f.0 is Function of X2,ExtREAL by A26; then
A27: dom(f.0) = XX1 by FUNCT_2:def 1;
A28: for n be Nat holds f.n is XX1-measurable by A26;

A29: for x be Element of X2 st x in X2 holds f#x is convergent
     proof
      let x be Element of X2 such that x in X2;

      for n,m be Nat st m <= n holds (f#x).n <= (f#x).m
      proof
       let n,m be Nat;
       assume Y1: m <= n;
       (f#x).m = (f.m).x & (f#x).n = (f.n).x by MESFUNC5:def 13; then
A30:   (f#x).m = M1.(Measurable-Y-section(A2.m,x) /\ B)
     & (f#x).n = M1.(Measurable-Y-section(A2.n,x) /\ B) by A26;
       Measurable-Y-section(A2.n,x) c= Measurable-Y-section(A2.m,x)
         by Th15,A22,Y1,PROB_1:def 4;
       hence (f#x).n <= (f#x).m by A30,MEASURE1:31,XBOOLE_1:26;
      end; then
      f#x is non-increasing by RINFSUP2:7;
      hence f#x is convergent by RINFSUP2:36;
     end;

A31: dom (lim f) = X2 by A27,MESFUNC8:def 9; then
     reconsider F = lim f as Function of X2,ExtREAL by FUNCT_2:def 1;
A32: for x be Element of X2 holds F.x = M1.(Measurable-Y-section(E,x) /\ B)
     proof
      let x be Element of X2;

      lim(f#x) = M1.(Measurable-Y-section(E,x) /\ B)
      proof
       consider G be SetSequence of X1 such that
A33:    G is non-ascending
      & (for n be Nat holds G.n = Y-section(A1.n,x)) by A22,Th40;

       for n be Nat holds G.n in S1
       proof
        let n be Nat;
        A1.n in sigma measurable_rectangles(S1,S2) by A5; then
        Y-section(A1.n,x) in S1 by Th44;
        hence G.n in S1 by A33;
       end; then
       reconsider G as Set_Sequence of S1 by MEASURE8:def 2;

       set K = B (/\) G;
A34:   G is convergent & lim G = Intersection G by A33,SETLIM_1:64;

       meet rng G = Y-section(meet rng A2,x) by A33,Th27; then
       Intersection G = Y-section(meet rng A2,x) by SETLIM_1:8
        .= Y-section(Intersection A2,x) by SETLIM_1:8
        .= Measurable-Y-section(E,x) by A22,SETLIM_1:64; then
A35:   lim K = Measurable-Y-section(E,x) /\ B by A34,SETLIM_2:92;

       K.0 = G.0 /\ B by SETLIM_2:def 5; then
       K.0 = Measurable-Y-section(A2.0,x) /\ B by A33; then
       M1.(K.0) <= M1.B by XBOOLE_1:17,MEASURE1:31; then
A36:   M1.(K.0) < +infty by A0,XXREAL_0:2;

A37:   dom K = NAT by FUNCT_2:def 1;

       for n be object st n in NAT holds K.n in S1
       proof
        let n be object;
        assume n in NAT; then
        reconsider n1=n as Element of NAT;
        K.n1 = G.n1 /\ B by SETLIM_2:def 5; then
        K.n1 = Measurable-Y-section(A2.n1,x) /\ B by A33;
        hence K.n in S1;
       end; then
       reconsider K2 = K as SetSequence of S1 by A37,FUNCT_2:3;

       K2 is non-ascending by A33,SETLIM_2:21; then
A38:   lim(M1*K2) = M1.(Measurable-Y-section(E,x) /\ B) by A35,A36,MEASURE8:31;

       for n be Element of NAT holds (f#x).n = (M1*K2).n
       proof
        let n be Element of NAT;
        (f#x).n = (f.n).x by MESFUNC5:def 13; then
A39:    (f#x).n = M1.(Measurable-Y-section(A2.n,x) /\ B) by A26;

        K2.n = G.n /\ B by SETLIM_2:def 5; then
        K2.n = Measurable-Y-section(A2.n,x) /\ B by A33;
        hence (f#x).n = (M1*K2).n by A37,A39,FUNCT_1:13;
       end;
       hence lim(f#x) = M1.(Measurable-Y-section(E,x) /\ B) by A38,FUNCT_2:63;
      end;
      hence F.x = M1.(Measurable-Y-section(E,x) /\ B) by A31,MESFUNC8:def 9;
     end;

     for V be Element of S2 holds F is V-measurable
        by A27,A28,A29,MESFUNC8:25,MESFUNC1:30;
     hence lim A1 in Z by A32;
    end;
   end;
   hence thesis by A1,PROB_3:69;
end;

theorem
for X be non empty set, F be Field_Subset of X, L be SetSequence of X
 st rng L is MonotoneClass of X & F c= rng L
 holds sigma F = monotoneclass F & sigma F c= rng L
proof
   let X be non empty set, F be Field_Subset of X, L be SetSequence of X;
   assume
A1: rng L is MonotoneClass of X & F c= rng L;
   thus sigma F = monotoneclass F by PROB_3:73;
   hence sigma F c= rng L by A1,PROB_3:def 11;
end;

theorem Th87:
for X be non empty set, F be Field_Subset of X, K be Subset-Family of X
 st K is MonotoneClass of X & F c= K
  holds sigma F = monotoneclass F & sigma F c= K
proof
   let X be non empty set, F be Field_Subset of X, K be Subset-Family of X;
   assume that
A1: K is MonotoneClass of X and
A2: F c= K;
   thus sigma F = monotoneclass F by PROB_3:73;
   hence sigma F c= K by A1,A2,PROB_3:def 11;
end;

theorem Th88:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
  M2 be sigma_Measure of S2, B be Element of S2
 st M2.B < +infty holds
   sigma measurable_rectangles(S1,S2)
   c= {E where E is Element of sigma measurable_rectangles(S1,S2):
       (ex F be Function of X1,ExtREAL st
          (for x be Element of X1 holds
             F.x = M2.(Measurable-X-section(E,x) /\ B))
        & (for V be Element of S1 holds F is V-measurable))}
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
   M2 be sigma_Measure of S2, B be Element of S2;
   set K = {E where E is Element of sigma measurable_rectangles(S1,S2) :
     (ex F be Function of X1,ExtREAL st
          (for x be Element of X1 holds
                F.x = M2.(Measurable-X-section(E,x) /\ B))
        & (for V be Element of S1 holds F is V-measurable))};
   assume M2.B < +infty; then
A1:K is MonotoneClass of [:X1,X2:] by Th84;
A2:Field_generated_by measurable_rectangles(S1,S2) c= K by Th80;
   sigma Field_generated_by measurable_rectangles(S1,S2)
    = sigma DisUnion measurable_rectangles(S1,S2) by SRINGS_3:22
   .= sigma measurable_rectangles(S1,S2) by Th1;
   hence thesis by A1,A2,Th87;
end;

theorem Th89:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
  M1 be sigma_Measure of S1, B be Element of S1
 st M1.B < +infty holds
   sigma measurable_rectangles(S1,S2)
   c= {E where E is Element of sigma measurable_rectangles(S1,S2) :
       (ex F be Function of X2,ExtREAL st
          (for y be Element of X2 holds
             F.y = M1.(Measurable-Y-section(E,y) /\ B))
        & (for V be Element of S2 holds F is V-measurable))}
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
   M1 be sigma_Measure of S1, B be Element of S1;
   set K = {E where E is Element of sigma measurable_rectangles(S1,S2) :
    (ex F be Function of X2,ExtREAL st
         (for y be Element of X2 holds
               F.y = M1.(Measurable-Y-section(E,y) /\ B))
       & (for V be Element of S2 holds F is V-measurable))};
   assume M1.B < +infty; then
A1:K is MonotoneClass of [:X1,X2:] by Th85;
A2:Field_generated_by measurable_rectangles(S1,S2) c= K by Th81;
   sigma Field_generated_by measurable_rectangles(S1,S2)
    = sigma DisUnion measurable_rectangles(S1,S2) by SRINGS_3:22
   .= sigma measurable_rectangles(S1,S2) by Th1;
   hence thesis by A1,A2,Th87;
end;

theorem Th90:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
  M2 be sigma_Measure of S2, E be Element of sigma measurable_rectangles(S1,S2)
st M2 is sigma_finite
holds
  (ex F be Function of X1,ExtREAL st
    (for x be Element of X1 holds
         F.x = M2.(Measurable-X-section(E,x)))
  & (for V be Element of S1 holds F is V-measurable))
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
   M2 be sigma_Measure of S2,
   E be Element of sigma measurable_rectangles(S1,S2);
   assume M2 is sigma_finite; then
   consider B be Set_Sequence of S2 such that
A1: B is non-descending & (for n be Nat holds M2.(B.n) < +infty)
  & lim B = X2 by LM0902a;

   defpred P[Nat,object] means
    ex f1 be Function of X1,ExtREAL st
     $2 = f1
   & (for x be Element of X1 holds
        f1.x = M2.(Measurable-X-section(E,x) /\ B.$1)
   & (for V be Element of S1 holds f1 is V-measurable));

A2:for n be Element of NAT ex f be Element of PFuncs(X1,ExtREAL) st P[n,f]
   proof
    let n be Element of NAT;

    reconsider Bn = B.n as Element of S2 by MEASURE8:def 2;
    M2.Bn < +infty by A1; then
    sigma measurable_rectangles(S1,S2)
     c= {E where E is Element of sigma measurable_rectangles(S1,S2) :
       (ex F be Function of X1,ExtREAL st
            (for x be Element of X1 holds
               F.x = M2.(Measurable-X-section(E,x) /\ Bn))
          & (for V be Element of S1 holds F is V-measurable))}
        by Th88; then
    E in {E where E is Element of sigma measurable_rectangles(S1,S2) :
      (ex F be Function of X1,ExtREAL st
           (for x be Element of X1 holds
               F.x = M2.(Measurable-X-section(E,x) /\ Bn))
         & (for V be Element of S1 holds F is V-measurable))}; then
    ex E1 be Element of sigma measurable_rectangles(S1,S2) st
     E = E1
   & (ex F be Function of X1,ExtREAL st
         (for x be Element of X1 holds
             F.x = M2.(Measurable-X-section(E1,x) /\ Bn))
       & (for V be Element of S1 holds F is V-measurable)); then
    consider f1 be Function of X1,ExtREAL such that
A3:   (for x be Element of X1 holds
         f1.x = M2.(Measurable-X-section(E,x) /\ Bn))
    & (for V be Element of S1 holds f1 is V-measurable);
    reconsider f = f1 as Element of PFuncs(X1,ExtREAL) by PARTFUN1:45;
    take f;
    f1 is Function of X1,ExtREAL & f = f1
  & (for x be Element of X1 holds
        f1.x = M2.(Measurable-X-section(E,x) /\ B.n))
  & (for V be Element of S1 holds f1 is V-measurable) by A3;
    hence thesis;
   end;

   consider f be Function of NAT,PFuncs(X1,ExtREAL) such that
A4: for n be Element of NAT holds P[n,f.n] from FUNCT_2:sch 3(A2);

A5:for n be Nat holds
    f.n is Function of X1,ExtREAL
  & (for x be Element of X1 holds
        (f.n).x = M2.(Measurable-X-section(E,x) /\ B.n)
  & (for V be Element of S1 holds f.n is V-measurable))
   proof
    let n be Nat;
    n is Element of NAT by ORDINAL1:def 12; then
    ex f1 be Function of X1,ExtREAL st
     f.n = f1
   & (for x be Element of X1 holds
        f1.x = M2.(Measurable-X-section(E,x) /\ B.n)
   & (for V be Element of S1 holds f1 is V-measurable)) by A4;
    hence thesis;
   end;

   for n,m be Nat holds dom(f.n) = dom(f.m)
   proof
    let n,m be Nat;
    f.n is Function of X1,ExtREAL & f.m is Function of X1,ExtREAL by A5; then
    dom(f.n) = X1 & dom(f.m) = X1 by FUNCT_2:def 1;
    hence thesis;
   end; then
   reconsider f as with_the_same_dom Functional_Sequence of X1,ExtREAL
     by MESFUNC8:def 2;
   reconsider XX1 = X1 as Element of S1 by MEASURE1:11;
   f.0 is Function of X1,ExtREAL by A5; then
A6:dom(f.0) = XX1 by FUNCT_2:def 1;
A7:for n be Nat holds f.n is XX1-measurable by A5;
A11:for x be Element of X1 st x in X1 holds f#x is convergent
   proof
    let x be Element of X1;
    assume x in X1;
    for n,m be Nat st m <= n holds (f#x).m <= (f#x).n
    proof
     let n,m be Nat;
     assume A8: m <= n;
     (f#x).m = (f.m).x & (f#x).n = (f.n).x by MESFUNC5:def 13; then
A9:  (f#x).m = M2.(Measurable-X-section(E,x) /\ B.m)
   & (f#x).n = M2.(Measurable-X-section(E,x) /\ B.n) by A5;
A10: Measurable-X-section(E,x) /\ B.m c= Measurable-X-section(E,x) /\ B.n
       by A1,A8,PROB_1:def 5,XBOOLE_1:26;
     B.m in S2 & B.n in S2 by MEASURE8:def 2; then
     Measurable-X-section(E,x) /\ B.m in S2 &
     Measurable-X-section(E,x) /\ B.n in S2 by MEASURE1:11;
     hence (f#x).m <= (f#x).n by A9,A10,MEASURE1:31;
    end; then
    f#x is non-decreasing by RINFSUP2:7;
    hence f#x is convergent by RINFSUP2:37;
   end;
A12:dom (lim f) = X1 by A6,MESFUNC8:def 9; then
   reconsider F = lim f as Function of X1,ExtREAL by FUNCT_2:def 1;
   take F;
   thus for x be Element of X1 holds F.x = M2.(Measurable-X-section(E,x))
   proof
    let x be Element of X1;
    lim(f#x) = M2.(Measurable-X-section(E,x))
    proof
     deffunc F(Nat) = Measurable-X-section(E,x) /\ B.$1;
     set K1 = Measurable-X-section(E,x) (/\) B;
     B is convergent by A1,SETLIM_1:80; then
     lim K1 = Measurable-X-section(E,x) /\ X2 by A1,SETLIM_2:92; then
A13: lim K1 = Measurable-X-section(E,x) by XBOOLE_1:28;
A14: dom K1 = NAT by FUNCT_2:def 1;
     for n be object st n in NAT holds K1.n in S2
     proof
      let n be object;
      assume n in NAT; then
      reconsider n1=n as Element of NAT;
A15:  K1.n1 = X-section(E,x) /\ B.n1 by SETLIM_2:def 5;
      reconsider Bn = B.n1 as Element of S2 by MEASURE8:def 2;
      for x be Element of X1 holds X-section(E,x) /\ Bn in S2
      proof
       let x be Element of X1;
       X-section(E,x) in S2 by Th44;
       hence X-section(E,x) /\ Bn in S2 by MEASURE1:11;
      end;
      hence K1.n in S2 by A15;
     end; then
     reconsider K1 as SetSequence of S2 by A14,FUNCT_2:3;
     K1 is non-descending by A1,SETLIM_2:22; then
A16: lim(M2*K1) = M2.(Measurable-X-section(E,x)) by A13,MEASURE8:26;
     for n be Element of NAT holds (f#x).n = (M2*K1).n
     proof
      let n be Element of NAT;
      (f#x).n = (f.n).x by MESFUNC5:def 13; then
A17:  (f#x).n = M2.(Measurable-X-section(E,x) /\ B.n) by A5;
      K1.n = Measurable-X-section(E,x) /\ B.n by SETLIM_2:def 5;
      hence (f#x).n = (M2*K1).n by A14,A17,FUNCT_1:13;
     end;
     hence lim(f#x) = M2.(Measurable-X-section(E,x)) by A16,FUNCT_2:63;
    end;
    hence F.x = M2.(Measurable-X-section(E,x)) by A12,MESFUNC8:def 9;
   end;
   thus for V be Element of S1 holds F is V-measurable by A11,MESFUNC1:30,
   A6,A7,MESFUNC8:25;
end;

theorem Th91:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
  M1 be sigma_Measure of S1, E be Element of sigma measurable_rectangles(S1,S2)
st M1 is sigma_finite
holds
  (ex F be Function of X2,ExtREAL st
    (for y be Element of X2 holds
         F.y = M1.(Measurable-Y-section(E,y)))
  & (for V be Element of S2 holds F is V-measurable))
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
   M1 be sigma_Measure of S1,
   E be Element of sigma measurable_rectangles(S1,S2);
   assume M1 is sigma_finite; then
   consider B be Set_Sequence of S1 such that
A1: B is non-descending & (for n be Nat holds M1.(B.n) < +infty)
  & lim B = X1 by LM0902a;

   defpred P[Nat,object] means
    ex f1 be Function of X2,ExtREAL st
     $2 = f1
   & (for y be Element of X2 holds
        f1.y = M1.(Measurable-Y-section(E,y) /\ B.$1)
   & (for V be Element of S2 holds f1 is V-measurable));

A2:for n be Element of NAT ex f be Element of PFuncs(X2,ExtREAL) st P[n,f]
   proof
    let n be Element of NAT;

    reconsider Bn = B.n as Element of S1 by MEASURE8:def 2;
    M1.Bn < +infty by A1; then
    sigma measurable_rectangles(S1,S2)
     c= {E where E is Element of sigma measurable_rectangles(S1,S2) :
       (ex F be Function of X2,ExtREAL st
            (for y be Element of X2 holds
               F.y = M1.(Measurable-Y-section(E,y) /\ Bn))
          & (for V be Element of S2 holds F is V-measurable))}
        by Th89; then
    E in {E where E is Element of sigma measurable_rectangles(S1,S2) :
      (ex F be Function of X2,ExtREAL st
           (for y be Element of X2 holds
               F.y = M1.(Measurable-Y-section(E,y) /\ Bn))
         & (for V be Element of S2 holds F is V-measurable))}; then
    ex E1 be Element of sigma measurable_rectangles(S1,S2) st
     E = E1
   & (ex F be Function of X2,ExtREAL st
         (for y be Element of X2 holds
             F.y = M1.(Measurable-Y-section(E1,y) /\ Bn))
       & (for V be Element of S2 holds F is V-measurable)); then
    consider f1 be Function of X2,ExtREAL such that
A3:   (for y be Element of X2 holds
         f1.y = M1.(Measurable-Y-section(E,y) /\ Bn))
    & (for V be Element of S2 holds f1 is V-measurable);

    reconsider f = f1 as Element of PFuncs(X2,ExtREAL) by PARTFUN1:45;
    take f;
    f1 is Function of X2,ExtREAL & f = f1
  & (for y be Element of X2 holds
        f1.y = M1.(Measurable-Y-section(E,y) /\ B.n))
  & (for V be Element of S2 holds f1 is V-measurable) by A3;
    hence thesis;
   end;

   consider f be Function of NAT,PFuncs(X2,ExtREAL) such that
A4: for n be Element of NAT holds P[n,f.n] from FUNCT_2:sch 3(A2);

A5:for n be Nat holds
    f.n is Function of X2,ExtREAL
  & (for y be Element of X2 holds
        (f.n).y = M1.(Measurable-Y-section(E,y) /\ B.n)
  & (for V be Element of S2 holds f.n is V-measurable))
   proof
    let n be Nat;
    n is Element of NAT by ORDINAL1:def 12; then
    ex f1 be Function of X2,ExtREAL st
     f.n = f1
   & (for y be Element of X2 holds
        f1.y = M1.(Measurable-Y-section(E,y) /\ B.n)
   & (for V be Element of S2 holds f1 is V-measurable)) by A4;
    hence thesis;
   end;
   for n,m be Nat holds dom(f.n) = dom(f.m)
   proof
    let n,m be Nat;
    f.n is Function of X2,ExtREAL & f.m is Function of X2,ExtREAL by A5; then
    dom(f.n) = X2 & dom(f.m) = X2 by FUNCT_2:def 1;
    hence thesis;
   end; then
   reconsider f as with_the_same_dom Functional_Sequence of X2,ExtREAL
     by MESFUNC8:def 2;
   reconsider XX2 = X2 as Element of S2 by MEASURE1:11;
   f.0 is Function of X2,ExtREAL by A5; then
A6:dom(f.0) = XX2 by FUNCT_2:def 1;
A7:for n be Nat holds f.n is XX2-measurable by A5;
A11:for y be Element of X2 st y in X2 holds f#y is convergent
   proof
    let y be Element of X2;
    assume y in X2;
    for n,m be Nat st m <= n holds (f#y).m <= (f#y).n
    proof
     let n,m be Nat;
     assume A8: m <= n;
     (f#y).m = (f.m).y & (f#y).n = (f.n).y by MESFUNC5:def 13; then
A9:  (f#y).m = M1.(Measurable-Y-section(E,y) /\ B.m)
   & (f#y).n = M1.(Measurable-Y-section(E,y) /\ B.n) by A5;
A10: Measurable-Y-section(E,y) /\ B.m c= Measurable-Y-section(E,y) /\ B.n
       by A1,A8,PROB_1:def 5,XBOOLE_1:26;
     B.m in S1 & B.n in S1 by MEASURE8:def 2; then
     Measurable-Y-section(E,y) /\ B.m in S1 &
     Measurable-Y-section(E,y) /\ B.n in S1 by MEASURE1:11;
     hence (f#y).m <= (f#y).n by A9,A10,MEASURE1:31;
    end; then
    f#y is non-decreasing by RINFSUP2:7;
    hence f#y is convergent by RINFSUP2:37;
   end;
A12:dom (lim f) = X2 by A6,MESFUNC8:def 9; then
   reconsider F = lim f as Function of X2,ExtREAL by FUNCT_2:def 1;
   take F;
   thus for y be Element of X2 holds F.y = M1.(Measurable-Y-section(E,y))
   proof
    let y be Element of X2;
    deffunc F(Nat) = Measurable-Y-section(E,y) /\ B.$1;
    set K1 = Measurable-Y-section(E,y) (/\) B;
    B is convergent by A1,SETLIM_1:80; then
    lim K1 = Measurable-Y-section(E,y) /\ X1 by A1,SETLIM_2:92; then
A13:lim K1 = Measurable-Y-section(E,y) by XBOOLE_1:28;
A14:dom K1 = NAT by FUNCT_2:def 1;
    for n be object st n in NAT holds K1.n in S1
    proof
     let n be object;
     assume n in NAT; then
     reconsider n1=n as Element of NAT;
A15: K1.n1 = Y-section(E,y) /\ B.n1 by SETLIM_2:def 5;
     reconsider Bn = B.n1 as Element of S1 by MEASURE8:def 2;
     for y be Element of X2 holds Y-section(E,y) /\ Bn in S1
     proof
      let y be Element of X2;
      Y-section(E,y) in S1 by Th44;
      hence Y-section(E,y) /\ Bn in S1 by MEASURE1:11;
     end;
     hence K1.n in S1 by A15;
    end; then
    reconsider K1 as SetSequence of S1 by A14,FUNCT_2:3;
    K1 is non-descending by A1,SETLIM_2:22; then
A16:lim(M1*K1) = M1.(Measurable-Y-section(E,y)) by A13,MEASURE8:26;
    for n be Element of NAT holds (f#y).n = (M1*K1).n
    proof
     let n be Element of NAT;
     (f#y).n = (f.n).y by MESFUNC5:def 13; then
A17: (f#y).n = M1.(Measurable-Y-section(E,y) /\ B.n) by A5;
     K1.n = Measurable-Y-section(E,y) /\ B.n by SETLIM_2:def 5;
     hence (f#y).n = (M1*K1).n by A14,A17,FUNCT_1:13;
    end; then
    lim(f#y) = M1.(Measurable-Y-section(E,y)) by A16,FUNCT_2:63;
    hence F.y = M1.(Measurable-Y-section(E,y)) by A12,MESFUNC8:def 9;
   end;
   thus for V be Element of S2 holds F is V-measurable by A11,MESFUNC1:30,
   A6,A7,MESFUNC8:25;
end;

definition
let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
  M2 be sigma_Measure of S2,
  E be Element of sigma measurable_rectangles(S1,S2);
assume A1: M2 is sigma_finite;
func Y-vol(E,M2) -> nonnegative Function of X1,ExtREAL means :DefYvol:
  (for x be Element of X1 holds it.x = M2.(Measurable-X-section(E,x)))
& (for V be Element of S1 holds it is V-measurable);
existence
proof
   consider IT be Function of X1,ExtREAL such that
A2: (for x be Element of X1 holds IT.x = M2.(Measurable-X-section(E,x)))
  & (for V be Element of S1 holds IT is V-measurable) by A1,Th90;
   now let x be Element of X1;
    IT.x = M2.(Measurable-X-section(E,x)) by A2;
    hence 0. <= IT.x by SUPINF_2:51;
   end; then
   reconsider IT as nonnegative Function of X1,ExtREAL by SUPINF_2:39;
   take IT;
   thus thesis by A2;
end;
uniqueness
proof
   let f1,f2 be nonnegative Function of X1,ExtREAL;
   assume that
A1: (for x be Element of X1 holds f1.x = M2.(Measurable-X-section(E,x)))
  & (for V be Element of S1 holds f1 is V-measurable) and
A2: (for x be Element of X1 holds f2.x = M2.(Measurable-X-section(E,x)))
  & (for V be Element of S1 holds f2 is V-measurable);
   now let x be Element of X1;
    f1.x = M2.(Measurable-X-section(E,x)) by A1;
    hence f1.x = f2.x by A2;
   end;
   hence f1 = f2 by FUNCT_2:63;
end;
end;

definition
let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
  M1 be sigma_Measure of S1,
  E be Element of sigma measurable_rectangles(S1,S2);
assume A1: M1 is sigma_finite;
func X-vol(E,M1) -> nonnegative Function of X2,ExtREAL means :DefXvol:
  (for y be Element of X2 holds it.y = M1.(Measurable-Y-section(E,y)))
& (for V be Element of S2 holds it is V-measurable);
existence
proof
   consider IT be Function of X2,ExtREAL such that
A2: (for y be Element of X2 holds IT.y = M1.(Measurable-Y-section(E,y)))
  & (for V be Element of S2 holds IT is V-measurable) by A1,Th91;
   now let y be Element of X2;
    IT.y = M1.(Measurable-Y-section(E,y)) by A2;
    hence 0. <= IT.y by SUPINF_2:51;
   end; then
   reconsider IT as nonnegative Function of X2,ExtREAL by SUPINF_2:39;
   take IT;
   thus thesis by A2;
end;
uniqueness
proof
   let f1,f2 be nonnegative Function of X2,ExtREAL;
   assume that
A1: (for y be Element of X2 holds f1.y = M1.(Measurable-Y-section(E,y)))
  & (for V be Element of S2 holds f1 is V-measurable) and
A2: (for y be Element of X2 holds f2.y = M1.(Measurable-Y-section(E,y)))
  & (for V be Element of S2 holds f2 is V-measurable);
   now let y be Element of X2;
    f1.y = M1.(Measurable-Y-section(E,y)) by A1;
    hence f1.y = f2.y by A2;
   end;
   hence f1 = f2 by FUNCT_2:63;
end;
end;

theorem Th92:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
  M2 be sigma_Measure of S2,
  E1,E2 be Element of sigma measurable_rectangles(S1,S2)
 st M2 is sigma_finite & E1 misses E2 holds
  Y-vol(E1 \/ E2,M2) = Y-vol(E1,M2) + Y-vol(E2,M2)
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
       M2 be sigma_Measure of S2,
       E1,E2 be Element of sigma measurable_rectangles(S1,S2);
   assume that
A1: M2 is sigma_finite and
A2: E1 misses E2;
A3:dom(Y-vol(E1 \/ E2,M2)) = X1 & dom(Y-vol(E1,M2)) = X1
 & dom(Y-vol(E2,M2)) = X1 by FUNCT_2:def 1; then
A4:dom(Y-vol(E1,M2) + Y-vol(E2,M2)) = X1 /\ X1 by MESFUNC5:22;
   for x be Element of X1 st x in dom(Y-vol(E1 \/ E2,M2)) holds
      (Y-vol(E1 \/ E2,M2)).x = (Y-vol(E1,M2) + Y-vol(E2,M2)).x
   proof
    let x be Element of X1;
    assume x in dom(Y-vol(E1 \/ E2,M2));
A6: (Y-vol(E1 \/ E2,M2)).x = M2.(Measurable-X-section(E1 \/ E2,x))
  & (Y-vol(E1,M2)).x = M2.(Measurable-X-section(E1,x))
  & (Y-vol(E2,M2)).x = M2.(Measurable-X-section(E2,x)) by A1,DefYvol;
    Measurable-X-section(E1 \/ E2,x)
     = Measurable-X-section(E1,x) \/ Measurable-X-section(E2,x) by Th20; then
    (Y-vol(E1 \/ E2,M2)).x = (Y-vol(E1,M2)).x + (Y-vol(E2,M2)).x
      by A6,A2,Th29,MEASURE1:30;
    hence thesis by A4,MESFUNC1:def 3;
   end;
   hence thesis by A4,A3,PARTFUN1:5;
end;

theorem Th93:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
  M1 be sigma_Measure of S1,
  E1,E2 be Element of sigma measurable_rectangles(S1,S2)
 st M1 is sigma_finite & E1 misses E2 holds
  X-vol(E1 \/ E2,M1) = X-vol(E1,M1) + X-vol(E2,M1)
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
       M1 be sigma_Measure of S1,
       E1,E2 be Element of sigma measurable_rectangles(S1,S2);
   assume that
A1: M1 is sigma_finite and
A2: E1 misses E2;
A3:dom(X-vol(E1 \/ E2,M1)) = X2 & dom(X-vol(E1,M1)) = X2
 & dom(X-vol(E2,M1)) = X2 by FUNCT_2:def 1; then
A4:dom(X-vol(E1,M1) + X-vol(E2,M1)) = X2 /\ X2 by MESFUNC5:22;
   for x be Element of X2 st x in dom(X-vol(E1 \/ E2,M1)) holds
      (X-vol(E1 \/ E2,M1)).x = (X-vol(E1,M1) + X-vol(E2,M1)).x
   proof
    let x be Element of X2;
    assume x in dom(X-vol(E1 \/ E2,M1));
A6: (X-vol(E1 \/ E2,M1)).x = M1.(Measurable-Y-section(E1 \/ E2,x))
  & (X-vol(E1,M1)).x = M1.(Measurable-Y-section(E1,x))
  & (X-vol(E2,M1)).x = M1.(Measurable-Y-section(E2,x)) by A1,DefXvol;

    Measurable-Y-section(E1 \/ E2,x)
     = Measurable-Y-section(E1,x) \/ Measurable-Y-section(E2,x) by Th20; then
    (X-vol(E1 \/ E2,M1)).x = (X-vol(E1,M1)).x + (X-vol(E2,M1)).x
      by A6,A2,Th29,MEASURE1:30;
    hence thesis by A4,MESFUNC1:def 3;
   end;
   hence thesis by A4,A3,PARTFUN1:5;
end;

theorem Th94:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
  M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
  E1,E2 be Element of sigma measurable_rectangles(S1,S2)
 st M2 is sigma_finite & E1 misses E2 holds
  Integral(M1,Y-vol(E1 \/ E2,M2))
    = Integral(M1,Y-vol(E1,M2)) + Integral(M1,Y-vol(E2,M2))
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
       M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
       E1,E2 be Element of sigma measurable_rectangles(S1,S2);
   assume that
A1: M2 is sigma_finite and
A2: E1 misses E2;
   reconsider XX1 = X1 as Element of S1 by MEASURE1:7;
a3:Y-vol(E1 \/ E2,M2) = Y-vol(E1,M2) + Y-vol(E2,M2) by A1,A2,Th92;
A3:dom(Y-vol(E1,M2)) = XX1 & Y-vol(E1,M2) is XX1-measurable
     by A1,DefYvol,FUNCT_2:def 1;
A4:dom(Y-vol(E2,M2)) = XX1 & Y-vol(E2,M2) is XX1-measurable
     by A1,DefYvol,FUNCT_2:def 1;
A5:dom(Y-vol(E1 \/ E2,M2)) = XX1 & Y-vol(E1 \/ E2,M2) is XX1-measurable
     by A1,DefYvol,FUNCT_2:def 1;
   reconsider Y1 = Y-vol(E1,M2) as PartFunc of X1,ExtREAL;
   reconsider Y2 = Y-vol(E2,M2) as PartFunc of X1,ExtREAL;
   ex Z be Element of S1 st
    Z = dom(Y-vol(E1,M2) + Y-vol(E2,M2)) &
    integral+(M1,Y-vol(E1,M2) + Y-vol(E2,M2))
      = integral+(M1,Y1|Z) + integral+(M1,Y2|Z)
        by A3,A4,MESFUNC5:78; then
   Integral(M1,Y-vol(E1 \/ E2,M2))
     = integral+(M1,Y-vol(E1,M2)) + integral+(M1,Y-vol(E2,M2))
          by a3,A5,MESFUNC5:88
    .= Integral(M1,Y-vol(E1,M2)) + integral+(M1,Y-vol(E2,M2))
          by A3,MESFUNC5:88;
   hence thesis by A4,MESFUNC5:88;
end;

theorem Th95:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
  M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
  E1,E2 be Element of sigma measurable_rectangles(S1,S2)
 st M1 is sigma_finite & E1 misses E2 holds
  Integral(M2,X-vol(E1 \/ E2,M1))
    = Integral(M2,X-vol(E1,M1)) + Integral(M2,X-vol(E2,M1))
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
       M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
       E1,E2 be Element of sigma measurable_rectangles(S1,S2);
   assume that
A1: M1 is sigma_finite and
A2: E1 misses E2;
   reconsider XX2 = X2 as Element of S2 by MEASURE1:7;
a3:X-vol(E1 \/ E2,M1) = X-vol(E1,M1) + X-vol(E2,M1) by A1,A2,Th93;
A3:dom(X-vol(E1,M1)) = XX2 & X-vol(E1,M1) is XX2-measurable
     by A1,DefXvol,FUNCT_2:def 1;
A4:dom(X-vol(E2,M1)) = XX2 & X-vol(E2,M1) is XX2-measurable
     by A1,DefXvol,FUNCT_2:def 1;
A5:dom(X-vol(E1 \/ E2,M1)) = XX2 & X-vol(E1 \/ E2,M1) is XX2-measurable
     by A1,DefXvol,FUNCT_2:def 1;
   reconsider V1 = X-vol(E1,M1) as PartFunc of X2,ExtREAL;
   reconsider V2 = X-vol(E2,M1) as PartFunc of X2,ExtREAL;
   ex Z be Element of S2 st
    Z = dom(X-vol(E1,M1) + X-vol(E2,M1)) &
    integral+(M2,X-vol(E1,M1) + X-vol(E2,M1))
      = integral+(M2,V1|Z) + integral+(M2,V2|Z)
        by A3,A4,MESFUNC5:78; then
   Integral(M2,X-vol(E1 \/ E2,M1))
     = integral+(M2,X-vol(E1,M1)) + integral+(M2,X-vol(E2,M1))
          by a3,A5,MESFUNC5:88
    .= Integral(M2,X-vol(E1,M1)) + integral+(M2,X-vol(E2,M1))
          by A3,MESFUNC5:88;
   hence thesis by A4,MESFUNC5:88;
end;

theorem Th96:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
  M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
  E be Element of sigma measurable_rectangles(S1,S2),
  A be Element of S1, B be Element of S2
   st E = [:A,B:] & M2 is sigma_finite holds
   (M2.B = +infty implies Y-vol(E,M2) = Xchi(A,X1))
 & (M2.B <> +infty implies
      ex r be Real st r = M2.B & Y-vol(E,M2) = r(#)chi(A,X1))
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
       M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
       E be Element of sigma measurable_rectangles(S1,S2),
       A be Element of S1, B be Element of S2;
   assume that
A1: E = [:A,B:] and
A2: M2 is sigma_finite;
   hereby assume
A3: M2.B = +infty;
    for x be Element of X1 holds (Y-vol(E,M2)).x = Xchi(A,X1).x
    proof
     let x be Element of X1;
A4:  (Y-vol(E,M2)).x = M2.(Measurable-X-section(E,x)) by A2,DefYvol
      .= M2.B * chi(A,X1).x by A1,Th48;
     per cases;
     suppose
A5:   x in A; then
      chi(A,X1).x = 1 by FUNCT_3:def 3; then
      (Y-vol(E,M2)).x = +infty by A3,A4,XXREAL_3:81;
      hence (Y-vol(E,M2)).x = Xchi(A,X1).x by A5,MEASUR10:def 7;
     end;
     suppose
A6:   not x in A; then
      chi(A,X1).x = 0 by FUNCT_3:def 3; then
      (Y-vol(E,M2)).x = 0 by A4;
      hence (Y-vol(E,M2)).x = Xchi(A,X1).x by A6,MEASUR10:def 7;
     end;
    end;
    hence Y-vol(E,M2) = Xchi(A,X1) by FUNCT_2:def 8;
   end;
   assume
P1: M2.B <> +infty;
   M2.B >= 0 by SUPINF_2:51; then
   M2.B in REAL by P1,XXREAL_0:14; then
   reconsider r = M2.B as Real;
   take r;
   dom(r(#)chi(A,X1)) = dom(chi(A,X1)) by MESFUNC1:def 6; then
A8:dom(r(#)chi(A,X1)) = X1 by FUNCT_3:def 3; then
P2:dom(Y-vol(E,M2)) = dom(r(#)chi(A,X1)) by FUNCT_2:def 1;
   for x be Element of X1 st x in dom(Y-vol(E,M2)) holds
    (Y-vol(E,M2)).x = (r(#)chi(A,X1)).x
   proof
    let x be Element of X1;
    assume x in dom(Y-vol(E,M2));
    (Y-vol(E,M2)).x = M2.(Measurable-X-section(E,x)) by A2,DefYvol
     .= r * chi(A,X1).x by A1,Th48;
    hence (Y-vol(E,M2)).x = (r(#)chi(A,X1)).x by A8,MESFUNC1:def 6;
   end;
   hence r = M2.B & Y-vol(E,M2) = r(#)chi(A,X1) by P2,PARTFUN1:5;
end;

theorem Th97:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
  M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
  E be Element of sigma measurable_rectangles(S1,S2),
  A be Element of S1, B be Element of S2
   st E = [:A,B:] & M1 is sigma_finite holds
   (M1.A = +infty implies X-vol(E,M1) = Xchi(B,X2))
 & (M1.A <> +infty implies
      ex r be Real st r = M1.A & X-vol(E,M1) = r(#)chi(B,X2))
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
       M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
       E be Element of sigma measurable_rectangles(S1,S2),
       A be Element of S1, B be Element of S2;
   assume that
A1: E = [:A,B:] and
A2: M1 is sigma_finite;
   hereby assume
A3: M1.A = +infty;
    for x be Element of X2 holds (X-vol(E,M1)).x = Xchi(B,X2).x
    proof
     let x be Element of X2;
A4:  (X-vol(E,M1)).x = M1.(Measurable-Y-section(E,x)) by A2,DefXvol
      .= M1.A * chi(B,X2).x by A1,Th50;
     per cases;
     suppose
A5:   x in B; then
      chi(B,X2).x = 1 by FUNCT_3:def 3; then
      (X-vol(E,M1)).x = +infty by A3,A4,XXREAL_3:81;
      hence (X-vol(E,M1)).x = Xchi(B,X2).x by A5,MEASUR10:def 7;
     end;
     suppose
A6:   not x in B; then
      chi(B,X2).x = 0 by FUNCT_3:def 3; then
      (X-vol(E,M1)).x = 0 by A4;
      hence (X-vol(E,M1)).x = Xchi(B,X2).x by A6,MEASUR10:def 7;
     end;
    end;
    hence X-vol(E,M1) = Xchi(B,X2) by FUNCT_2:def 8;
   end;
   assume
P1: M1.A <> +infty;
   M1.A >= 0 by SUPINF_2:51; then
   M1.A in REAL by P1,XXREAL_0:14; then
   reconsider r = M1.A as Real;
   take r;
   dom(r(#)chi(B,X2)) = dom(chi(B,X2)) by MESFUNC1:def 6; then
A8:dom(r(#)chi(B,X2)) = X2 by FUNCT_3:def 3; then
P2:dom(X-vol(E,M1)) = dom(r(#)chi(B,X2)) by FUNCT_2:def 1;
   for x be Element of X2 st x in dom(X-vol(E,M1)) holds
    (X-vol(E,M1)).x = (r(#)chi(B,X2)).x
   proof
    let x be Element of X2;
    assume x in dom(X-vol(E,M1));
    (X-vol(E,M1)).x = M1.(Measurable-Y-section(E,x)) by A2,DefXvol
     .= r * chi(B,X2).x by A1,Th50;
    hence (X-vol(E,M1)).x = (r(#)chi(B,X2)).x by A8,MESFUNC1:def 6;
   end;
   hence r = M1.A & X-vol(E,M1) = r(#)chi(B,X2) by P2,PARTFUN1:5;
end;

theorem Th98:
for X be non empty set, S be SigmaField of X, M be sigma_Measure of S,
 A be Element of S, r be Real st r >= 0 holds
  Integral(M,r(#)chi(A,X)) = r * M.A
proof
   let X be non empty set, S be SigmaField of X, M be sigma_Measure of S,
   A be Element of S, r be Real;
   assume A1: r >= 0;
   reconsider XX = X as Element of S by MEASURE1:7;
A2:dom(chi(A,X)) = XX & chi(A,X) is XX-measurable
     by FUNCT_3:def 3,MESFUNC2:29; then
A3:dom(r(#)chi(A,X)) = XX & r(#)chi(A,X) is XX-measurable
     by MESFUNC1:def 6,37;
   Integral(M,chi(A,X)) = M.A by MESFUNC9:14; then
   integral+(M,chi(A,X)) = M.A by A2,MESFUNC5:88; then
   integral+(M,r(#)chi(A,X)) = r * M.A by A1,A2,MESFUNC5:86;
   hence Integral(M,r(#)chi(A,X)) = r * M.A by A1,A3,MESFUNC5:20,88;
end;

theorem Th99:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
  M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
  F be FinSequence of sigma measurable_rectangles(S1,S2),
  n be Nat
st M2 is sigma_finite
 & F is FinSequence of measurable_rectangles(S1,S2) holds
   product_sigma_Measure(M1,M2).(F.n) = Integral(M1,Y-vol(F.n,M2))
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
       M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
       F be FinSequence of sigma measurable_rectangles(S1,S2),
       n be Nat;
   assume that
A1: M2 is sigma_finite and
A2: F is FinSequence of measurable_rectangles(S1,S2);
   reconsider XX1 = X1 as Element of S1 by MEASURE1:7;
   not n in dom F implies F.n in measurable_rectangles(S1,S2)
   proof
    assume not n in dom F; then
    F.n = {} by FUNCT_1:def 2;
    hence F.n in measurable_rectangles(S1,S2) by SETFAM_1:def 8;
   end; then
   F.n in measurable_rectangles(S1,S2) by A2,PARTFUN1:4; then
F.n in the set of all [:A,B:] where A is Element of S1, B is Element of S2
       by MEASUR10:def 5; then
   consider P be Element of S1, Q be Element of S2 such that
d4: F.n = [:P,Q:];
d5:product_sigma_Measure(M1,M2).(F.n) = M1.P * M2.Q by d4,Th10;
   per cases;
   suppose d8: M1.P = 0 & M2.Q = +infty; then
    product_sigma_Measure(M1,M2).(F.n) = 0
  & Y-vol(F.n,M2) = Xchi(P,X1) by A1,d4,d5,Th96;
    hence product_sigma_Measure(M1,M2).(F.n) = Integral(M1,Y-vol(F.n,M2))
      by d8,MEASUR10:33;
   end;
   suppose M1.P = 0 & M2.Q <> +infty; then
    ex r be Real st
     r = M2.Q & Y-vol(F.n,M2) = r(#)chi(P,X1) by A1,d4,Th96;
    hence product_sigma_Measure(M1,M2).(F.n) = Integral(M1,Y-vol(F.n,M2))
       by d5,Th98,SUPINF_2:51;
   end;
   suppose d6: M1.P <> 0 & M2.Q = +infty;
    M1.P >= 0 by SUPINF_2:51; then
d7: product_sigma_Measure(M1,M2).(F.n) = +infty by d5,d6,XXREAL_3:def 5;
    Y-vol(F.n,M2) = Xchi(P,X1) by A1,d4,d6,Th96;
    hence product_sigma_Measure(M1,M2).(F.n) = Integral(M1,Y-vol(F.n,M2))
      by d7,d6,MEASUR10:33;
   end;
   suppose M1.P <> 0 & M2.Q <> +infty; then
    ex r be Real st
     r = M2.Q & Y-vol(F.n,M2) = r(#)chi(P,X1) by A1,d4,Th96;
    hence product_sigma_Measure(M1,M2).(F.n) = Integral(M1,Y-vol(F.n,M2))
      by d5,Th98,SUPINF_2:51;
   end;
end;

theorem Th100:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
  M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
  F be FinSequence of sigma measurable_rectangles(S1,S2),
  n be Nat
st M1 is sigma_finite
 & F is FinSequence of measurable_rectangles(S1,S2)
holds
   product_sigma_Measure(M1,M2).(F.n) = Integral(M2,X-vol(F.n,M1))
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
       M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
       F be FinSequence of sigma measurable_rectangles(S1,S2),
       n be Nat;
   assume that
A1: M1 is sigma_finite and
A2: F is FinSequence of measurable_rectangles(S1,S2);
   reconsider XX2 = X2 as Element of S2 by MEASURE1:7;
   not n in dom F implies F.n in measurable_rectangles(S1,S2)
   proof
    assume not n in dom F; then
    F.n = {} by FUNCT_1:def 2;
    hence F.n in measurable_rectangles(S1,S2) by SETFAM_1:def 8;
   end; then
   F.n in measurable_rectangles(S1,S2) by A2,PARTFUN1:4; then
F.n in the set of all [:A,B:] where A is Element of S1, B is Element of S2
       by MEASUR10:def 5; then
   consider P be Element of S1, Q be Element of S2 such that
d4: F.n = [:P,Q:];
d5:product_sigma_Measure(M1,M2).(F.n) = M1.P * M2.Q by d4,Th10;
   per cases;
   suppose d8: M2.Q = 0 & M1.P = +infty; then
    product_sigma_Measure(M1,M2).(F.n) = 0
  & X-vol(F.n,M1) = Xchi(Q,X2) by A1,d4,d5,Th97;
    hence product_sigma_Measure(M1,M2).(F.n) = Integral(M2,X-vol(F.n,M1))
      by d8,MEASUR10:33;
   end;
   suppose M2.Q = 0 & M1.P <> +infty; then
    ex r be Real st
     r = M1.P & X-vol(F.n,M1) = r(#)chi(Q,X2) by A1,d4,Th97;
    hence product_sigma_Measure(M1,M2).(F.n) = Integral(M2,X-vol(F.n,M1))
       by d5,Th98,SUPINF_2:51;
   end;
   suppose d6: M2.Q <> 0 & M1.P = +infty;
    M2.Q >= 0 by SUPINF_2:51; then
d7: product_sigma_Measure(M1,M2).(F.n) = +infty by d5,d6,XXREAL_3:def 5;
    X-vol(F.n,M1) = Xchi(Q,X2) by A1,d4,d6,Th97;
    hence product_sigma_Measure(M1,M2).(F.n) = Integral(M2,X-vol(F.n,M1))
      by d7,d6,MEASUR10:33;
   end;
   suppose M2.Q <> 0 & M1.P <> +infty; then
    ex r be Real st
     r = M1.P & X-vol(F.n,M1) = r(#)chi(Q,X2) by A1,d4,Th97;
    hence product_sigma_Measure(M1,M2).(F.n) = Integral(M2,X-vol(F.n,M1))
      by d5,Th98,SUPINF_2:51;
   end;
end;

theorem Th102:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
  M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
  F be disjoint_valued FinSequence of sigma measurable_rectangles(S1,S2),
  n be Nat
st M2 is sigma_finite
 & F is FinSequence of measurable_rectangles(S1,S2)
holds
   product_sigma_Measure(M1,M2).(Union F) = Integral(M1,Y-vol(Union F,M2))
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
   M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
   F be disjoint_valued FinSequence of sigma measurable_rectangles(S1,S2),
   n be Nat;
   assume that
A1: M2 is sigma_finite and
A2: F is FinSequence of measurable_rectangles(S1,S2);
A3:F|(len F) = F by FINSEQ_1:58;
   defpred P[Nat] means
    product_sigma_Measure(M1,M2).(Union(F|$1))
     = Integral(M1,Y-vol(Union(F|$1),M2));
   union rng(F|0) = {} by ZFMISC_1:2; then
A4:Union(F|0) = {} by CARD_3:def 4;
   not 0 in dom F by FINSEQ_3:24; then
   F.0 = {} by FUNCT_1:def 2; then
P1:P[0] by A4,A1,A2,Th99;
P2:for k be Nat st P[k] holds P[k+1]
   proof
    let k be Nat;
    assume P3: P[k];
A6: k <= k+1 by NAT_1:13;
    per cases;
    suppose len F >= k+1; then
     len(F|(k+1)) = k+1 by FINSEQ_1:59; then
     F|(k+1) = ((F|(k+1))|k) ^ <* (F|(k+1)).(k+1) *> by FINSEQ_3:55
      .= F|k ^ <* (F|(k+1)).(k+1) *> by A6,FINSEQ_1:82
      .= F|k ^ <* F.(k+1) *> by FINSEQ_3:112; then
     rng(F|(k+1)) = rng(F|k) \/ rng <* F.(k+1) *> by FINSEQ_1:31
      .= rng(F|k) \/ {F.(k+1)} by FINSEQ_1:38; then
     union rng(F|(k+1)) = union rng(F|k) \/ union {F.(k+1)} by ZFMISC_1:78
      .= union rng(F|k) \/ F.(k+1) by ZFMISC_1:25
      .= Union(F|k) \/ F.(k+1) by CARD_3:def 4; then
A8:  Union(F|(k+1)) = Union(F|k) \/ F.(k+1) by CARD_3:def 4; then
     product_sigma_Measure(M1,M2).(Union(F|(k+1)))
      = product_sigma_Measure(M1,M2).(Union(F|k))
         + product_sigma_Measure(M1,M2).(F.(k+1)) by Th101,Th12
     .= Integral(M1,Y-vol(Union(F|k),M2))
         + Integral(M1,Y-vol(F.(k+1),M2)) by A1,A2,P3,Th99;
     hence P[k+1] by A1,A8,Th101,Th94;
    end;
    suppose len F < k+1; then
     (F|(k+1)) = F & F|k = F by FINSEQ_3:49,NAT_1:13;
     hence P[k+1] by P3;
    end;
   end;
   for k be Nat holds P[k] from NAT_1:sch 2(P1,P2);
   hence thesis by A3;
end;

theorem Th103:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
  M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
  F be disjoint_valued FinSequence of sigma measurable_rectangles(S1,S2),
  n be Nat
st M1 is sigma_finite
 & F is FinSequence of measurable_rectangles(S1,S2)
holds
   product_sigma_Measure(M1,M2).(Union F) = Integral(M2,X-vol(Union F,M1))
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
   M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
   F be disjoint_valued FinSequence of sigma measurable_rectangles(S1,S2),
   n be Nat;
   assume that
A1: M1 is sigma_finite and
A2: F is FinSequence of measurable_rectangles(S1,S2);
A3:F|(len F) = F by FINSEQ_1:58;
   defpred P[Nat] means product_sigma_Measure(M1,M2).(Union(F|$1))
      = Integral(M2,X-vol(Union(F|$1),M1));
   union rng(F|0) = {} by ZFMISC_1:2; then
A4:Union(F|0) = {} by CARD_3:def 4;
   not 0 in dom F by FINSEQ_3:24; then
   F.0 = {} by FUNCT_1:def 2; then
P1:P[0] by A4,A1,A2,Th100;
P2:for k be Nat st P[k] holds P[k+1]
   proof
    let k be Nat;
    assume P3: P[k];
A6: k <= k+1 by NAT_1:13;
    per cases;
    suppose len F >= k+1; then
     len(F|(k+1)) = k+1 by FINSEQ_1:59; then
     F|(k+1) = ((F|(k+1))|k) ^ <* (F|(k+1)).(k+1) *> by FINSEQ_3:55
      .= F|k ^ <* (F|(k+1)).(k+1) *> by A6,FINSEQ_1:82
      .= F|k ^ <* F.(k+1) *> by FINSEQ_3:112; then
     rng(F|(k+1)) = rng(F|k) \/ rng <* F.(k+1) *> by FINSEQ_1:31
      .= rng(F|k) \/ {F.(k+1)} by FINSEQ_1:38; then
     union rng(F|(k+1)) = union rng(F|k) \/ union {F.(k+1)} by ZFMISC_1:78
      .= union rng(F|k) \/ F.(k+1) by ZFMISC_1:25
      .= Union(F|k) \/ F.(k+1) by CARD_3:def 4; then
A8:  Union(F|(k+1)) = Union(F|k) \/ F.(k+1) by CARD_3:def 4; then
     product_sigma_Measure(M1,M2).(Union(F|(k+1)))
      = product_sigma_Measure(M1,M2).(Union(F|k))
         + product_sigma_Measure(M1,M2).(F.(k+1)) by Th101,Th12
     .= Integral(M2,X-vol(Union(F|k),M1))
         + Integral(M2,X-vol(F.(k+1),M1)) by A1,A2,P3,Th100;
     hence P[k+1] by A1,A8,Th101,Th95;
    end;
    suppose len F < k+1; then
     (F|(k+1)) = F & F|k = F by FINSEQ_3:49,NAT_1:13;
     hence P[k+1] by P3;
    end;
   end;
   for k be Nat holds P[k] from NAT_1:sch 2(P1,P2);
   hence thesis by A3;
end;

theorem Th104:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
  M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
  E be Element of sigma measurable_rectangles(S1,S2)
st
  E in Field_generated_by measurable_rectangles(S1,S2) & M2 is sigma_finite
holds
   for V be Element of sigma measurable_rectangles(S1,S2),
       A be Element of S1, B be Element of S2 st
    V = [:A,B:] holds
    E in {E where E is Element of sigma measurable_rectangles(S1,S2) :
     Integral(M1,(Y-vol(E/\V,M2))) = (product_sigma_Measure(M1,M2)).(E/\V)}
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
   M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
   E be Element of sigma measurable_rectangles(S1,S2);
   assume that
A1: E in Field_generated_by measurable_rectangles(S1,S2) and
A2: M2 is sigma_finite;
    let V be Element of sigma measurable_rectangles(S1,S2),
    A be Element of S1, B be Element of S2;
    assume A3: V = [:A,B:];
    V in the set of all [:A,B:]
        where A is Element of S1, B is Element of S2 by A3; then
A5: V in measurable_rectangles(S1,S2) by MEASUR10:def 5;
    measurable_rectangles(S1,S2)
     c= Field_generated_by measurable_rectangles(S1,S2) by SRINGS_3:21; then
A6: E /\ V in Field_generated_by measurable_rectangles(S1,S2)
       by A1,A5,FINSUB_1:def 2;
    reconsider XX1 = X1 as Element of S1 by MEASURE1:7;
     E/\V in DisUnion measurable_rectangles(S1,S2) by A6,SRINGS_3:22; then
     E/\V in { W where W is Subset of [:X1,X2:] :
       ex G be disjoint_valued FinSequence of measurable_rectangles(S1,S2) st
         W = Union G} by SRINGS_3:def 3; then
     consider W be Subset of [:X1,X2:] such that
A11:  E/\V = W
    & ex G be disjoint_valued FinSequence of measurable_rectangles(S1,S2) st
       W = Union G;
     consider G be disjoint_valued FinSequence of measurable_rectangles(S1,S2)
      such that
A12:  E/\V = Union G by A11;
A13: G in (measurable_rectangles(S1,S2))* by FINSEQ_1:def 11;
     measurable_rectangles(S1,S2) c= sigma measurable_rectangles(S1,S2)
       by PROB_1:def 9; then
     (measurable_rectangles(S1,S2))* c= (sigma measurable_rectangles(S1,S2))*
       by FINSEQ_1:62; then
     reconsider G as disjoint_valued FinSequence
       of sigma measurable_rectangles(S1,S2) by A13,FINSEQ_1:def 11;
     Integral(M1,Y-vol(Union G,M2)) = product_sigma_Measure(M1,M2).(Union G)
       by A2,Th102;
     hence E in {E where E is Element of sigma measurable_rectangles(S1,S2) :
     Integral(M1,(Y-vol(E/\V,M2))) = (product_sigma_Measure(M1,M2)).(E/\V)}
       by A12;
end;

theorem Th105:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
  M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
  E be Element of sigma measurable_rectangles(S1,S2)
st
  E in Field_generated_by measurable_rectangles(S1,S2) & M1 is sigma_finite
holds
   for V be Element of sigma measurable_rectangles(S1,S2),
       A be Element of S1, B be Element of S2 st
    V = [:A,B:] holds
    E in {E where E is Element of sigma measurable_rectangles(S1,S2) :
     Integral(M2,(X-vol(E/\V,M1))) = (product_sigma_Measure(M1,M2)).(E/\V)}
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
   M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
   E be Element of sigma measurable_rectangles(S1,S2);
   assume that
A1: E in Field_generated_by measurable_rectangles(S1,S2) and
A2: M1 is sigma_finite;
    let V be Element of sigma measurable_rectangles(S1,S2),
    A be Element of S1, B be Element of S2;
    assume V = [:A,B:]; then
    V in the set of all [:A,B:]
        where A is Element of S1, B is Element of S2; then
A5: V in measurable_rectangles(S1,S2) by MEASUR10:def 5;
    measurable_rectangles(S1,S2)
     c= Field_generated_by measurable_rectangles(S1,S2) by SRINGS_3:21; then
A6: E /\ V in Field_generated_by measurable_rectangles(S1,S2)
       by A1,A5,FINSUB_1:def 2;
    reconsider XX2 = X2 as Element of S2 by MEASURE1:7;
     E/\V in DisUnion measurable_rectangles(S1,S2) by A6,SRINGS_3:22; then
     E/\V in { W where W is Subset of [:X1,X2:] :
       ex G be disjoint_valued FinSequence of measurable_rectangles(S1,S2) st
         W = Union G} by SRINGS_3:def 3; then
     consider W be Subset of [:X1,X2:] such that
A11:  E/\V = W
    & ex G be disjoint_valued FinSequence of measurable_rectangles(S1,S2) st
       W = Union G;
     consider G be disjoint_valued FinSequence of measurable_rectangles(S1,S2)
      such that
A12:  E/\V = Union G by A11;
A13: G in (measurable_rectangles(S1,S2))* by FINSEQ_1:def 11;
     measurable_rectangles(S1,S2) c= sigma measurable_rectangles(S1,S2)
       by PROB_1:def 9; then
     (measurable_rectangles(S1,S2))* c= (sigma measurable_rectangles(S1,S2))*
       by FINSEQ_1:62; then
     reconsider G as disjoint_valued FinSequence
       of sigma measurable_rectangles(S1,S2) by A13,FINSEQ_1:def 11;
     Integral(M2,X-vol(Union G,M1)) = product_sigma_Measure(M1,M2).(Union G)
       by A2,Th103;
     hence E in {E where E is Element of sigma measurable_rectangles(S1,S2) :
     Integral(M2,(X-vol(E/\V,M1))) = (product_sigma_Measure(M1,M2)).(E/\V)}
       by A12;
end;

theorem Th106:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
  M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
  V be Element of sigma measurable_rectangles(S1,S2),
  A be Element of S1, B be Element of S2
 st M2 is sigma_finite & V = [:A,B:] holds
 Field_generated_by measurable_rectangles(S1,S2)
  c= {E where E is Element of sigma measurable_rectangles(S1,S2) :
       Integral(M1,(Y-vol(E/\V,M2))) = (product_sigma_Measure(M1,M2)).(E/\V)}
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
   M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
   V be Element of sigma measurable_rectangles(S1,S2),
   A be Element of S1, B be Element of S2;
   assume A1: M2 is sigma_finite & V = [:A,B:];
    let E be object;
    assume A2: E in Field_generated_by measurable_rectangles(S1,S2);
    sigma measurable_rectangles(S1,S2)
     = sigma DisUnion measurable_rectangles(S1,S2) by Th1
    .= sigma Field_generated_by measurable_rectangles(S1,S2)
      by SRINGS_3:22; then
    Field_generated_by measurable_rectangles(S1,S2)
     c= sigma measurable_rectangles(S1,S2)
       by PROB_1:def 9; then
    reconsider E1=E as Element of sigma measurable_rectangles(S1,S2) by A2;
    E1 in Field_generated_by measurable_rectangles(S1,S2) by A2;
    hence thesis by A1,Th104;
end;

theorem Th107:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
  M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
  V be Element of sigma measurable_rectangles(S1,S2),
  A be Element of S1, B be Element of S2
 st M1 is sigma_finite & V = [:A,B:] holds
 Field_generated_by measurable_rectangles(S1,S2)
  c= {E where E is Element of sigma measurable_rectangles(S1,S2) :
       Integral(M2,(X-vol(E/\V,M1))) = (product_sigma_Measure(M1,M2)).(E/\V)}
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
   M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
   V be Element of sigma measurable_rectangles(S1,S2),
   A be Element of S1, B be Element of S2;
   assume A1: M1 is sigma_finite & V = [:A,B:];
    let E be object;
    assume A2: E in Field_generated_by measurable_rectangles(S1,S2);
    sigma measurable_rectangles(S1,S2)
     = sigma DisUnion measurable_rectangles(S1,S2) by Th1
    .= sigma Field_generated_by measurable_rectangles(S1,S2)
      by SRINGS_3:22; then
    Field_generated_by measurable_rectangles(S1,S2)
     c= sigma measurable_rectangles(S1,S2)
       by PROB_1:def 9; then
    reconsider E1=E as Element of sigma measurable_rectangles(S1,S2) by A2;
    E1 in Field_generated_by measurable_rectangles(S1,S2) by A2;
    hence thesis by A1,Th105;
end;

theorem Th108:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
  M2 be sigma_Measure of S2,
  E,V be Element of sigma measurable_rectangles(S1,S2),
  P be Set_Sequence of sigma measurable_rectangles(S1,S2),
  x be Element of X1
 st P is non-descending & lim P = E holds
   ex K be SetSequence of S2 st
    K is non-descending
  & (for n be Nat holds K.n
      = Measurable-X-section(P.n,x) /\ Measurable-X-section(V,x))
  & lim K = Measurable-X-section(E,x) /\ Measurable-X-section(V,x)
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
   M2 be sigma_Measure of S2,
   E,V be Element of sigma measurable_rectangles(S1,S2),
   P be Set_Sequence of sigma measurable_rectangles(S1,S2),
   x be Element of X1;
   assume that
A1: P is non-descending and
A2: lim P = E;
A4: for n be Nat holds P.n in sigma measurable_rectangles(S1,S2);
    reconsider P1 = P as SetSequence of [:X1,X2:];
    consider G be SetSequence of X2 such that
A5:  G is non-descending
   & (for n be Nat holds G.n = X-section(P1.n,x)) by A1,Th37;
    for n be Nat holds G.n in S2
    proof
     let n be Nat;
     P1.n in sigma measurable_rectangles(S1,S2) by A4; then
     X-section(P1.n,x) in S2 by Th44;
     hence G.n in S2 by A5;
    end; then
    reconsider G as Set_Sequence of S2 by MEASURE8:def 2;
    set K = Measurable-X-section(V,x) (/\) G;
A6: G is convergent & lim G = Union G by A5,SETLIM_1:63;
    union rng G = X-section(union rng P,x) by A5,Th24; then
A7: Union G = X-section(union rng P,x) by CARD_3:def 4
     .= X-section(Union P,x) by CARD_3:def 4
     .= Measurable-X-section(E,x) by A1,A2,SETLIM_1:63;
A8: dom K = NAT by FUNCT_2:def 1;
    for n be object st n in NAT holds K.n in S2
    proof
     let n be object;
     assume n in NAT; then
     reconsider n1=n as Element of NAT;
     K.n1 = G.n1 /\ Measurable-X-section(V,x) by SETLIM_2:def 5; then
     K.n1 = Measurable-X-section(P.n1,x) /\ Measurable-X-section(V,x) by A5;
     hence K.n in S2;
    end; then
    reconsider K as SetSequence of S2 by A8,FUNCT_2:3;
A9: for n be Nat holds
      K.n = Measurable-X-section(P.n,x) /\ Measurable-X-section(V,x)
    proof
     let n be Nat;
     K.n = G.n /\ Measurable-X-section(V,x) by SETLIM_2:def 5;
     hence
       K.n = Measurable-X-section(P.n,x) /\ Measurable-X-section(V,x) by A5;
    end;
    take K;
    thus thesis by A9,A7,A6,A5,SETLIM_2:22,92;
end;

theorem Th109:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
  M1 be sigma_Measure of S1,
  E,V be Element of sigma measurable_rectangles(S1,S2),
  P be Set_Sequence of sigma measurable_rectangles(S1,S2),
  y be Element of X2
 st P is non-descending & lim P = E
holds
   ex K be SetSequence of S1 st
    K is non-descending
  & (for n be Nat holds K.n
      = Measurable-Y-section(P.n,y) /\ Measurable-Y-section(V,y))
  & lim K = Measurable-Y-section(E,y) /\ Measurable-Y-section(V,y)
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
   M1 be sigma_Measure of S1,
   E,V be Element of sigma measurable_rectangles(S1,S2),
   P be Set_Sequence of sigma measurable_rectangles(S1,S2),
   x be Element of X2;
   assume that
A1: P is non-descending and
A2: lim P = E;
A4: for n be Nat holds P.n in sigma measurable_rectangles(S1,S2);
    reconsider P1 = P as SetSequence of [:X1,X2:];
    consider G be SetSequence of X1 such that
A5:  G is non-descending
   & (for n be Nat holds G.n = Y-section(P1.n,x)) by A1,Th38;
    for n be Nat holds G.n in S1
    proof
     let n be Nat;
     P1.n in sigma measurable_rectangles(S1,S2) by A4; then
     Y-section(P1.n,x) in S1 by Th44;
     hence G.n in S1 by A5;
    end; then
    reconsider G as Set_Sequence of S1 by MEASURE8:def 2;
    set K = Measurable-Y-section(V,x) (/\) G;
A6: G is convergent & lim G = Union G by A5,SETLIM_1:63;
    union rng G = Y-section(union rng P,x) by A5,Th26; then
A7: Union G = Y-section(union rng P,x) by CARD_3:def 4
     .= Y-section(Union P,x) by CARD_3:def 4
     .= Measurable-Y-section(E,x) by A1,A2,SETLIM_1:63;
A8: dom K = NAT by FUNCT_2:def 1;
    for n be object st n in NAT holds K.n in S1
    proof
     let n be object;
     assume n in NAT; then
     reconsider n1=n as Element of NAT;
     K.n1 = G.n1 /\ Measurable-Y-section(V,x) by SETLIM_2:def 5; then
     K.n1 = Measurable-Y-section(P.n1,x) /\ Measurable-Y-section(V,x) by A5;
     hence K.n in S1;
    end; then
    reconsider K as SetSequence of S1 by A8,FUNCT_2:3;
A9: for n be Nat holds
      K.n = Measurable-Y-section(P.n,x) /\ Measurable-Y-section(V,x)
    proof
     let n be Nat;
     K.n = G.n /\ Measurable-Y-section(V,x) by SETLIM_2:def 5;
     hence
       K.n = Measurable-Y-section(P.n,x) /\ Measurable-Y-section(V,x) by A5;
    end;
    take K;
    thus thesis by A9,A7,A5,A6,SETLIM_2:22,92;
end;

theorem Th110:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
  M2 be sigma_Measure of S2,
  E,V be Element of sigma measurable_rectangles(S1,S2),
  P be Set_Sequence of sigma measurable_rectangles(S1,S2),
  x be Element of X1
 st P is non-ascending & lim P = E holds
   ex K be SetSequence of S2 st
    K is non-ascending
  & (for n be Nat holds K.n
      = Measurable-X-section(P.n,x) /\ Measurable-X-section(V,x))
  & lim K = Measurable-X-section(E,x) /\ Measurable-X-section(V,x)
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
   M2 be sigma_Measure of S2,
   E,V be Element of sigma measurable_rectangles(S1,S2),
   P be Set_Sequence of sigma measurable_rectangles(S1,S2),
   x be Element of X1;
   assume that
A1: P is non-ascending and
A2: lim P = E;
A4:for n be Nat holds P.n in sigma measurable_rectangles(S1,S2);
   reconsider P1 = P as SetSequence of [:X1,X2:];
   consider G be SetSequence of X2 such that
A5: G is non-ascending
  & (for n be Nat holds G.n = X-section(P1.n,x)) by A1,Th39;
   for n be Nat holds G.n in S2
   proof
    let n be Nat;
    P1.n in sigma measurable_rectangles(S1,S2) by A4; then
    X-section(P1.n,x) in S2 by Th44;
    hence G.n in S2 by A5;
   end; then
   reconsider G as Set_Sequence of S2 by MEASURE8:def 2;
   set K = Measurable-X-section(V,x) (/\) G;
A6:G is convergent & lim G = Intersection G by A5,SETLIM_1:64;
   meet rng G = X-section(meet rng P,x) by A5,Th25; then
A7:Intersection G = X-section(meet rng P,x) by SETLIM_1:8
    .= X-section(Intersection P,x) by SETLIM_1:8
    .= Measurable-X-section(E,x) by A1,A2,SETLIM_1:64;
A8:dom K = NAT by FUNCT_2:def 1;
   for n be object st n in NAT holds K.n in S2
   proof
    let n be object;
    assume n in NAT; then
    reconsider n1=n as Element of NAT;
    K.n1 = G.n1 /\ Measurable-X-section(V,x) by SETLIM_2:def 5; then
    K.n1 = Measurable-X-section(P.n1,x) /\ Measurable-X-section(V,x) by A5;
    hence K.n in S2;
   end; then
   reconsider K as SetSequence of S2 by A8,FUNCT_2:3;
A9:for n be Nat holds
     K.n = Measurable-X-section(P.n,x) /\ Measurable-X-section(V,x)
   proof
    let n be Nat;
    K.n = G.n /\ Measurable-X-section(V,x) by SETLIM_2:def 5;
    hence
       K.n = Measurable-X-section(P.n,x) /\ Measurable-X-section(V,x) by A5;
   end;
   take K;
   thus thesis by A9,A7,A6,A5,SETLIM_2:21,92;
end;

theorem Th111:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
  M1 be sigma_Measure of S1,
  E,V be Element of sigma measurable_rectangles(S1,S2),
  P be Set_Sequence of sigma measurable_rectangles(S1,S2),
  y be Element of X2
 st P is non-ascending & lim P = E holds
   ex K be SetSequence of S1 st
    K is non-ascending
  & (for n be Nat holds K.n
      = Measurable-Y-section(P.n,y) /\ Measurable-Y-section(V,y))
  & lim K = Measurable-Y-section(E,y) /\ Measurable-Y-section(V,y)
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
   M1 be sigma_Measure of S1,
   E,V be Element of sigma measurable_rectangles(S1,S2),
   P be Set_Sequence of sigma measurable_rectangles(S1,S2),
   x be Element of X2;
   assume that
A1: P is non-ascending and
A2: lim P = E;
A4:for n be Nat holds P.n in sigma measurable_rectangles(S1,S2);
   reconsider P1 = P as SetSequence of [:X1,X2:];
   consider G be SetSequence of X1 such that
A5: G is non-ascending
  & (for n be Nat holds G.n = Y-section(P1.n,x)) by A1,Th40;
   for n be Nat holds G.n in S1
   proof
    let n be Nat;
    P1.n in sigma measurable_rectangles(S1,S2) by A4; then
    Y-section(P1.n,x) in S1 by Th44;
    hence G.n in S1 by A5;
   end; then
   reconsider G as Set_Sequence of S1 by MEASURE8:def 2;
   set K = Measurable-Y-section(V,x) (/\) G;
A6:G is convergent & lim G = Intersection G by A5,SETLIM_1:64;
   meet rng G = Y-section(meet rng P,x) by A5,Th27; then
A7:Intersection G = Y-section(meet rng P,x) by SETLIM_1:8
    .= Y-section(Intersection P,x) by SETLIM_1:8
    .= Measurable-Y-section(E,x) by A1,A2,SETLIM_1:64;
A8:dom K = NAT by FUNCT_2:def 1;
   for n be object st n in NAT holds K.n in S1
   proof
    let n be object;
    assume n in NAT; then
    reconsider n1=n as Element of NAT;
    K.n1 = G.n1 /\ Measurable-Y-section(V,x) by SETLIM_2:def 5; then
    K.n1 = Measurable-Y-section(P.n1,x) /\ Measurable-Y-section(V,x) by A5;
    hence K.n in S1;
   end; then
   reconsider K as SetSequence of S1 by A8,FUNCT_2:3;
A9:for n be Nat holds
     K.n = Measurable-Y-section(P.n,x) /\ Measurable-Y-section(V,x)
   proof
    let n be Nat;
    K.n = G.n /\ Measurable-Y-section(V,x) by SETLIM_2:def 5;
    hence
       K.n = Measurable-Y-section(P.n,x) /\ Measurable-Y-section(V,x) by A5;
   end;
   take K;
   thus thesis by A9,A7,A6,A5,SETLIM_2:21,92;
end;

theorem Th112:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
  M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
  V be Element of sigma measurable_rectangles(S1,S2),
  A be Element of S1, B be Element of S2
 st
 M2 is sigma_finite & V = [:A,B:] & product_sigma_Measure(M1,M2).V < +infty &
 M2.B < +infty
  holds
  {E where E is Element of sigma measurable_rectangles(S1,S2) :
     Integral(M1,(Y-vol(E/\V,M2))) = (product_sigma_Measure(M1,M2)).(E/\V)}
       is MonotoneClass of [:X1,X2:]
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
   M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
   V be Element of sigma measurable_rectangles(S1,S2),
   A be Element of S1, B be Element of S2;
   assume that
A01:M2 is sigma_finite and
A02:V = [:A,B:] and
A0: product_sigma_Measure(M1,M2).V < +infty and
PS2:M2.B < +infty;
   set Z = {E where E is Element of sigma measurable_rectangles(S1,S2) :
     Integral(M1,(Y-vol(E/\V,M2))) = (product_sigma_Measure(M1,M2)).(E/\V)};
   reconsider XX1 = X1 as Element of S1 by MEASURE1:7;
   now let A be object;
    assume A in Z; then
    ex E be Element of sigma measurable_rectangles(S1,S2) st
     A = E
   & Integral(M1,(Y-vol(E/\V,M2))) = (product_sigma_Measure(M1,M2)).(E/\V);
    hence A in bool [:X1,X2:];
   end; then
A1:Z c= bool [:X1,X2:];
   for A1 be SetSequence of [:X1,X2:] st
     A1 is monotone & rng A1 c= Z holds lim A1 in Z
   proof
    let A1 be SetSequence of [:X1,X2:];
    assume A2: A1 is monotone & rng A1 c= Z;
A4: for V be set st V in rng A1 holds V in sigma measurable_rectangles(S1,S2)
    proof
     let W be set;
     assume W in rng A1; then
     W in Z by A2; then
     ex E be Element of sigma measurable_rectangles(S1,S2) st
      W = E
    & Integral(M1,(Y-vol(E/\V,M2))) = (product_sigma_Measure(M1,M2)).(E/\V);
     hence W in sigma measurable_rectangles(S1,S2);
    end;
    for n be Nat holds A1.n in sigma measurable_rectangles(S1,S2)
    proof
     let n be Nat;
     dom A1 = NAT by FUNCT_2:def 1; then
     n in dom A1 by ORDINAL1:def 12;
     hence A1.n in sigma measurable_rectangles(S1,S2) by A4,FUNCT_1:3;
    end; then
    reconsider A2 = A1 as Set_Sequence of sigma measurable_rectangles(S1,S2)
       by MEASURE8:def 2;
PP: for n be Nat holds Integral(M1,(Y-vol(A2.n /\ V,M2)))
      = (product_sigma_Measure(M1,M2)).(A2.n /\ V)
    proof
     let n be Nat;
     dom A2 = NAT by FUNCT_2:def 1; then
     n in dom A2 by ORDINAL1:def 12; then
     A2.n in Z by A2,FUNCT_1:3; then
     ex E be Element of sigma measurable_rectangles(S1,S2) st
      A2.n = E &
      Integral(M1,(Y-vol(E/\V,M2))) = (product_sigma_Measure(M1,M2)).(E/\V);
     hence thesis;
    end;
    per cases by A2,SETLIM_1:def 1;
    suppose
A3:  A1 is non-descending;
     union rng A1 in sigma measurable_rectangles(S1,S2) by A4,MEASURE1:35; then
     Union A1 in sigma measurable_rectangles(S1,S2) by CARD_3:def 4; then
     reconsider E = lim A1 as Element of sigma measurable_rectangles(S1,S2)
       by A3,SETLIM_1:63;
     defpred P[Element of NAT, object] means
      $2 = Y-vol(A2.$1 /\ V,M2);
T1:  for n be Element of NAT ex f be Element of PFuncs(X1,ExtREAL) st P[n,f]
     proof
      let n be Element of NAT;
      reconsider f1 = Y-vol(A2.n /\ V,M2) as Element of PFuncs(X1,ExtREAL)
        by PARTFUN1:45;
      take f1;
      thus f1 = Y-vol(A2.n /\ V,M2);
     end;
     consider F be Function of NAT,PFuncs(X1,ExtREAL) such that
T2:   for n be Element of NAT holds P[n,F.n] from FUNCT_2:sch 3(T1);
     reconsider F as Functional_Sequence of X1,ExtREAL;
T2a: for n be Nat holds F.n = Y-vol(A2.n /\ V,M2)
     proof
      let n be Nat;
      n is Element of NAT by ORDINAL1:def 12;
      hence thesis by T2;
     end;
     F.0 = Y-vol(A2.0 /\ V,M2) by T2; then
T3:  dom(F.0) = XX1 & F.0 is nonnegative by FUNCT_2:def 1;
T4:  for n be Nat, x be Element of X1 holds (F#x).n = Y-vol(A2.n/\V,M2).x
     proof
      let n be Nat, x be Element of X1;
      (F#x).n = (F.n).x by MESFUNC5:def 13;
      hence (F#x).n = Y-vol(A2.n /\ V,M2).x by T2a;
     end;
T5:  for n,m be Nat holds dom(F.n) = dom(F.m)
     proof
      let n,m be Nat;
      F.n = Y-vol(A2.n /\ V,M2) & F.m = Y-vol(A2.m /\ V, M2) by T2a; then
      dom(F.n) = XX1 & dom(F.m) = XX1 by FUNCT_2:def 1;
      hence dom(F.n) = dom(F.m);
     end;
T6:  for n be Nat holds F.n is XX1-measurable
     proof
      let n be Nat;
      F.n = Y-vol(A2.n /\ V,M2) by T2a;
      hence F.n is XX1-measurable by A01,DefYvol;
     end;
T7:  for n,m be Nat st n <= m holds
       for x be Element of X1 st x in XX1 holds (F.n).x <= (F.m).x
     proof
      let n,m be Nat;
      assume T71: n <= m;
      hereby let x be Element of X1;
       assume x in XX1;
T72:   A2.n /\ V c= A2.m /\ V by A3,T71,PROB_1:def 5,XBOOLE_1:26;
T73:   M2.(Measurable-X-section(A2.n /\ V,x))
        = Y-vol(A2.n /\ V,M2).x by A01,DefYvol
       .= (F#x).n by T4
       .= (F.n).x by MESFUNC5:def 13;
       M2.(Measurable-X-section(A2.m /\ V,x))
        = Y-vol(A2.m /\ V,M2).x by A01,DefYvol
       .= (F#x).m by T4
       .= (F.m).x by MESFUNC5:def 13;
       hence (F.n).x <= (F.m).x by T72,T73,Th14,MEASURE1:31;
      end;
     end;
T8:  for x be Element of X1 st x in XX1 holds F#x is convergent
     proof
      let x be Element of X1;
      assume x in XX1;
      now let n,m be Nat;
       assume m <= n; then
       (F.m).x <= (F.n).x by T7; then
       (F#x).m <= (F.n).x by MESFUNC5:def 13;
       hence (F#x).m <= (F#x).n by MESFUNC5:def 13;
      end; then
      F#x is non-decreasing by RINFSUP2:7;
      hence F#x is convergent by RINFSUP2:37;
     end;
     consider I be ExtREAL_sequence such that
V2:   ( for n be Nat holds I.n = Integral(M1,F.n))
    & I is convergent
    & Integral(M1,lim F) = lim I by T3,T5,T6,T7,T8,MESFUNC8:def 2,MESFUNC9:52;
     dom(lim F) = dom(F.0) by MESFUNC8:def 9; then
V4:  dom(lim F) = dom(Y-vol(E/\V,M2)) by T3,FUNCT_2:def 1;
     for x be Element of X1 st x in dom(lim F) holds
      (lim F).x = Y-vol(E/\V,M2).x
     proof
      let x be Element of X1;
      assume x in dom(lim F); then
L2:   (lim F).x = lim(F#x) by MESFUNC8:def 9;
      consider G be SetSequence of S2 such that
L3:    G is non-descending
     & (for n be Nat holds
          G.n = Measurable-X-section(A2.n,x) /\ Measurable-X-section(V,x))
     & lim G = Measurable-X-section(E,x) /\ Measurable-X-section(V,x)
          by A3,Th108;
      for n be Element of NAT holds (F#x).n = (M2*G).n
      proof
       let n be Element of NAT;
L5:    dom G = NAT by FUNCT_2:def 1;
L4:    (F#x).n = (F.n).x by MESFUNC5:def 13
        .= Y-vol(A2.n /\ V,M2).x by T2
        .= M2.(Measurable-X-section(A2.n /\ V,x)) by A01,DefYvol;
       Measurable-X-section(A2.n /\ V,x)
        = Measurable-X-section(A2.n,x) /\ Measurable-X-section(V,x)
            by Th21; then
       Measurable-X-section(A2.n /\ V,x) = G.n by L3;
       hence (F#x).n = (M2*G).n by L4,L5,FUNCT_1:13;
      end; then
      F#x = M2*G by FUNCT_2:63; then
      (lim F).x = M2.(Measurable-X-section(E,x) /\ Measurable-X-section(V,x))
        by L2,L3,MEASURE8:26; then
      (lim F).x = M2.(Measurable-X-section(E /\ V,x)) by Th21;
      hence (lim F).x = Y-vol(E /\ V,M2).x by A01,DefYvol;
     end; then
V3:  lim F = Y-vol(E/\V,M2) by V4,PARTFUN1:5;
     set J = V (/\) A2;
E1:  dom J = NAT by FUNCT_2:def 1;
     for n be object st n in NAT holds
       J.n in sigma measurable_rectangles(S1,S2)
     proof
      let n be object;
      assume n in NAT; then
      reconsider n1 = n as Element of NAT;
      J.n = A2.n1 /\ V by SETLIM_2:def 5;
      hence J.n in sigma measurable_rectangles(S1,S2);
     end; then
     reconsider J as SetSequence of sigma measurable_rectangles(S1,S2)
       by E1,FUNCT_2:3;
R11: J is non-descending by A3,SETLIM_2:22;
     A2 is convergent by A3,SETLIM_1:63; then
R13: lim J = E /\ V by SETLIM_2:92;
R3:  product_sigma_Measure(M1,M2) is sigma_Measure of
       sigma measurable_rectangles(S1,S2) by Th2; then
R4:  dom product_sigma_Measure(M1,M2) = sigma measurable_rectangles(S1,S2)
       by FUNCT_2:def 1;
     rng J c= sigma measurable_rectangles(S1,S2) by RELAT_1:def 19; then
R2:  (product_sigma_Measure(M1,M2))/*J = (product_sigma_Measure(M1,M2))*J
       by R4,FUNCT_2:def 11;
     for n be Element of NAT holds I.n = ((product_sigma_Measure(M1,M2))/*J).n
     proof
      let n be Element of NAT;
R21:  dom J = NAT by FUNCT_2:def 1;
      I.n = Integral(M1,F.n) by V2 .= Integral(M1,Y-vol(A2.n /\ V,M2)) by T2
       .= (product_sigma_Measure(M1,M2)).(A2.n /\ V) by PP
       .= (product_sigma_Measure(M1,M2)).(J.n) by SETLIM_2:def 5;
      hence I.n = ((product_sigma_Measure(M1,M2))/*J).n by R2,R21,FUNCT_1:13;
     end; then
     lim I = lim( (product_sigma_Measure(M1,M2))/*J ) by FUNCT_2:63; then
     lim I = (product_sigma_Measure(M1,M2)).(E/\V)
       by R13,R11,R2,R3,MEASURE8:26;
     hence lim A1 in Z by V2,V3;
    end;
    suppose
A3:  A1 is non-ascending;
     meet rng A1 in sigma measurable_rectangles(S1,S2) by A4,MEASURE1:35; then
     Intersection A1 in sigma measurable_rectangles(S1,S2) by SETLIM_1:8; then
     reconsider E = lim A1 as Element of sigma measurable_rectangles(S1,S2)
        by A3,SETLIM_1:64;
     defpred P[Element of NAT, object] means
      $2 = Y-vol(A2.$1 /\ V,M2);
T1:  for n be Element of NAT ex f be Element of PFuncs(X1,ExtREAL) st P[n,f]
     proof
      let n be Element of NAT;
      reconsider f1 = Y-vol(A2.n /\ V,M2) as Element of PFuncs(X1,ExtREAL)
        by PARTFUN1:45;
      take f1;
      thus f1 = Y-vol(A2.n /\ V,M2);
     end;
     consider F be Function of NAT,PFuncs(X1,ExtREAL) such that
T2:   for n be Element of NAT holds P[n,F.n] from FUNCT_2:sch 3(T1);
     reconsider F as Functional_Sequence of X1,ExtREAL;
T2a: for n be Nat holds F.n = Y-vol(A2.n /\ V,M2)
     proof
      let n be Nat;
      n is Element of NAT by ORDINAL1:def 12;
      hence thesis by T2;
     end;
     F.0 = Y-vol(A2.0 /\ V,M2) by T2; then
T3:  dom(F.0) = XX1 by FUNCT_2:def 1;
T4:  for n be Nat, x be Element of X1 holds (F#x).n = Y-vol(A2.n/\V,M2).x
     proof
      let n be Nat, x be Element of X1;
      (F#x).n = (F.n).x by MESFUNC5:def 13;
      hence (F#x).n = Y-vol(A2.n /\ V,M2).x by T2a;
     end;
     for n,m be Nat holds dom(F.n) = dom(F.m)
     proof
      let n,m be Nat;
      F.n = Y-vol(A2.n /\ V,M2) & F.m = Y-vol(A2.m /\ V, M2) by T2a; then
      dom(F.n) = XX1 & dom(F.m) = XX1 by FUNCT_2:def 1;
      hence dom(F.n) = dom(F.m);
     end; then
     reconsider F as with_the_same_dom Functional_Sequence of X1,ExtREAL
       by MESFUNC8:def 2;
T6:  for n be Nat holds F.n is nonnegative & F.n is XX1-measurable
     proof
      let n be Nat;
      F.n = Y-vol(A2.n /\ V,M2) by T2a;
      hence F.n is nonnegative & F.n is XX1-measurable by A01,DefYvol;
     end;
T7:  for x be Element of X1, n,m be Nat st x in XX1 & n <= m holds
        (F.n).x >= (F.m).x
     proof
      let x be Element of X1, n,m be Nat;
      assume x in XX1 & n <= m; then
T72:   A2.m /\ V c= A2.n /\ V by A3,PROB_1:def 4,XBOOLE_1:26;
T73:   M2.(Measurable-X-section(A2.n /\ V,x))
        = Y-vol(A2.n /\ V,M2).x by A01,DefYvol
       .= (F#x).n by T4
       .= (F.n).x by MESFUNC5:def 13;
       M2.(Measurable-X-section(A2.m /\ V,x))
        = Y-vol(A2.m /\ V,M2).x by A01,DefYvol
       .= (F#x).m by T4
       .= (F.m).x by MESFUNC5:def 13;
       hence (F.m).x <= (F.n).x by T72,T73,Th14,MEASURE1:31;
     end;
M3:  product_sigma_Measure(M1,M2) is sigma_Measure of
       sigma measurable_rectangles(S1,S2) by Th2;
     Integral(M1,(F.0)|XX1) = Integral(M1,Y-vol(A2.0 /\ V,M2)) by T2a; then
M1:  Integral(M1,(F.0)|XX1) = (product_sigma_Measure(M1,M2)).(A2.0 /\ V)
       by PP;
     product_sigma_Measure(M1,M2).(A2.0 /\ V)
       <= product_sigma_Measure(M1,M2).V by M3,MEASURE1:31,XBOOLE_1:17; then
     Integral(M1,(F.0)|XX1) < +infty by A0,M1,XXREAL_0:2; then
     consider I be ExtREAL_sequence such that
V2:   (for n be Nat holds I.n = Integral(M1,F.n))
    & I is convergent
    & lim I = Integral(M1,lim F) by T3,T6,T7,MESFUN10:18;
     dom(lim F) = dom(F.0) by MESFUNC8:def 9; then
V4:  dom(lim F) = dom(Y-vol(E/\V,M2)) by T3,FUNCT_2:def 1;
     for x be Element of X1 st x in dom(lim F) holds
      (lim F).x = Y-vol(E/\V,M2).x
     proof
      let x be Element of X1;
      assume x in dom(lim F); then
L2:   (lim F).x = lim(F#x) by MESFUNC8:def 9;
      consider G be SetSequence of S2 such that
L3:    G is non-ascending
     & (for n be Nat holds
          G.n = Measurable-X-section(A2.n,x) /\ Measurable-X-section(V,x))
     & lim G = Measurable-X-section(E,x) /\ Measurable-X-section(V,x)
          by A3,Th110;
      G.0 = Measurable-X-section(A2.0,x) /\ Measurable-X-section(V,x)
        by L3; then
L31:  M2.(G.0) <= M2.(Measurable-X-section(V,x)) by MEASURE1:31,XBOOLE_1:17;
      Measurable-X-section(V,x) c= B by A02,Th16; then
      M2.(Measurable-X-section(V,x)) <= M2.B by MEASURE1:31; then
      M2.(G.0) <= M2.B by L31,XXREAL_0:2; then
LL:   M2.(G.0) < +infty by PS2,XXREAL_0:2;
      for n be Element of NAT holds (F#x).n = (M2*G).n
      proof
       let n be Element of NAT;
L5:    dom G = NAT by FUNCT_2:def 1;
L4:    (F#x).n = (F.n).x by MESFUNC5:def 13
        .= Y-vol(A2.n /\ V,M2).x by T2
        .= M2.(Measurable-X-section(A2.n /\ V,x)) by A01,DefYvol;
       Measurable-X-section(A2.n /\ V,x)
        = Measurable-X-section(A2.n,x) /\ Measurable-X-section(V,x)
            by Th21; then
       Measurable-X-section(A2.n /\ V,x) = G.n by L3;
       hence (F#x).n = (M2*G).n by L4,L5,FUNCT_1:13;
      end; then
      F#x = M2*G by FUNCT_2:63; then
      (lim F).x = M2.(Measurable-X-section(E,x) /\ Measurable-X-section(V,x))
        by L2,L3,LL,MEASURE8:31; then
      (lim F).x = M2.(Measurable-X-section(E /\ V,x)) by Th21;
      hence (lim F).x = Y-vol(E /\ V,M2).x by A01,DefYvol;
     end; then
V3:  lim F = Y-vol(E/\V,M2) by V4,PARTFUN1:5;
     set J = V (/\) A2;
E1:  dom J = NAT by FUNCT_2:def 1;
     for n be object st n in NAT holds
       J.n in sigma measurable_rectangles(S1,S2)
     proof
      let n be object;
      assume n in NAT; then
      reconsider n1 = n as Element of NAT;
      J.n = A2.n1 /\ V by SETLIM_2:def 5;
      hence J.n in sigma measurable_rectangles(S1,S2);
     end; then
     reconsider J as SetSequence of sigma measurable_rectangles(S1,S2)
       by E1,FUNCT_2:3;
R11: J is non-ascending by A3,SETLIM_2:21;
     A2 is convergent by A3,SETLIM_1:64; then
R13: lim J = E /\ V by SETLIM_2:92;
R3:  product_sigma_Measure(M1,M2) is sigma_Measure of
       sigma measurable_rectangles(S1,S2) by Th2; then
R4:  dom product_sigma_Measure(M1,M2) = sigma measurable_rectangles(S1,S2)
       by FUNCT_2:def 1;
     rng J c= sigma measurable_rectangles(S1,S2) by RELAT_1:def 19; then
R2:  (product_sigma_Measure(M1,M2))/*J = (product_sigma_Measure(M1,M2))*J
       by R4,FUNCT_2:def 11;
     A2.0 /\ V c= V by XBOOLE_1:17; then
     J.0 c= V by SETLIM_2:def 5; then
     product_sigma_Measure(M1,M2).(J.0)
       <= product_sigma_Measure(M1,M2).V by R3,MEASURE1:31; then
K1:  product_sigma_Measure(M1,M2).(J.0) < +infty by A0,XXREAL_0:2;
     for n be Element of NAT holds I.n = ((product_sigma_Measure(M1,M2))/*J).n
     proof
      let n be Element of NAT;
R21:  dom J = NAT by FUNCT_2:def 1;
      I.n = Integral(M1,F.n) by V2 .= Integral(M1,Y-vol(A2.n /\ V,M2)) by T2
       .= (product_sigma_Measure(M1,M2)).(A2.n /\ V) by PP
       .= (product_sigma_Measure(M1,M2)).(J.n) by SETLIM_2:def 5;
      hence I.n = ((product_sigma_Measure(M1,M2))/*J).n by R2,R21,FUNCT_1:13;
     end; then
     lim I = lim( (product_sigma_Measure(M1,M2))/*J ) by FUNCT_2:63; then
     lim I = (product_sigma_Measure(M1,M2)).(E/\V)
       by R13,R11,R2,R3,K1,MEASURE8:31;
     hence lim A1 in Z by V2,V3;
    end;
   end;
   hence thesis by A1,PROB_3:69;
end;

theorem Th113:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
  M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
  V be Element of sigma measurable_rectangles(S1,S2),
  A be Element of S1, B be Element of S2
 st
 M1 is sigma_finite & V = [:A,B:] & product_sigma_Measure(M1,M2).V < +infty &
 M1.A < +infty
  holds
  {E where E is Element of sigma measurable_rectangles(S1,S2) :
     Integral(M2,(X-vol(E/\V,M1))) = (product_sigma_Measure(M1,M2)).(E/\V)}
       is MonotoneClass of [:X1,X2:]
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
   M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
   V be Element of sigma measurable_rectangles(S1,S2),
   A be Element of S1, B be Element of S2;
   assume that
A01:M1 is sigma_finite and
A02:V = [:A,B:] and
A0: product_sigma_Measure(M1,M2).V < +infty and
PS2:M1.A < +infty;
   set Z = {E where E is Element of sigma measurable_rectangles(S1,S2) :
     Integral(M2,(X-vol(E/\V,M1))) = (product_sigma_Measure(M1,M2)).(E/\V)};
   reconsider XX2 = X2 as Element of S2 by MEASURE1:7;
   now let A be object;
    assume A in Z; then
    ex E be Element of sigma measurable_rectangles(S1,S2) st
     A = E
   & Integral(M2,(X-vol(E/\V,M1))) = (product_sigma_Measure(M1,M2)).(E/\V);
    hence A in bool [:X1,X2:];
   end; then
A1:Z c= bool [:X1,X2:];
   for A1 be SetSequence of [:X1,X2:] st
     A1 is monotone & rng A1 c= Z holds lim A1 in Z
   proof
    let A1 be SetSequence of [:X1,X2:];
    assume A2: A1 is monotone & rng A1 c= Z;
A4: for V be set st V in rng A1 holds V in sigma measurable_rectangles(S1,S2)
    proof
     let W be set;
     assume W in rng A1; then
     W in Z by A2; then
     ex E be Element of sigma measurable_rectangles(S1,S2) st
      W = E
    & Integral(M2,(X-vol(E/\V,M1))) = (product_sigma_Measure(M1,M2)).(E/\V);
     hence W in sigma measurable_rectangles(S1,S2);
    end;
    for n be Nat holds A1.n in sigma measurable_rectangles(S1,S2)
    proof
     let n be Nat;
     dom A1 = NAT by FUNCT_2:def 1; then
     n in dom A1 by ORDINAL1:def 12;
     hence A1.n in sigma measurable_rectangles(S1,S2) by A4,FUNCT_1:3;
    end; then
    reconsider A2 = A1 as Set_Sequence of sigma measurable_rectangles(S1,S2)
       by MEASURE8:def 2;
PP: for n be Nat holds Integral(M2,(X-vol(A2.n /\ V,M1)))
      = (product_sigma_Measure(M1,M2)).(A2.n /\ V)
    proof
     let n be Nat;
     dom A2 = NAT by FUNCT_2:def 1; then
     n in dom A2 by ORDINAL1:def 12; then
     A2.n in Z by A2,FUNCT_1:3; then
     ex E be Element of sigma measurable_rectangles(S1,S2) st
      A2.n = E &
      Integral(M2,(X-vol(E/\V,M1))) = (product_sigma_Measure(M1,M2)).(E/\V);
     hence thesis;
    end;
    per cases by A2,SETLIM_1:def 1;
    suppose
A3:  A1 is non-descending;
     union rng A1 in sigma measurable_rectangles(S1,S2) by A4,MEASURE1:35; then
     Union A1 in sigma measurable_rectangles(S1,S2) by CARD_3:def 4; then
     reconsider E = lim A1 as Element of sigma measurable_rectangles(S1,S2)
       by A3,SETLIM_1:63;
     defpred P[Element of NAT, object] means $2 = X-vol(A2.$1 /\ V,M1);
T1:  for n be Element of NAT ex f be Element of PFuncs(X2,ExtREAL) st P[n,f]
     proof
      let n be Element of NAT;
      reconsider f1 = X-vol(A2.n /\ V,M1) as Element of PFuncs(X2,ExtREAL)
        by PARTFUN1:45;
      take f1;
      thus f1 = X-vol(A2.n /\ V,M1);
     end;
     consider F be Function of NAT,PFuncs(X2,ExtREAL) such that
T2:   for n be Element of NAT holds P[n,F.n] from FUNCT_2:sch 3(T1);
     reconsider F as Functional_Sequence of X2,ExtREAL;
T2a: for n be Nat holds F.n = X-vol(A2.n /\ V,M1)
     proof
      let n be Nat;
      n is Element of NAT by ORDINAL1:def 12;
      hence thesis by T2;
     end;
     F.0 = X-vol(A2.0 /\ V,M1) by T2; then
T3:  dom(F.0) = XX2 & F.0 is nonnegative by FUNCT_2:def 1;
T4:  for n be Nat, x be Element of X2 holds (F#x).n = X-vol(A2.n/\V,M1).x
     proof
      let n be Nat, x be Element of X2;
      (F#x).n = (F.n).x by MESFUNC5:def 13;
      hence (F#x).n = X-vol(A2.n /\ V,M1).x by T2a;
     end;
T5:  for n,m be Nat holds dom(F.n) = dom(F.m)
     proof
      let n,m be Nat;
      F.n = X-vol(A2.n /\ V,M1) & F.m = X-vol(A2.m /\ V, M1) by T2a; then
      dom(F.n) = XX2 & dom(F.m) = XX2 by FUNCT_2:def 1;
      hence dom(F.n) = dom(F.m);
     end;
T6:  for n be Nat holds F.n is XX2-measurable
     proof
      let n be Nat;
      F.n = X-vol(A2.n /\ V,M1) by T2a;
      hence F.n is XX2-measurable by A01,DefXvol;
     end;
T7:  for n,m be Nat st n <= m holds
       for x be Element of X2 st x in XX2 holds (F.n).x <= (F.m).x
     proof
      let n,m be Nat;
      assume T71: n <= m;
      hereby let x be Element of X2;
       assume x in XX2;
T72:   A2.n /\ V c= A2.m /\ V by A3,T71,PROB_1:def 5,XBOOLE_1:26;
T73:   M1.(Measurable-Y-section(A2.n /\ V,x))
        = X-vol(A2.n /\ V,M1).x by A01,DefXvol
       .= (F#x).n by T4
       .= (F.n).x by MESFUNC5:def 13;
       M1.(Measurable-Y-section(A2.m /\ V,x))
        = X-vol(A2.m /\ V,M1).x by A01,DefXvol
       .= (F#x).m by T4
       .= (F.m).x by MESFUNC5:def 13;
       hence (F.n).x <= (F.m).x by T72,T73,Th15,MEASURE1:31;
      end;
     end;
T8:  for x be Element of X2 st x in XX2 holds F#x is convergent
     proof
      let x be Element of X2;
      assume x in XX2;
      now let n,m be Nat;
       assume m <= n; then
       (F.m).x <= (F.n).x by T7; then
       (F#x).m <= (F.n).x by MESFUNC5:def 13;
       hence (F#x).m <= (F#x).n by MESFUNC5:def 13;
      end; then
      F#x is non-decreasing by RINFSUP2:7;
      hence F#x is convergent by RINFSUP2:37;
     end;
     consider I be ExtREAL_sequence such that
V2:   ( for n be Nat holds I.n = Integral(M2,F.n))
    & I is convergent
    & Integral(M2,lim F) = lim I by T3,T5,T6,T7,T8,MESFUNC9:52,MESFUNC8:def 2;
     dom(lim F) = dom(F.0) by MESFUNC8:def 9; then
V4:  dom(lim F) = dom(X-vol(E/\V,M1)) by T3,FUNCT_2:def 1;
     for x be Element of X2 st x in dom(lim F) holds
      (lim F).x = X-vol(E/\V,M1).x
     proof
      let x be Element of X2;
      assume x in dom(lim F); then
L2:   (lim F).x = lim(F#x) by MESFUNC8:def 9;
      consider G be SetSequence of S1 such that
L3:    G is non-descending & (for n be Nat holds
          G.n = Measurable-Y-section(A2.n,x) /\ Measurable-Y-section(V,x))
     & lim G = Measurable-Y-section(E,x) /\ Measurable-Y-section(V,x)
          by A3,Th109;
      for n be Element of NAT holds (F#x).n = (M1*G).n
      proof
       let n be Element of NAT;
L5:    dom G = NAT by FUNCT_2:def 1;
L4:    (F#x).n = (F.n).x by MESFUNC5:def 13
        .= X-vol(A2.n /\ V,M1).x by T2
        .= M1.(Measurable-Y-section(A2.n /\ V,x)) by A01,DefXvol;
       Measurable-Y-section(A2.n /\ V,x)
        = Measurable-Y-section(A2.n,x) /\ Measurable-Y-section(V,x)
            by Th21; then
       Measurable-Y-section(A2.n /\ V,x) = G.n by L3;
       hence (F#x).n = (M1*G).n by L4,L5,FUNCT_1:13;
      end; then
      F#x = M1*G by FUNCT_2:63; then
      (lim F).x = M1.(Measurable-Y-section(E,x) /\ Measurable-Y-section(V,x))
        by L2,L3,MEASURE8:26; then
      (lim F).x = M1.(Measurable-Y-section(E /\ V,x)) by Th21;
      hence (lim F).x = X-vol(E /\ V,M1).x by A01,DefXvol;
     end; then
V3:  lim F = X-vol(E/\V,M1) by V4,PARTFUN1:5;
     set J = V (/\) A2;
E1:  dom J = NAT by FUNCT_2:def 1;
     for n be object st n in NAT holds
       J.n in sigma measurable_rectangles(S1,S2)
     proof
      let n be object;
      assume n in NAT; then
      reconsider n1 = n as Element of NAT;
      J.n = A2.n1 /\ V by SETLIM_2:def 5;
      hence J.n in sigma measurable_rectangles(S1,S2);
     end; then
     reconsider J as SetSequence of sigma measurable_rectangles(S1,S2)
       by E1,FUNCT_2:3;
R11: J is non-descending by A3,SETLIM_2:22;
     A2 is convergent by A3,SETLIM_1:63; then
R13: lim J = E /\ V by SETLIM_2:92;
R3:  product_sigma_Measure(M1,M2) is sigma_Measure of
       sigma measurable_rectangles(S1,S2) by Th2; then
R4:  dom product_sigma_Measure(M1,M2) = sigma measurable_rectangles(S1,S2)
       by FUNCT_2:def 1;
     rng J c= sigma measurable_rectangles(S1,S2) by RELAT_1:def 19; then
R2:  (product_sigma_Measure(M1,M2))/*J = (product_sigma_Measure(M1,M2))*J
       by R4,FUNCT_2:def 11;
     for n be Element of NAT holds I.n = ((product_sigma_Measure(M1,M2))/*J).n
     proof
      let n be Element of NAT;
R21:  dom J = NAT by FUNCT_2:def 1;
      I.n = Integral(M2,F.n) by V2 .= Integral(M2,X-vol(A2.n /\ V,M1)) by T2
       .= (product_sigma_Measure(M1,M2)).(A2.n /\ V) by PP
       .= (product_sigma_Measure(M1,M2)).(J.n) by SETLIM_2:def 5;
      hence I.n = ((product_sigma_Measure(M1,M2))/*J).n by R2,R21,FUNCT_1:13;
     end; then
     lim I = lim( (product_sigma_Measure(M1,M2))/*J ) by FUNCT_2:63; then
     lim I = (product_sigma_Measure(M1,M2)).(E/\V)
       by R13,R11,R2,R3,MEASURE8:26;
     hence lim A1 in Z by V2,V3;
    end;
    suppose
A3:  A1 is non-ascending;
     meet rng A1 in sigma measurable_rectangles(S1,S2) by A4,MEASURE1:35; then
     Intersection A1 in sigma measurable_rectangles(S1,S2) by SETLIM_1:8; then
     reconsider E = lim A1 as Element of sigma measurable_rectangles(S1,S2)
        by A3,SETLIM_1:64;
     defpred P[Element of NAT, object] means $2 = X-vol(A2.$1 /\ V,M1);
T1:  for n be Element of NAT ex f be Element of PFuncs(X2,ExtREAL) st P[n,f]
     proof
      let n be Element of NAT;
      reconsider f1 = X-vol(A2.n /\ V,M1) as Element of PFuncs(X2,ExtREAL)
        by PARTFUN1:45;
      take f1;
      thus f1 = X-vol(A2.n /\ V,M1);
     end;
     consider F be Function of NAT,PFuncs(X2,ExtREAL) such that
T2:   for n be Element of NAT holds P[n,F.n] from FUNCT_2:sch 3(T1);
     reconsider F as Functional_Sequence of X2,ExtREAL;
T2a: for n be Nat holds F.n = X-vol(A2.n /\ V,M1)
     proof
      let n be Nat;
      n is Element of NAT by ORDINAL1:def 12;
      hence thesis by T2;
     end;
     F.0 = X-vol(A2.0 /\ V,M1) by T2; then
T3:  dom(F.0) = XX2 by FUNCT_2:def 1;
T4:  for n be Nat, x be Element of X2 holds (F#x).n = X-vol(A2.n/\V,M1).x
     proof
      let n be Nat, x be Element of X2;
      (F#x).n = (F.n).x by MESFUNC5:def 13;
      hence (F#x).n = X-vol(A2.n /\ V,M1).x by T2a;
     end;
     for n,m be Nat holds dom(F.n) = dom(F.m)
     proof
      let n,m be Nat;
      F.n = X-vol(A2.n /\ V,M1) & F.m = X-vol(A2.m /\ V, M1) by T2a; then
      dom(F.n) = XX2 & dom(F.m) = XX2 by FUNCT_2:def 1;
      hence dom(F.n) = dom(F.m);
     end; then
     reconsider F as with_the_same_dom Functional_Sequence of X2,ExtREAL
        by MESFUNC8:def 2;
T6:  for n be Nat holds F.n is nonnegative & F.n is XX2-measurable
     proof
      let n be Nat;
      F.n = X-vol(A2.n /\ V,M1) by T2a;
      hence F.n is nonnegative & F.n is XX2-measurable by A01,DefXvol;
     end;
T7:  for x be Element of X2, n,m be Nat st x in XX2 & n <= m holds
        (F.n).x >= (F.m).x
     proof
      let x be Element of X2, n,m be Nat;
      assume x in XX2 & n <= m; then
T72:   A2.m /\ V c= A2.n /\ V by A3,PROB_1:def 4,XBOOLE_1:26;
T73:   M1.(Measurable-Y-section(A2.n /\ V,x))
        = X-vol(A2.n /\ V,M1).x by A01,DefXvol
       .= (F#x).n by T4
       .= (F.n).x by MESFUNC5:def 13;
       M1.(Measurable-Y-section(A2.m /\ V,x))
        = X-vol(A2.m /\ V,M1).x by A01,DefXvol
       .= (F#x).m by T4
       .= (F.m).x by MESFUNC5:def 13;
       hence (F.m).x <= (F.n).x by T72,T73,Th15,MEASURE1:31;
     end;
M3:  product_sigma_Measure(M1,M2) is sigma_Measure of
       sigma measurable_rectangles(S1,S2) by Th2;
     Integral(M2,(F.0)|XX2) = Integral(M2,X-vol(A2.0 /\ V,M1)) by T2a; then
M1:  Integral(M2,(F.0)|XX2) = (product_sigma_Measure(M1,M2)).(A2.0 /\ V)
       by PP;
     product_sigma_Measure(M1,M2).(A2.0 /\ V)
       <= product_sigma_Measure(M1,M2).V by M3,MEASURE1:31,XBOOLE_1:17; then
     Integral(M2,(F.0)|XX2) < +infty by A0,M1,XXREAL_0:2; then
     consider I be ExtREAL_sequence such that
V2:   (for n be Nat holds I.n = Integral(M2,F.n))
    & I is convergent
    & lim I = Integral(M2,lim F) by T3,T6,T7,MESFUN10:18;
     dom(lim F) = dom(F.0) by MESFUNC8:def 9; then
V4:  dom(lim F) = dom(X-vol(E/\V,M1)) by T3,FUNCT_2:def 1;
     for x be Element of X2 st x in dom(lim F) holds
      (lim F).x = X-vol(E/\V,M1).x
     proof
      let x be Element of X2;
      assume x in dom(lim F); then
L2:   (lim F).x = lim(F#x) by MESFUNC8:def 9;
      consider G be SetSequence of S1 such that
L3:    G is non-ascending
     & (for n be Nat holds
          G.n = Measurable-Y-section(A2.n,x) /\ Measurable-Y-section(V,x))
     & lim G = Measurable-Y-section(E,x) /\ Measurable-Y-section(V,x)
          by A3,Th111;
      G.0 = Measurable-Y-section(A2.0,x) /\ Measurable-Y-section(V,x)
        by L3; then
L31:  M1.(G.0) <= M1.(Measurable-Y-section(V,x)) by MEASURE1:31,XBOOLE_1:17;
      Measurable-Y-section(V,x) c= A by A02,Th16; then
      M1.(Measurable-Y-section(V,x)) <= M1.A by MEASURE1:31; then
      M1.(G.0) <= M1.A by L31,XXREAL_0:2; then
LL:   M1.(G.0) < +infty by PS2,XXREAL_0:2;
      for n be Element of NAT holds (F#x).n = (M1*G).n
      proof
       let n be Element of NAT;
L5:    dom G = NAT by FUNCT_2:def 1;
L4:    (F#x).n = (F.n).x by MESFUNC5:def 13
        .= X-vol(A2.n /\ V,M1).x by T2
        .= M1.(Measurable-Y-section(A2.n /\ V,x)) by A01,DefXvol;
       Measurable-Y-section(A2.n /\ V,x)
        = Measurable-Y-section(A2.n,x) /\ Measurable-Y-section(V,x)
            by Th21; then
       Measurable-Y-section(A2.n /\ V,x) = G.n by L3;
       hence (F#x).n = (M1*G).n by L4,L5,FUNCT_1:13;
      end; then
      F#x = M1*G by FUNCT_2:63; then
      (lim F).x = M1.(Measurable-Y-section(E,x) /\ Measurable-Y-section(V,x))
        by L2,L3,LL,MEASURE8:31; then
      (lim F).x = M1.(Measurable-Y-section(E /\ V,x)) by Th21;
      hence (lim F).x = X-vol(E /\ V,M1).x by A01,DefXvol;
     end; then
V3:  lim F = X-vol(E/\V,M1) by V4,PARTFUN1:5;
     set J = V (/\) A2;
E1:  dom J = NAT by FUNCT_2:def 1;
     for n be object st n in NAT holds
       J.n in sigma measurable_rectangles(S1,S2)
     proof
      let n be object;
      assume n in NAT; then
      reconsider n1 = n as Element of NAT;
      J.n = A2.n1 /\ V by SETLIM_2:def 5;
      hence J.n in sigma measurable_rectangles(S1,S2);
     end; then
     reconsider J as SetSequence of sigma measurable_rectangles(S1,S2)
       by E1,FUNCT_2:3;
R11: J is non-ascending by A3,SETLIM_2:21;
     A2 is convergent by A3,SETLIM_1:64; then
R13: lim J = E /\ V by SETLIM_2:92;
R3:  product_sigma_Measure(M1,M2) is sigma_Measure of
       sigma measurable_rectangles(S1,S2) by Th2; then
R4:  dom product_sigma_Measure(M1,M2) = sigma measurable_rectangles(S1,S2)
       by FUNCT_2:def 1;
     rng J c= sigma measurable_rectangles(S1,S2) by RELAT_1:def 19; then
R2:  (product_sigma_Measure(M1,M2))/*J = (product_sigma_Measure(M1,M2))*J
       by R4,FUNCT_2:def 11;
     A2.0 /\ V c= V by XBOOLE_1:17; then
     J.0 c= V by SETLIM_2:def 5; then
     product_sigma_Measure(M1,M2).(J.0)
       <= product_sigma_Measure(M1,M2).V by R3,MEASURE1:31; then
K1:  product_sigma_Measure(M1,M2).(J.0) < +infty by A0,XXREAL_0:2;
     for n be Element of NAT holds I.n = ((product_sigma_Measure(M1,M2))/*J).n
     proof
      let n be Element of NAT;
R21:  dom J = NAT by FUNCT_2:def 1;
      I.n = Integral(M2,F.n) by V2 .= Integral(M2,X-vol(A2.n /\ V,M1)) by T2
       .= (product_sigma_Measure(M1,M2)).(A2.n /\ V) by PP
       .= (product_sigma_Measure(M1,M2)).(J.n) by SETLIM_2:def 5;
      hence I.n = ((product_sigma_Measure(M1,M2))/*J).n by R2,R21,FUNCT_1:13;
     end; then
     lim I = lim( (product_sigma_Measure(M1,M2))/*J )
        by FUNCT_2:63; then
     lim I = (product_sigma_Measure(M1,M2)).(E/\V)
       by R13,R11,R2,R3,K1,MEASURE8:31;
     hence lim A1 in Z by V2,V3;
    end;
   end;
   hence thesis by A1,PROB_3:69;
end;

theorem Th114:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
  M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
  V be Element of sigma measurable_rectangles(S1,S2),
  A be Element of S1, B be Element of S2
 st M2 is sigma_finite & V = [:A,B:]
  & product_sigma_Measure(M1,M2).V < +infty & M2.B < +infty holds
   sigma measurable_rectangles(S1,S2)
   c= {E where E is Element of sigma measurable_rectangles(S1,S2) :
        Integral(M1,(Y-vol(E/\V,M2))) = (product_sigma_Measure(M1,M2)).(E/\V)}
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
   M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
   V be Element of sigma measurable_rectangles(S1,S2),
   A be Element of S1, B be Element of S2;
   set K = {E where E is Element of sigma measurable_rectangles(S1,S2) :
        Integral(M1,(Y-vol(E/\V,M2))) = (product_sigma_Measure(M1,M2)).(E/\V)};
   assume that
A1:M2 is sigma_finite and
A2:V = [:A,B:] and
A3:product_sigma_Measure(M1,M2).V < +infty and
A4:M2.B < +infty;
A5:K is MonotoneClass of [:X1,X2:] by A1,A2,A3,A4,Th112;
A6:Field_generated_by measurable_rectangles(S1,S2) c= K by A1,A2,Th106;
   sigma Field_generated_by measurable_rectangles(S1,S2)
    = sigma DisUnion measurable_rectangles(S1,S2) by SRINGS_3:22
   .= sigma measurable_rectangles(S1,S2) by Th1;
   hence thesis by A5,A6,Th87;
end;

theorem Th115:
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
  M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
  V be Element of sigma measurable_rectangles(S1,S2),
  A be Element of S1, B be Element of S2
 st M1 is sigma_finite & V = [:A,B:]
  & product_sigma_Measure(M1,M2).V < +infty & M1.A < +infty holds
   sigma measurable_rectangles(S1,S2)
   c= {E where E is Element of sigma measurable_rectangles(S1,S2) :
        Integral(M2,(X-vol(E/\V,M1))) = (product_sigma_Measure(M1,M2)).(E/\V)}
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
   M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
   V be Element of sigma measurable_rectangles(S1,S2),
   A be Element of S1, B be Element of S2;
   set K = {E where E is Element of sigma measurable_rectangles(S1,S2) :
        Integral(M2,(X-vol(E/\V,M1))) = (product_sigma_Measure(M1,M2)).(E/\V)};
   assume that
A1:M1 is sigma_finite and
A2:V = [:A,B:] and
A3:product_sigma_Measure(M1,M2).V < +infty and
A4:M1.A < +infty;
A5:K is MonotoneClass of [:X1,X2:] by A1,A2,A3,A4,Th113;
A6:Field_generated_by measurable_rectangles(S1,S2) c= K by A1,A2,Th107;
   sigma Field_generated_by measurable_rectangles(S1,S2)
    = sigma DisUnion measurable_rectangles(S1,S2) by SRINGS_3:22
   .= sigma measurable_rectangles(S1,S2) by Th1;
   hence thesis by A5,A6,Th87;
end;

theorem Th116:
for X,Y be set, A be SetSequence of X, B be SetSequence of Y,
 C be SetSequence of [:X,Y:] st A is non-descending & B is non-descending &
 (for n be Nat holds C.n = [:A.n,B.n:]) holds
  C is non-descending & C is convergent & Union C = [:Union A,Union B:]
proof
   let X,Y be set, A be SetSequence of X, B be SetSequence of Y,
   C be SetSequence of [:X,Y:];
   assume that
A1: A is non-descending and
A2: B is non-descending and
A3: (for n be Nat holds C.n = [:A.n,B.n:]);
   for n,m be Nat st n <= m holds C.n c= C.m
   proof
    let n,m be Nat;
    assume n <= m; then
    A.n c= A.m & B.n c= B.m by A1,A2,PROB_1:def 5; then
    [:A.n,B.n:] c= [:A.m,B.m:] by ZFMISC_1:96; then
    C.n c= [:A.m,B.m:] by A3;
    hence C.n c= C.m by A3;
   end;
   hence C is non-descending by PROB_1:def 5;
   hence C is convergent by SETLIM_1:63;
   now let z be set;
    assume z in [:Union A,Union B:]; then
    consider x,y be object such that
A6:  x in Union A & y in Union B & z = [x,y] by ZFMISC_1:def 2;
A7: x in union rng A & y in union rng B by A6,CARD_3:def 4; then
    consider A1 be set such that
A8:  x in A1 & A1 in rng A by TARSKI:def 4;
    consider n be object such that
A9:  n in dom A & A1 = A.n by A8,FUNCT_1:def 3;
    reconsider n as Nat by A9;
    consider B1 be set such that
A10: y in B1 & B1 in rng B by A7,TARSKI:def 4;
    consider m be object such that
A11: m in dom B & B1 = B.m by A10,FUNCT_1:def 3;
    reconsider m as Nat by A11;
    reconsider N = max(n,m) as Element of NAT by ORDINAL1:def 12;
    A.n c= A.N & B.m c= B.N by A1,A2,XXREAL_0:25,PROB_1:def 5; then
    z in [:A.N,B.N:] by A6,A8,A9,A10,A11,ZFMISC_1:def 2; then
    z in C.N & C.N in rng C by A3,FUNCT_2:112; then
    z in union rng C by TARSKI:def 4;
    hence z in Union C by CARD_3:def 4;
   end; then
A12: [:Union A,Union B:] c= Union C;
   now let z be set;
    assume z in Union C; then
    z in union rng C by CARD_3:def 4; then
    consider C1 be set such that
A13: z in C1 & C1 in rng C by TARSKI:def 4;
    consider n be object such that
A14: n in dom C & C1 = C.n by A13,FUNCT_1:def 3;
    reconsider n as Element of NAT by A14;
    z in [:A.n,B.n:] by A3,A13,A14; then
    consider x,y be object such that
A15: x in A.n & y in B.n & z = [x,y] by ZFMISC_1:def 2;
    A.n in rng A & B.n in rng B by FUNCT_2:112; then
    x in union rng A & y in union rng B by A15,TARSKI:def 4; then
    x in Union A & y in Union B by CARD_3:def 4;
    hence z in [:Union A,Union B:] by A15,ZFMISC_1:def 2;
   end; then
   Union C c= [:Union A,Union B:];
   hence Union C = [:Union A,Union B:] by A12;
end;

::$N Fubini's theorem
theorem
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
  M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
  E be Element of sigma measurable_rectangles(S1,S2)
st M1 is sigma_finite & M2 is sigma_finite
holds Integral(M1,(Y-vol(E,M2))) = (product_sigma_Measure(M1,M2)).E
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
   M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
   E be Element of sigma measurable_rectangles(S1,S2);
   assume that
A1: M1 is sigma_finite and
A2: M2 is sigma_finite;
   consider A be Set_Sequence of S1 such that
A3: A is non-descending & (for n be Nat holds M1.(A.n) < +infty)
  & lim A = X1 by A1,LM0902a;
   consider B be Set_Sequence of S2 such that
A4: B is non-descending & (for n be Nat holds M2.(B.n) < +infty)
  & lim B = X2 by A2,LM0902a;
   deffunc C(Element of NAT) = [:A.$1,B.$1:];
   consider C be Function of NAT,bool [:X1,X2:] such that
A5: for n be Element of NAT holds C.n = C(n) from FUNCT_2:sch 4;
A6:for n be Nat holds C.n = [:A.n,B.n:]
   proof
    let n be Nat;
    n is Element of NAT by ORDINAL1:def 12;
    hence C.n = [:A.n,B.n:] by A5;
   end;
   for n be Nat holds C.n in sigma measurable_rectangles(S1,S2)
   proof
    let n be Nat;
A7: C.n = [:A.n,B.n:] by A6;
    A.n in S1 & B.n in S2 by MEASURE8:def 2; then
    C.n in the set of all [:A,B:]
      where A is Element of S1, B is Element of S2 by A7; then
A8: C.n in measurable_rectangles(S1,S2) by MEASUR10:def 5;
    measurable_rectangles(S1,S2) c= sigma measurable_rectangles(S1,S2)
      by PROB_1:def 9;
    hence C.n in sigma measurable_rectangles(S1,S2) by A8;
   end; then
   reconsider C as Set_Sequence of sigma measurable_rectangles(S1,S2)
     by MEASURE8:def 2;
a9:for n,m be Nat st n <= m holds C.n c= C.m
   proof
    let n,m be Nat;
    assume n <= m; then
    A.n c= A.m & B.n c= B.m by A3,A4,PROB_1:def 5; then
    [:A.n,B.n:] c= [:A.m,B.m:] by ZFMISC_1:96; then
    C.n c= [:A.m,B.m:] by A6;
    hence C.n c= C.m by A6;
   end; then
A9:C is non-descending by PROB_1:def 5; then
a10:lim C = Union C by SETLIM_1:63;
a11:lim A = Union A & lim B = Union B by A3,A4,SETLIM_1:63;
A15:for n be Nat holds product_sigma_Measure(M1,M2).(C.n) < +infty
   proof
    let n be Nat;
A12:A.n in S1 & B.n in S2 & C.n in sigma measurable_rectangles(S1,S2)
      by MEASURE8:def 2;
    C.n = [:A.n,B.n:] by A6; then
A13:product_sigma_Measure(M1,M2).(C.n) = M1.(A.n) * M2.(B.n) by A12,Th10;
    M1.(A.n) <> +infty & M1.(A.n) <> -infty
  & M2.(B.n) <> +infty & M2.(B.n) <> -infty by A3,A4,SUPINF_2:51;
    hence product_sigma_Measure(M1,M2).(C.n) < +infty
      by A13,XXREAL_3:69,XXREAL_0:4;
   end;
   set C1 = E (/\) C;
A16:dom C1 = NAT by FUNCT_2:def 1;
   for n be object st n in NAT holds C1.n in sigma measurable_rectangles(S1,S2)
   proof
    let n be object;
    assume n in NAT; then
    reconsider n1=n as Element of NAT;
    C1.n = C.n1 /\ E by SETLIM_2:def 5;
    hence C1.n in sigma measurable_rectangles(S1,S2);
   end; then
   reconsider C1 as SetSequence of sigma measurable_rectangles(S1,S2)
     by A16,FUNCT_2:3;
A17:for n be Nat holds
    Integral(M1,(Y-vol(E /\ C.n,M2)))
      = product_sigma_Measure(M1,M2).(E /\ C.n)
   proof
    let n be Nat;
A18:A.n in S1 & B.n in S2 & C.n in sigma measurable_rectangles(S1,S2)
      by MEASURE8:def 2;
A19:C.n = [:A.n,B.n:] by A6;
A20:product_sigma_Measure(M1,M2).(C.n) < +infty by A15;
    M2.(B.n) < +infty by A4; then
    sigma measurable_rectangles(S1,S2)
     c= {E where E is Element of sigma measurable_rectangles(S1,S2) :
        Integral(M1,(Y-vol(E/\C.n,M2)))
          = (product_sigma_Measure(M1,M2)).(E/\C.n)}
          by A2,A18,A19,A20,Th114; then
    E in {E where E is Element of sigma measurable_rectangles(S1,S2) :
        Integral(M1,(Y-vol(E/\C.n,M2)))
          = (product_sigma_Measure(M1,M2)).(E/\C.n)}; then
    ex E1 be Element of sigma measurable_rectangles(S1,S2) st
     E = E1 & Integral(M1,(Y-vol(E1 /\ C.n,M2)))
       = (product_sigma_Measure(M1,M2)).(E1/\C.n);
    hence thesis;
   end;
   defpred P[Element of NAT,object] means
     $2 = Y-vol(E /\ C.$1,M2);
A21:for n be Element of NAT ex f be Element of PFuncs(X1,ExtREAL) st P[n,f]
   proof
    let n be Element of NAT;
    reconsider f1 = Y-vol(E /\ C.n,M2) as Element of PFuncs(X1,ExtREAL)
      by PARTFUN1:45;
    take f1;
    thus f1 = Y-vol(E /\ C.n,M2);
   end;
   consider F be Function of NAT,PFuncs(X1,ExtREAL) such that
A22:for n be Element of NAT holds P[n,F.n] from FUNCT_2:sch 3(A21);
   reconsider F as Functional_Sequence of X1,ExtREAL;
A23:for n be Nat holds F.n = Y-vol(E /\ C.n,M2)
   proof
    let n be Nat;
    n is Element of NAT by ORDINAL1:def 12;
    hence thesis by A22;
   end;
   reconsider XX1 = X1 as Element of S1 by MEASURE1:7;
   reconsider X12 = [:X1,X2:] as Element of sigma measurable_rectangles(S1,S2)
      by MEASURE1:7;
   F.0 = Y-vol(E /\ C.0,M2) by A22; then
A24:dom(F.0) = XX1 & F.0 is nonnegative by FUNCT_2:def 1;
A25:for n be Nat, x be Element of X1 holds (F#x).n = Y-vol(E /\ C.n,M2).x
   proof
    let n be Nat, x be Element of X1;
    (F#x).n = (F.n).x by MESFUNC5:def 13;
    hence (F#x).n = Y-vol(E /\ C.n,M2).x by A23;
   end;
a26:for n,m be Nat holds dom(F.n) = dom(F.m)
   proof
    let n,m be Nat;
    F.n = Y-vol(E /\ C.n,M2) & F.m = Y-vol(E /\ C.m,M2) by A23; then
    dom(F.n) = XX1 & dom(F.m) = XX1 by FUNCT_2:def 1;
    hence dom(F.n) = dom(F.m);
   end;
A27:for n be Nat holds F.n is XX1-measurable
   proof
    let n be Nat;
    F.n = Y-vol(E /\ C.n,M2) by A23;
    hence F.n is XX1-measurable by A2,DefYvol;
   end;
A28:for n,m be Nat st n <= m holds
     for x be Element of X1 st x in XX1 holds (F.n).x <= (F.m).x
   proof
    let n,m be Nat;
    assume A29: n <= m;
    let x be Element of X1;
     assume x in XX1;
A30: E /\ C.n c= E /\ C.m by a9,A29,XBOOLE_1:26;
A31: M2.(Measurable-X-section(E /\ C.n,x))
      = Y-vol(E /\ C.n,M2).x by A2,DefYvol
     .= (F#x).n by A25
     .= (F.n).x by MESFUNC5:def 13;
     M2.(Measurable-X-section(E /\ C.m,x))
      = Y-vol(E /\ C.m,M2).x by A2,DefYvol
     .= (F#x).m by A25
     .= (F.m).x by MESFUNC5:def 13;
     hence (F.n).x <= (F.m).x by A30,A31,Th14,MEASURE1:31;
   end;
A32:for x be Element of X1 st x in XX1 holds F#x is convergent
   proof
    let x be Element of X1;
    assume x in XX1;
    now let n,m be Nat;
     assume m <= n; then
     (F.m).x <= (F.n).x by A28; then
     (F#x).m <= (F.n).x by MESFUNC5:def 13;
     hence (F#x).m <= (F#x).n by MESFUNC5:def 13;
    end; then
    F#x is non-decreasing by RINFSUP2:7;
    hence F#x is convergent by RINFSUP2:37;
   end;
   consider I be ExtREAL_sequence such that
A33: (for n be Nat holds I.n = Integral(M1,F.n))
  & I is convergent & Integral(M1,lim F) = lim I
      by A24,a26,A27,A28,A32,MESFUNC8:def 2,MESFUNC9:52;
   dom(lim F) = dom(F.0) by MESFUNC8:def 9; then
A34:dom(lim F) = dom(Y-vol(E,M2)) by A24,FUNCT_2:def 1;
   for x be Element of X1 st x in dom(lim F) holds (lim F).x = Y-vol(E,M2).x
   proof
    let x be Element of X1;
    assume x in dom(lim F); then
L2: (lim F).x = lim(F#x) by MESFUNC8:def 9;
    consider G be SetSequence of S2 such that
L3:  G is non-descending
   & (for n be Nat holds
        G.n = Measurable-X-section(C.n,x) /\ Measurable-X-section(E,x))
   & lim G = Measurable-X-section(X12,x) /\ Measurable-X-section(E,x)
        by A9,a11,A3,A4,a10,A6,Th116,Th108;
    for n be Element of NAT holds (F#x).n = (M2*G).n
    proof
     let n be Element of NAT;
L5:  dom G = NAT by FUNCT_2:def 1;
L4:  (F#x).n = (F.n).x by MESFUNC5:def 13
      .= Y-vol(C.n /\ E,M2).x by A22
      .= M2.(Measurable-X-section(C.n /\ E,x)) by A2,DefYvol;
     Measurable-X-section(C.n /\ E,x)
      = Measurable-X-section(C.n,x) /\ Measurable-X-section(E,x) by Th21; then
     Measurable-X-section(C.n /\ E,x) = G.n by L3;
     hence (F#x).n = (M2*G).n by L4,L5,FUNCT_1:13;
    end; then
    F#x = M2*G by FUNCT_2:63; then
    (lim F).x = M2.(Measurable-X-section(E,x) /\ Measurable-X-section(X12,x))
      by L2,L3,MEASURE8:26; then
    (lim F).x = M2.(Measurable-X-section(E /\ X12,x)) by Th21
     .= M2.(Measurable-X-section(E,x)) by XBOOLE_1:28;
    hence (lim F).x = Y-vol(E,M2).x by A2,DefYvol;
   end; then
V3:lim F = Y-vol(E,M2) by A34,PARTFUN1:5;
   set J = E (/\) C;
E1:dom J = NAT by FUNCT_2:def 1;
   for n be object st n in NAT holds J.n in sigma measurable_rectangles(S1,S2)
   proof
    let n be object;
    assume n in NAT; then
    reconsider n1 = n as Element of NAT;
    J.n = C.n1 /\ E by SETLIM_2:def 5;
    hence J.n in sigma measurable_rectangles(S1,S2);
   end; then
   reconsider J as SetSequence of sigma measurable_rectangles(S1,S2)
     by E1,FUNCT_2:3;
R11:J is non-descending by A9,SETLIM_2:22;
    C is convergent by A9,SETLIM_1:63; then
R13: lim J = E /\ lim C by SETLIM_2:92
     .= E /\ [:X1,X2:] by a11,A3,A4,a10,A6,Th116
     .= E by XBOOLE_1:28;
R3:product_sigma_Measure(M1,M2) is sigma_Measure of
     sigma measurable_rectangles(S1,S2) by Th2; then
R4:dom product_sigma_Measure(M1,M2) = sigma measurable_rectangles(S1,S2)
     by FUNCT_2:def 1;
   rng J c= sigma measurable_rectangles(S1,S2) by RELAT_1:def 19; then
R2:(product_sigma_Measure(M1,M2))/*J = (product_sigma_Measure(M1,M2))*J
     by R4,FUNCT_2:def 11;
   for n be Element of NAT holds I.n = ((product_sigma_Measure(M1,M2))/*J).n
   proof
    let n be Element of NAT;
R21:dom J = NAT by FUNCT_2:def 1;
    I.n = Integral(M1,F.n) by A33 .= Integral(M1,Y-vol(C.n /\ E,M2)) by A22
     .= (product_sigma_Measure(M1,M2)).(C.n /\ E) by A17
     .= (product_sigma_Measure(M1,M2)).(J.n) by SETLIM_2:def 5;
    hence I.n = ((product_sigma_Measure(M1,M2))/*J).n by R2,R21,FUNCT_1:13;
   end; then
   I = (product_sigma_Measure(M1,M2))/*J by FUNCT_2:63;
   hence Integral(M1,Y-vol(E,M2)) = (product_sigma_Measure(M1,M2)).E
     by A33,V3,R13,R11,R2,R3,MEASURE8:26;
end;

::$N Fubini's theorem
theorem
for X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
  M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
  E be Element of sigma measurable_rectangles(S1,S2)
st M1 is sigma_finite & M2 is sigma_finite
holds Integral(M2,(X-vol(E,M1))) = (product_sigma_Measure(M1,M2)).E
proof
   let X1,X2 be non empty set, S1 be SigmaField of X1, S2 be SigmaField of X2,
   M1 be sigma_Measure of S1, M2 be sigma_Measure of S2,
   E be Element of sigma measurable_rectangles(S1,S2);
   assume that
A1: M1 is sigma_finite and
A2: M2 is sigma_finite;
   consider A be Set_Sequence of S1 such that
A3: A is non-descending & (for n be Nat holds M1.(A.n) < +infty)
  & lim A = X1 by A1,LM0902a;
   consider B be Set_Sequence of S2 such that
A4: B is non-descending & (for n be Nat holds M2.(B.n) < +infty)
  & lim B = X2 by A2,LM0902a;
   deffunc C(Element of NAT) = [:A.$1,B.$1:];
   consider C be Function of NAT,bool [:X1,X2:] such that
A5: for n be Element of NAT holds C.n = C(n) from FUNCT_2:sch 4;
A6:for n be Nat holds C.n = [:A.n,B.n:]
   proof
    let n be Nat;
    n is Element of NAT by ORDINAL1:def 12;
    hence C.n = [:A.n,B.n:] by A5;
   end;
   for n be Nat holds C.n in sigma measurable_rectangles(S1,S2)
   proof
    let n be Nat;
A7: C.n = [:A.n,B.n:] by A6;
    A.n in S1 & B.n in S2 by MEASURE8:def 2; then
    C.n in the set of all [:A,B:]
      where A is Element of S1, B is Element of S2 by A7; then
A8: C.n in measurable_rectangles(S1,S2) by MEASUR10:def 5;
    measurable_rectangles(S1,S2) c= sigma measurable_rectangles(S1,S2)
      by PROB_1:def 9;
    hence C.n in sigma measurable_rectangles(S1,S2) by A8;
   end; then
   reconsider C as Set_Sequence of sigma measurable_rectangles(S1,S2)
     by MEASURE8:def 2;
a9:for n,m be Nat st n <= m holds C.n c= C.m
   proof
    let n,m be Nat;
    assume n <= m; then
    A.n c= A.m & B.n c= B.m by A3,A4,PROB_1:def 5; then
    [:A.n,B.n:] c= [:A.m,B.m:] by ZFMISC_1:96; then
    C.n c= [:A.m,B.m:] by A6;
    hence C.n c= C.m by A6;
   end; then
A9:C is non-descending by PROB_1:def 5; then
a10:lim C = Union C by SETLIM_1:63;
a11:lim A = Union A & lim B = Union B by A3,A4,SETLIM_1:63;
A15:for n be Nat holds product_sigma_Measure(M1,M2).(C.n) < +infty
   proof
    let n be Nat;
A12:A.n in S1 & B.n in S2 & C.n in sigma measurable_rectangles(S1,S2)
      by MEASURE8:def 2;
    C.n = [:A.n,B.n:] by A6; then
A13:product_sigma_Measure(M1,M2).(C.n) = M1.(A.n) * M2.(B.n) by A12,Th10;
    M1.(A.n) <> +infty & M1.(A.n) <> -infty
  & M2.(B.n) <> +infty & M2.(B.n) <> -infty by A3,A4,SUPINF_2:51;
    hence product_sigma_Measure(M1,M2).(C.n) < +infty
      by A13,XXREAL_3:69,XXREAL_0:4;
   end;
   set C1 = E (/\) C;
A16:dom C1 = NAT by FUNCT_2:def 1;
   for n be object st n in NAT holds C1.n in sigma measurable_rectangles(S1,S2)
   proof
    let n be object;
    assume n in NAT; then
    reconsider n1=n as Element of NAT;
    C1.n = C.n1 /\ E by SETLIM_2:def 5;
    hence C1.n in sigma measurable_rectangles(S1,S2);
   end; then
   reconsider C1 as SetSequence of sigma measurable_rectangles(S1,S2)
     by A16,FUNCT_2:3;
A17:for n be Nat holds
    Integral(M2,(X-vol(E /\ C.n,M1)))
      = product_sigma_Measure(M1,M2).(E /\ C.n)
   proof
    let n be Nat;
A18:A.n in S1 & B.n in S2 & C.n in sigma measurable_rectangles(S1,S2)
      by MEASURE8:def 2;
A19:C.n = [:A.n,B.n:] by A6;
A20:product_sigma_Measure(M1,M2).(C.n) < +infty by A15;
    M1.(A.n) < +infty by A3; then
    sigma measurable_rectangles(S1,S2)
     c= {E where E is Element of sigma measurable_rectangles(S1,S2) :
        Integral(M2,(X-vol(E/\C.n,M1)))
          = (product_sigma_Measure(M1,M2)).(E/\C.n)}
          by A1,A18,A19,A20,Th115; then
    E in {E where E is Element of sigma measurable_rectangles(S1,S2) :
        Integral(M2,(X-vol(E/\C.n,M1)))
          = (product_sigma_Measure(M1,M2)).(E/\C.n)}; then
    ex E1 be Element of sigma measurable_rectangles(S1,S2) st
     E = E1 & Integral(M2,(X-vol(E1 /\ C.n,M1)))
       = (product_sigma_Measure(M1,M2)).(E1/\C.n);
    hence thesis;
   end;
   defpred P[Element of NAT,object] means
     $2 = X-vol(E /\ C.$1,M1);
A21:for n be Element of NAT ex f be Element of PFuncs(X2,ExtREAL) st P[n,f]
   proof
    let n be Element of NAT;
    reconsider f1 = X-vol(E /\ C.n,M1) as Element of PFuncs(X2,ExtREAL)
      by PARTFUN1:45;
    take f1;
    thus f1 = X-vol(E /\ C.n,M1);
   end;
   consider F be Function of NAT,PFuncs(X2,ExtREAL) such that
A22:for n be Element of NAT holds P[n,F.n] from FUNCT_2:sch 3(A21);
   reconsider F as Functional_Sequence of X2,ExtREAL;
A23:for n be Nat holds F.n = X-vol(E /\ C.n,M1)
   proof
    let n be Nat;
    n is Element of NAT by ORDINAL1:def 12;
    hence thesis by A22;
   end;
   reconsider XX2 = X2 as Element of S2 by MEASURE1:7;
   reconsider X12 = [:X1,X2:] as Element of sigma measurable_rectangles(S1,S2)
      by MEASURE1:7;
   F.0 = X-vol(E /\ C.0,M1) by A22; then
A24:dom(F.0) = XX2 & F.0 is nonnegative by FUNCT_2:def 1;
A25:for n be Nat, x be Element of X2 holds (F#x).n = X-vol(E /\ C.n,M1).x
   proof
    let n be Nat, x be Element of X2;
    (F#x).n = (F.n).x by MESFUNC5:def 13;
    hence (F#x).n = X-vol(E /\ C.n,M1).x by A23;
   end;
a26:for n,m be Nat holds dom(F.n) = dom(F.m)
   proof
    let n,m be Nat;
    F.n = X-vol(E /\ C.n,M1) & F.m = X-vol(E /\ C.m,M1) by A23; then
    dom(F.n) = XX2 & dom(F.m) = XX2 by FUNCT_2:def 1;
    hence dom(F.n) = dom(F.m);
   end;
A27:for n be Nat holds F.n is XX2-measurable
   proof
    let n be Nat;
    F.n = X-vol(E /\ C.n,M1) by A23;
    hence F.n is XX2-measurable by A1,DefXvol;
   end;
A28:for n,m be Nat st n <= m holds
     for x be Element of X2 st x in XX2 holds (F.n).x <= (F.m).x
   proof
    let n,m be Nat;
    assume A29: n <= m;
     let x be Element of X2;
     assume x in XX2;
A30: E /\ C.n c= E /\ C.m by a9,A29,XBOOLE_1:26;
A31: M1.(Measurable-Y-section(E /\ C.n,x))
      = X-vol(E /\ C.n,M1).x by A1,DefXvol
     .= (F#x).n by A25
     .= (F.n).x by MESFUNC5:def 13;
     M1.(Measurable-Y-section(E /\ C.m,x))
      = X-vol(E /\ C.m,M1).x by A1,DefXvol
     .= (F#x).m by A25
     .= (F.m).x by MESFUNC5:def 13;
     hence (F.n).x <= (F.m).x by A30,A31,Th15,MEASURE1:31;
   end;
A32:for x be Element of X2 st x in XX2 holds F#x is convergent
   proof
    let x be Element of X2;
    assume x in XX2;
    now let n,m be Nat;
     assume m <= n; then
     (F.m).x <= (F.n).x by A28; then
     (F#x).m <= (F.n).x by MESFUNC5:def 13;
     hence (F#x).m <= (F#x).n by MESFUNC5:def 13;
    end; then
    F#x is non-decreasing by RINFSUP2:7;
    hence F#x is convergent by RINFSUP2:37;
   end;
   consider I be ExtREAL_sequence such that
A33: (for n be Nat holds I.n = Integral(M2,F.n))
  & I is convergent & Integral(M2,lim F) = lim I
     by A24,a26,A27,A28,A32,MESFUNC8:def 2,MESFUNC9:52;
   dom(lim F) = dom(F.0) by MESFUNC8:def 9; then
A34:dom(lim F) = dom(X-vol(E,M1)) by A24,FUNCT_2:def 1;
   for x be Element of X2 st x in dom(lim F) holds (lim F).x = X-vol(E,M1).x
   proof
    let x be Element of X2;
    assume x in dom(lim F); then
L2: (lim F).x = lim(F#x) by MESFUNC8:def 9;
    consider G be SetSequence of S1 such that
L3:  G is non-descending
   & (for n be Nat holds
        G.n = Measurable-Y-section(C.n,x) /\ Measurable-Y-section(E,x))
   & lim G = Measurable-Y-section(X12,x) /\ Measurable-Y-section(E,x)
        by A9,a11,A3,A4,a10,A6,Th116,Th109;
    for n be Element of NAT holds (F#x).n = (M1*G).n
    proof
     let n be Element of NAT;
L5:  dom G = NAT by FUNCT_2:def 1;
L4:  (F#x).n = (F.n).x by MESFUNC5:def 13
      .= X-vol(C.n /\ E,M1).x by A22
      .= M1.(Measurable-Y-section(C.n /\ E,x)) by A1,DefXvol;
     Measurable-Y-section(C.n /\ E,x)
      = Measurable-Y-section(C.n,x) /\ Measurable-Y-section(E,x) by Th21; then
     Measurable-Y-section(C.n /\ E,x) = G.n by L3;
     hence (F#x).n = (M1*G).n by L4,L5,FUNCT_1:13;
    end; then
    F#x = M1*G by FUNCT_2:63; then
    (lim F).x = M1.(Measurable-Y-section(E,x) /\ Measurable-Y-section(X12,x))
      by L2,L3,MEASURE8:26; then
    (lim F).x = M1.(Measurable-Y-section(E /\ X12,x)) by Th21
     .= M1.(Measurable-Y-section(E,x)) by XBOOLE_1:28;
    hence (lim F).x = X-vol(E,M1).x by A1,DefXvol;
   end; then
V3:lim F = X-vol(E,M1) by A34,PARTFUN1:5;
   set J = E (/\) C;
E1:dom J = NAT by FUNCT_2:def 1;
   for n be object st n in NAT holds J.n in sigma measurable_rectangles(S1,S2)
   proof
    let n be object;
    assume n in NAT; then
    reconsider n1 = n as Element of NAT;
    J.n = C.n1 /\ E by SETLIM_2:def 5;
    hence J.n in sigma measurable_rectangles(S1,S2);
   end; then
   reconsider J as SetSequence of sigma measurable_rectangles(S1,S2)
     by E1,FUNCT_2:3;
R11:J is non-descending by A9,SETLIM_2:22;
    C is convergent by A9,SETLIM_1:63; then
R13: lim J = E /\ lim C by SETLIM_2:92
     .= E /\ [:X1,X2:] by a11,A3,A4,a10,A6,Th116
     .= E by XBOOLE_1:28;
R3:product_sigma_Measure(M1,M2) is sigma_Measure of
     sigma measurable_rectangles(S1,S2) by Th2; then
R4:dom product_sigma_Measure(M1,M2) = sigma measurable_rectangles(S1,S2)
     by FUNCT_2:def 1;
   rng J c= sigma measurable_rectangles(S1,S2) by RELAT_1:def 19; then
R2:(product_sigma_Measure(M1,M2))/*J = (product_sigma_Measure(M1,M2))*J
     by R4,FUNCT_2:def 11;
   for n be Element of NAT holds I.n = ((product_sigma_Measure(M1,M2))/*J).n
   proof
    let n be Element of NAT;
R21:dom J = NAT by FUNCT_2:def 1;
    I.n = Integral(M2,F.n) by A33 .= Integral(M2,X-vol(C.n /\ E,M1)) by A22
     .= (product_sigma_Measure(M1,M2)).(C.n /\ E) by A17
     .= (product_sigma_Measure(M1,M2)).(J.n) by SETLIM_2:def 5;
    hence I.n = ((product_sigma_Measure(M1,M2))/*J).n by R2,R21,FUNCT_1:13;
   end; then
   I = (product_sigma_Measure(M1,M2))/*J by FUNCT_2:63;
   hence Integral(M2,X-vol(E,M1)) = (product_sigma_Measure(M1,M2)).E
     by A33,V3,R13,R11,R2,R3,MEASURE8:26;
end;