reserve x,O for set,
  o for Element of O,
  G,H,I for GroupWithOperators of O,
  A, B for Subset of G,
  N for normal StableSubgroup of G,
  H1,H2,H3 for StableSubgroup of G,
  g1,g2 for Element of G,
  h1,h2 for Element of H1,
  h for Homomorphism of G,H;
reserve E for set,
  A for Action of O,E,
  C for Subset of G,
  N1 for normal StableSubgroup of H1;
reserve y for set,
  H19,H29 for StableSubgroup of G,
  N19 for normal StableSubgroup of H19,
  s1,s19,s2,s29 for CompositionSeries of G,
  fs for FinSequence of the_stable_subgroups_of G,
  f1,f2 for FinSequence,
  i,j,n for Nat;

theorem Th116:
  len s1>1 & len s2>1 implies the_schreier_series_of(s1,s2) is_finer_than s1
proof
  assume that
A1: len s1>1 and
A2: len s2>1;
  now
    set rR=rng s1;
    set R=s1;
    set l=(len s1-1)*(len s2-1) + 1;
    set X = Seg len s1;
    set g={[k,(k-1)*(len s2-1)+1] where k is Element of NAT:1<=k & k<=len s1};
    now
      let x be object;
      assume x in g;
      then consider k be Element of NAT such that
A3:   [k,(k-1)*(len s2-1)+1] = x and
      1<=k and
      k<=len s1;
      set z=(k-1)*(len s2-1)+1;
      set y=k;
      reconsider y,z as object;
      take y,z;
      thus x = [y,z] by A3;
    end;
    then reconsider g as Relation by RELAT_1:def 1;
A4: now
      let y be object;
      assume y in rng g;
      then consider x being object such that
A5:   [x,y] in g by XTUPLE_0:def 13;
      consider k be Element of NAT such that
A6:   [k,(k-1)*(len s2-1)+1] = [x,y] and
      1<=k and
      k<=len s1 by A5;
      (k-1)*(len s2-1)+1=y by A6,XTUPLE_0:1;
      hence y in REAL by XREAL_0:def 1;
    end;
A7: now
      let x,y1,y2 be object;
      assume [x,y1] in g;
      then consider k be Element of NAT such that
A8:   [k,(k-1)*(len s2-1)+1] = [x,y1] and
      1<=k and
      k<=len s1;
A9:   k=x by A8,XTUPLE_0:1;
      assume [x,y2] in g;
      then consider k9 be Element of NAT such that
A10:  [k9,(k9-1)*(len s2-1)+1] = [x,y2] and
      1<=k9 and
      k9<=len s1;
      k9=x by A10,XTUPLE_0:1;
      hence y1=y2 by A8,A10,A9,XTUPLE_0:1;
    end;
    now
      let x be object;
      assume x in dom g;
      then consider y being object such that
A11:  [x,y] in g by XTUPLE_0:def 12;
      consider k be Element of NAT such that
A12:  [k,(k-1)*(len s2-1)+1] = [x,y] and
      1<=k and
      k<=len s1 by A11;
      k=x by A12,XTUPLE_0:1;
      hence x in NAT;
    end;
    then
A13: dom g c= NAT;
    reconsider g as Function by A7,FUNCT_1:def 1;
A14: rng g c= REAL by A4;
    reconsider f=g as PartFunc of dom g, rng g by RELSET_1:4;
    dom g c= REAL by A13,NUMBERS:19;
    then reconsider f as PartFunc of REAL,REAL by A14,RELSET_1:7;
    set dR=dom s1;
    set t=the_schreier_series_of(s1,s2);
    set fX = f.:X;
    take fX;
    reconsider R as Relation of dR,rR by FUNCT_2:1;
A15: (id dR)*R = R by FUNCT_2:17;
    len s2+1>1+1 by A2,XREAL_1:6;
    then len s2>=2 by NAT_1:13;
    then
A16: len s2-1>=2-1 by XREAL_1:9;
    len s1+1>1+1 by A1,XREAL_1:6;
    then len s1>=2 by NAT_1:13;
    then len s1-1>=2-1 by XREAL_1:9;
    then reconsider l as Element of NAT by A16,INT_1:3;
A17: len the_schreier_series_of(s1,s2) = l by A1,A2,Def35;
    then
A18: dom the_schreier_series_of(s1,s2) = Seg l by FINSEQ_1:def 3;
    len s2+1>1+1 by A2,XREAL_1:6;
    then len s2>=2 by NAT_1:13;
    then
A19: len s2-1>=2-1 by XREAL_1:9;
    now
      let y be object;
      assume y in fX;
      then consider x being object such that
A20:  [x,y] in g and
      x in X by RELAT_1:def 13;
      consider k be Element of NAT such that
A21:  [k,(k-1)*(len s2-1)+1]=[x,y] and
A22:  1<=k and
A23:  k<=len s1 by A20;
      reconsider y9=y as Integer by A21,XTUPLE_0:1;
A24:  k-1>=1-1 by A22,XREAL_1:9;
      then
A25:  y9>0 by A19,A21,XTUPLE_0:1;
      k-1<=len s1-1 by A23,XREAL_1:9;
      then
A26:  (k-1)*(len s2-1)<=(len s1-1)*(len s2-1) by A19,XREAL_1:64;
      (k-1)*(len s2-1)+1>=0+1 by A19,A24,XREAL_1:6;
      then
A27:  y9>=1 by A21,XTUPLE_0:1;
      reconsider y9 as Element of NAT by A25,INT_1:3;
      (k-1)*(len s2-1)+1=y by A21,XTUPLE_0:1;
      then y9<=l by A26,XREAL_1:6;
      hence y in Seg l by A27;
    end;
    then
A28: fX c= Seg l;
    hence fX c= dom the_schreier_series_of(s1,s2) by A17,FINSEQ_1:def 3;
    now
      let x be object;
      assume
A29:  x in X;
      then reconsider k=x as Element of NAT;
      set y=(k-1)*(len s2-1)+1;
      1<=k & k<=len s1 by A29,FINSEQ_1:1;
      then [x,y] in f;
      hence x in dom f by XTUPLE_0:def 12;
    end;
    then
A30: X c= dom f;
    then
A31: dom s1 c= dom f by FINSEQ_1:def 3;
    now
      let x be object;
      assume x in dom f;
      then consider y being object such that
A32:  [x,y] in f by XTUPLE_0:def 12;
      consider k be Element of NAT such that
A33:  [k,(k-1)*(len s2-1)+1] = [x,y] & 1<=k & k<=len s1 by A32;
      k in Seg len s1 & k=x by A33,XTUPLE_0:1;
      hence x in dom s1 by FINSEQ_1:def 3;
    end;
    then dom f c= dom s1;
    then
A34: dom s1 = dom f by A31,XBOOLE_0:def 10;
    then X = dom f by FINSEQ_1:def 3;
    then
A35: rng f c= Seg l by A28,RELAT_1:113;
    then
A36: dom s1 = dom(t*f) by A18,A34,RELAT_1:27;
A37: now
      let x be object;
      assume
A38:  x in dom s1;
      then [x,f.x] in f by A31,FUNCT_1:def 2;
      then consider i be Element of NAT such that
A39:  [i,(i-1)*(len s2-1)+1] = [x,f.x] and
A40:  1<=i and
A41:  i<=len s1;
      set k=(i-1)*(len s2-1)+1;
      (i-1)*(len s2-1)+1=f.x by A39,XTUPLE_0:1;
      then k in rng f by A31,A38,FUNCT_1:3;
      then k in Seg l by A35;
      then reconsider k as Element of NAT;
A42:  x in dom(t*f) by A18,A34,A35,A38,RELAT_1:27;
      per cases;
      suppose
A43:    i=len s1;
        (t*f).x = t.(f.x) by A42,FUNCT_1:12
          .= t.k by A39,XTUPLE_0:1
          .= (1).G by A1,A2,A43,Def35
          .= s1.(len s1) by Def28;
        hence s1.x = (t*f).x by A39,A43,XTUPLE_0:1;
      end;
      suppose
        i<>len s1;
        then i<len s1 by A41,XXREAL_0:1;
        then
A44:    i+1<=len s1 by NAT_1:13;
        then
A45:    i+1-1<=len s1-1 by XREAL_1:9;
A46:    s2.1=(Omega).G by Def28;
        then reconsider
        H1=s1.(i+1),H2=s1.i,H3=s2.1 as strict StableSubgroup of G
        by A40,A45,Th111;
        now
          let x be object;
          H2 is Subgroup of G by Def7;
          then
A47:      the carrier of H2 c= the carrier of G by GROUP_2:def 5;
          assume x in the carrier of H2;
          hence x in the carrier of (Omega).G by A47;
        end;
        then the carrier of H2 c= the carrier of (Omega).G;
        then
A48:    the carrier of H2 = (the carrier of H2) /\ (the carrier of H3)
        by A46,XBOOLE_1:28;
        len s2-1>1-1 by A2,XREAL_1:9;
        then
A49:    len s2-1>=0+1 by INT_1:7;
        0+i<=1+i by XREAL_1:6;
        then 1<=i+1 by A40,XXREAL_0:2;
        then i+1 in Seg len s1 by A44;
        then
A50:    i+1 in dom s1 by FINSEQ_1:def 3;
        i in Seg len s1 by A40,A41;
        then i in dom s1 by FINSEQ_1:def 3;
        then
A51:    H1 is normal StableSubgroup of H2 by A50,Def28;
        (t*f).x = t.(f.x) by A42,FUNCT_1:12
          .= t.k by A39,XTUPLE_0:1
          .= H1"\/"(H2/\H3) by A1,A2,A40,A45,A49,Def35
          .= H1"\/"H2 by A48,Th18
          .= H2 by A51,Th36;
        hence s1.x = (t*f).x by A39,XTUPLE_0:1;
      end;
    end;
    now
      let r1,r2 be Real;
      assume r1 in X /\ dom f;
      then r1 in dom f by XBOOLE_0:def 4;
      then [r1,f.r1] in f by FUNCT_1:1;
      then consider k9 be Element of NAT such that
A52:  [k9,(k9-1)*(len s2-1)+1]=[r1,f.r1] and
      1<=k9 and
      k9<=len s1;
      assume r2 in X /\ dom f;
      then r2 in dom f by XBOOLE_0:def 4;
      then [r2,f.r2] in f by FUNCT_1:1;
      then consider k99 be Element of NAT such that
A53:  [k99,(k99-1)*(len s2-1)+1]=[r2,f.r2] and
      1<=k99 and
      k99<=len s1;
A54:  k99=r2 by A53,XTUPLE_0:1;
      assume
A55:  r1<r2;
      k9=r1 by A52,XTUPLE_0:1;
      then k9-1<k99-1 by A55,A54,XREAL_1:9;
      then
A56:  (k9-1)*(len s2-1)<(k99-1)*(len s2-1) by A19,XREAL_1:68;
A57:  (k99-1)*(len s2-1)+1=f.r2 by A53,XTUPLE_0:1;
      (k9-1)*(len s2-1)+1=f.r1 by A52,XTUPLE_0:1;
      hence f.r1 < f.r2 by A57,A56,XREAL_1:6;
    end;
    then
A58: f|X is increasing by RFUNCT_2:20;
    now
      let y be object;
      assume y in f.:X;
      then consider x being object such that
A59:  [x,y] in g and
      x in X by RELAT_1:def 13;
      consider k be Element of NAT such that
A60:  [k,(k-1)*(len s2-1)+1]=[x,y] and
A61:  1<=k and
      k<=len s1 by A59;
      reconsider y9=y as Integer by A60,XTUPLE_0:1;
      (k-1)*(len s2-1)+1=y & k-1>=1-1 by A60,A61,XREAL_1:9,XTUPLE_0:1;
      then y9 in NAT & not y in {0} by A19,INT_1:3,TARSKI:def 1;
      hence y in NAT \ {0} by XBOOLE_0:def 5;
    end;
    then f.:X c= NAT \ {0};
    then the_schreier_series_of(s1,s2) * Sgm fX = the_schreier_series_of(s1,
    s2) * (f * Sgm X) by A30,A58,Lm37
      .= (the_schreier_series_of(s1,s2) * f) * Sgm X by RELAT_1:36
      .= s1 * Sgm X by A36,A37,FUNCT_1:2
      .= s1 * idseq len s1 by FINSEQ_3:48
      .= s1 * id Seg len s1 by FINSEQ_2:def 1
      .= s1 * id dom s1 by FINSEQ_1:def 3;
    hence s1 = the_schreier_series_of(s1,s2) * Sgm fX by A15;
  end;
  hence thesis;
end;
