
theorem Th14:
  for H being sequence of [:NAT,NAT:] st H is one-to-one & rng
  H = [:NAT,NAT:] holds for k being Nat holds ex m being Element of
  NAT st for F being sequence of bool REAL holds for G being
  Interval_Covering of F holds Ser((On(G,H)) vol).k <= Ser(vol(G)).m
proof
  reconsider y = D as Element of Funcs(NAT,bool REAL) by FUNCT_2:8;
  let H be sequence of [:NAT,NAT:];
  assume that
A1: H is one-to-one and
A2: rng H = [:NAT,NAT:];
  defpred P[Nat] means
ex m being Element of NAT st for F being
sequence of bool REAL holds for G being Interval_Covering of F holds Ser((
  On(G,H)) vol).($1) <= Ser(vol(G)).m;
A3: for k being Nat st P[k] holds P[k+1]
  proof
    let k be Nat;
    set N0 = {s where s is Element of NAT : pr1(H).(k+1) = pr1(H).s};
A4: N0 c= NAT
    proof
      let s1 be object;
      assume s1 in N0;
      then ex s being Element of NAT st s = s1 & pr1(H).(k+1) = pr1(H).s;
      hence thesis;
    end;
    k+1 in N0;
    then reconsider N0 as non empty Subset of NAT by A4;
    given m0 being Element of NAT such that
A5: for F being sequence of bool REAL holds for G being
    Interval_Covering of F holds Ser((On(G,H)) vol).k <= Ser(vol(G)).m0;
    take m = m0 + pr1(H).(k+1);
    let F be sequence of bool REAL;
    let G be Interval_Covering of F;
    defpred QQ1[Element of NAT,Function] means (($1 <> pr1(H).(k+1) implies
for m being Element of NAT holds $2.m = (G.$1).m) & ($1 = pr1(H).(k+1) implies
    for m being Element of NAT holds $2.m = {}));
A6: for n being Element of NAT holds ex y being Element of Funcs(NAT,bool
    REAL) st QQ1[n,y]
    proof
      let n be Element of NAT;
      per cases;
      suppose
A7:     n <> pr1(H).(k+1);
        reconsider y = G.n as Element of Funcs(NAT,bool REAL) by FUNCT_2:8;
        take y;
        thus thesis by A7;
      end;
      suppose
A8:     n = pr1(H).(k+1);
        take y;
        thus thesis by A8,FUNCOP_1:7;
      end;
    end;
    consider G1 being sequence of Funcs(NAT,bool REAL) such that
A9: for n being Element of NAT holds QQ1[n,G1.n] from FUNCT_2:sch 3(
    A6);
A10: for n being Element of NAT holds G1.n is Interval_Covering of D.n
    proof
      let n be Element of NAT;
      consider f0 being Function such that
A11:  G1.n = f0 and
A12:  dom f0 = NAT & rng f0 c= bool REAL by FUNCT_2:def 2;
      reconsider f0 as sequence of bool REAL by A12,FUNCT_2:2;
A13:  for s being Element of NAT holds f0.s is Interval
      proof
        let s be Element of NAT;
        per cases;
        suppose
          n <> pr1(H).(k+1);
          then f0.s = (G.n).s by A9,A11;
          hence thesis;
        end;
        suppose
          n = pr1(H).(k+1);
          hence thesis by A9,A11;
        end;
      end;
      D.n = {} by FUNCOP_1:7;
      then D.n c= union(rng f0);
      then reconsider f0 as Interval_Covering of D.n by A13,Def2;
      G1.n = f0 by A11;
      hence thesis;
    end;
    defpred SSS[Element of N0,Element of NAT] means $2 = pr2(H).$1;
    defpred QQ0[Element of NAT,Function] means (($1 = pr1(H).(k+1) implies for
m being Element of NAT holds $2.m = (G.$1).m) & ($1 <> pr1(H).(k+1) implies for
    m being Element of NAT holds $2.m = {}));
A14: for n being Element of NAT holds ex y being Element of Funcs(NAT,bool
    REAL) st QQ0[n,y]
    proof
      let n be Element of NAT;
      per cases;
      suppose
A15:    n = pr1(H).(k+1);
        reconsider y = G.n as Element of Funcs(NAT,bool REAL) by FUNCT_2:8;
        take y;
        thus thesis by A15;
      end;
      suppose
A16:    n <> pr1(H).(k+1);
        take y;
        thus thesis by A16,FUNCOP_1:7;
      end;
    end;
    consider G0 being sequence of Funcs(NAT,bool REAL) such that
A17: for n being Element of NAT holds QQ0[n,G0.n] from FUNCT_2:sch 3(
    A14);
    for n being Element of NAT holds G0.n is Interval_Covering of D.n
    proof
      let n be Element of NAT;
      consider f0 being Function such that
A18:  G0.n = f0 and
A19:  dom f0 = NAT & rng f0 c= bool REAL by FUNCT_2:def 2;
      reconsider f0 as sequence of bool REAL by A19,FUNCT_2:2;
A20:  for s being Element of NAT holds f0.s is Interval
      proof
        let s be Element of NAT;
        per cases;
        suppose
          n = pr1(H).(k+1);
          then f0.s = (G.n).s by A17,A18;
          hence thesis;
        end;
        suppose
          n <> pr1(H).(k+1);
          hence thesis by A17,A18;
        end;
      end;
      D.n = {} by FUNCOP_1:7;
      then D.n c= union(rng f0);
      then reconsider f0 as Interval_Covering of D.n by A20,Def2;
      G0.n = f0 by A18;
      hence thesis;
    end;
    then reconsider G0 as Interval_Covering of D by Def3;
    set GG0 = On(G0,H);
    reconsider G1 as Interval_Covering of D by A10,Def3;
    set GG1 = On(G1,H);
A21: (Ser(GG0 vol)).(k+1) <= SUM(GG0 vol) by Th6,Th12;
    GG1.(k+1) = (G1.(pr1(H).(k+1))).(pr2(H).(k+1)) by A2,Def11
      .= {} by A9;
    then
A22: (GG1 vol).(k+1) = 0. by Def4,MEASURE5:10;
    (Ser (GG1 vol)).(k+1) = (Ser (GG1 vol)).k + (GG1 vol).(k+1) by SUPINF_2:
def 11;
    then
A23: (Ser (GG1 vol)).(k+1) = (Ser (GG1 vol)).k by A22,XXREAL_3:4;
    for s being Element of NAT holds 0. <= (vol(G1)).s by Th13;
    then vol(G1) is nonnegative by SUPINF_2:39;
    then
A24: (Ser vol(G1)).m0 <= (Ser vol(G1)).m by SUPINF_2:41;
A25: for n being Element of NAT holds ((On(G,H)) vol).n = (GG0 vol).n + (
    GG1 vol). n
    proof
      let n be Element of NAT;
A26:  (GG0 vol).n = diameter(GG0.n) & (GG1 vol).n = diameter(GG1.n) by Def4;
      ((On(G,H)) vol).n = diameter((On(G,H)).n) by Def4;
      then
A27:  ((On(G,H)) vol).n = diameter((G.(pr1(H).n)).(pr2(H).n)) by A2,Def11;
      per cases;
      suppose
A28:    pr1(H).n = pr1(H).(k+1);
A29:    GG1.n = (G1.(pr1(H).n)).(pr2(H).n) by A2,Def11
          .= {} by A9,A28;
        GG0.n = (G0.(pr1(H).n)).(pr2(H).n) by A2,Def11
          .= (G.(pr1(H).n)).(pr2(H).n) by A17,A28;
        hence thesis by A26,A27,A29,MEASURE5:10,XXREAL_3:4;
      end;
      suppose
A30:    pr1(H).n <> pr1(H).(k+1);
A31:    GG0.n = (G0.(pr1(H).n)).(pr2(H).n) by A2,Def11
          .= {} by A17,A30;
        GG1.n = (G1.(pr1(H).n)).(pr2(H).n) by A2,Def11
          .= (G.(pr1(H).n)).(pr2(H).n) by A9,A30;
        hence thesis by A26,A27,A31,MEASURE5:10,XXREAL_3:4;
      end;
    end;
    GG0 vol is nonnegative & GG1 vol is nonnegative by Th12;
    then
A32: (Ser (On(G,H) vol)).(k+1) = (Ser (GG0 vol)).(k+1) + (Ser (GG1 vol)).
    (k+1) by A25,Th3;
    for s being Element of NAT holds 0. <= (vol(G1)).s by Th13;
    then
A33: vol(G1) is nonnegative by SUPINF_2:39;
    (Ser(GG1 vol)).k <= (Ser vol(G1)).m0 by A5;
    then
A34: (Ser (GG1 vol)).(k+1) <= (Ser vol(G1)).m by A23,A24,XXREAL_0:2;
A35: for s being Element of N0 holds ex y being Element of NAT st SSS[s,y];
    consider SOS being Function of N0,NAT such that
A36: for s being Element of N0 holds SSS[s,SOS.s] from FUNCT_2:sch 3(
    A35);
A37: for n being Element of NAT holds (vol(G)).n = (vol(G0)).n + (vol(G1)) .n
    proof
      let n be Element of NAT;
A38:  vol(G.n) = vol(G0.n) + vol(G1.n)
      proof
        per cases;
        suppose
A39:      n = pr1(H).(k+1);
          for s being Element of NAT holds ((G.n) vol).s <= ((G0.n) vol). s
          proof
            let s be Element of NAT;
            ((G0.n) vol).s = diameter((G0.n).s) by Def4
              .= diameter((G.n).s) by A17,A39
              .= ((G.n) vol).s by Def4;
            hence thesis;
          end;
          then
A40:      SUM((G.n) vol) <= SUM((G0.n) vol) by SUPINF_2:43;
          for s being Element of NAT holds ((G1.n) vol).s = 0.
          proof
            let s be Element of NAT;
            diameter((G1.n).s) = 0. by A9,A39,MEASURE5:10;
            hence thesis by Def4;
          end;
          then
A41:      SUM((G1.n) vol) = 0. by Th1;
          for s being Element of NAT holds ((G0.n) vol).s <= ((G.n) vol). s
          proof
            let s be Element of NAT;
            ((G0.n) vol).s = diameter((G0.n).s) by Def4
              .= diameter((G.n).s) by A17,A39
              .= ((G.n) vol).s by Def4;
            hence thesis;
          end;
          then SUM((G0.n) vol) <= SUM((G.n) vol) by SUPINF_2:43;
          then SUM((G.n) vol) = SUM((G0.n) vol) by A40,XXREAL_0:1;
          hence thesis by A41,XXREAL_3:4;
        end;
        suppose
A42:      n <> pr1(H).(k+1);
A43:      for s being Element of NAT holds ((G1.n) vol).s = ((G.n) vol).s
          proof
            let s be Element of NAT;
            ((G1.n) vol).s = diameter((G1.n).s) & ((G.n) vol).s =
            diameter((G.n).s) by Def4;
            hence thesis by A9,A42;
          end;
          then
          for s being Element of NAT holds ((G.n) vol).s <= ((G1.n) vol). s;
          then
A44:      SUM((G.n) vol) <= SUM((G1.n) vol) by SUPINF_2:43;
          for s being Element of NAT holds ((G0.n) vol).s = 0.
          proof
            let s be Element of NAT;
            diameter((G0.n).s) = 0. by A17,A42,MEASURE5:10;
            hence thesis by Def4;
          end;
          then
A45:      SUM((G0.n) vol) = 0. by Th1;
          for s being Element of NAT holds ((G1.n) vol).s <= ((G.n) vol).
          s by A43;
          then SUM((G1.n) vol) <= SUM((G.n) vol) by SUPINF_2:43;
          then SUM((G.n) vol) = SUM((G1.n) vol) by A44,XXREAL_0:1;
          hence thesis by A45,XXREAL_3:4;
        end;
      end;
      (vol(G)).n = vol(G.n) & (vol(G0)).n = vol(G0.n) by Def7;
      hence thesis by A38,Def7;
    end;
    for s being Element of NAT holds 0. <= (vol(G0)).s by Th13;
    then vol(G0) is nonnegative by SUPINF_2:39;
    then
A46: (vol(G0)).(pr1(H).(k+1)) <= (Ser(vol(G0))).(pr1(H).(k+1 )) & (Ser
    vol(G0)).( pr1(H).(k+1)) <= (Ser vol(G0)).m by Th2,SUPINF_2:41;
A47: for s being Element of NAT holds (s in N0 implies (GG0 vol).s = ((G0.
    (pr1(H).(k+1)) vol)*SOS).s) & (not s in N0 implies (GG0 vol).s = 0.)
    proof
      let s be Element of NAT;
      thus s in N0 implies (GG0 vol).s = ((G0.(pr1(H).(k+1)) vol)*SOS).s
      proof
        assume
A48:    s in N0;
        then
A49:    ex s1 being Element of NAT st s1 = s & pr1(H).(k+1) = pr1(H).s1;
A50:    pr2(H).s =SOS.s by A36,A48;
        (GG0 vol).s = diameter(GG0.s) by Def4
          .= diameter((G0.(pr1(H).(k+1))).(pr2(H).s)) by A2,A49,Def11
          .= (G0.(pr1(H).(k+1)) vol).(SOS.s) by A50,Def4
          .= ((G0.(pr1(H).(k+1)) vol)*SOS).s by A48,FUNCT_2:15;
        hence thesis;
      end;
      assume not s in N0;
      then
A51:  not pr1(H).(k+1) = pr1(H).s;
      (GG0 vol).s = diameter(GG0.s) by Def4
        .= diameter((G0.(pr1(H).s)).(pr2(H).s)) by A2,Def11
        .= 0. by A17,A51,MEASURE5:10;
      hence thesis;
    end;
    for s1,s2 being object st s1 in N0 & s2 in N0 & SOS.s1 = SOS.s2
holds s1 = s2
    proof
      let s1,s2 be object;
      assume that
A52:  s1 in N0 & s2 in N0 and
A53:  SOS.s1 = SOS.s2;
      reconsider s1,s2 as Element of NAT by A52;
A54:  (ex s11 being Element of NAT st s11 = s1 & pr1(H).(k+1) = pr1(H).
s11 )& ex s22 being Element of NAT st s22 = s2 & pr1(H).(k+1) = pr1(H).s22 by
A52;
A55:  H.s1 = [pr1(H).s1,pr2(H).s1] & H.s2 = [pr1(H).s2,pr2(H).s2] by
FUNCT_2:119;
      SOS.s1 = pr2(H).s1 & SOS.s2 = pr2(H).s2 by A36,A52;
      hence thesis by A1,A53,A54,A55,FUNCT_2:19;
    end;
    then
A56: SOS is one-to-one by FUNCT_2:19;
    G0.(pr1(H).(k+1)) vol is nonnegative by Th12;
    then SUM(GG0 vol) <= SUM(G0.(pr1(H).(k+1)) vol) by A56,A47,Th11;
    then
A57: (Ser(GG0 vol)).(k+1) <= SUM(G0.(pr1(H).(k+1)) vol) by A21,XXREAL_0:2;
    SUM(G0.(pr1(H).(k+1)) vol) = vol(G0.(pr1(H).(k+1)))
      .= (vol(G0)).(pr1(H).(k+1)) by Def7;
    then SUM(G0.(pr1(H).(k+1)) vol) <= (Ser vol(G0)).m by A46,XXREAL_0:2;
    then
A58: (Ser (GG0 vol)).(k+1) <= (Ser vol(G0)).m by A57,XXREAL_0:2;
    for s being Element of NAT holds 0. <= (vol(G0)).s by Th13;
    then vol(G0) is nonnegative by SUPINF_2:39;
    then (Ser vol(G)).m = (Ser vol(G0)).m + (Ser vol(G1)).m by A37,A33,Th3;
    hence thesis by A58,A34,A32,XXREAL_3:36;
  end;
A59: P[0]
  proof
    take m = pr1(H).0;
    let F be sequence of bool REAL;
    let G be Interval_Covering of F;
    reconsider GG = On(G,H) as Interval_Covering of union rng F;
    (GG vol).0 = diameter(GG.0) & ((G.(pr1(H).0)) vol).(pr2(H).0) =
    diameter((G. (pr1(H).0)).(pr2(H).0)) by Def4;
    then (GG vol).0 <= ((G.(pr1(H).0)) vol).(pr2(H).0) by A2,Def11;
    then (GG vol).0 <= vol(G.(pr1(H).0)) by Th12,MEASURE6:3;
    then
A60: Ser(GG vol).0 = (GG vol).0 & (GG vol).0 <= (vol(G)).(pr1(H).0) by Def7,
SUPINF_2:def 11;
    for n being Element of NAT holds 0. <= (vol(G)).n by Th13;
    then vol(G) is nonnegative by SUPINF_2:39;
    then (vol(G)).m <= Ser(vol(G)).m by Th2;
    hence thesis by A60,XXREAL_0:2;
  end;
  thus for k being Nat holds P[k] from NAT_1:sch 2(A59,A3);
end;
