group_9.miz



    begin

    definition

      let O,E be set;

      let A be Action of O, E;

      let IT be set;

      :: GROUP_9:def1

      pred IT is_stable_under_the_action_of A means for o be Element of O, f be Function of E, E st o in O & f = (A . o) holds (f .: IT) c= IT;

    end

    definition

      let O,E be set;

      let A be Action of O, E;

      let X be Subset of E;

      :: GROUP_9:def2

      func the_stable_subset_generated_by (X,A) -> Subset of E means

      : Def2: X c= it & it is_stable_under_the_action_of A & for Y be Subset of E st Y is_stable_under_the_action_of A & X c= Y holds it c= Y;

      existence

      proof

        defpred P[ set] means ex B be Subset of E st $1 = B & X c= $1 & B is_stable_under_the_action_of A;

        consider XX be set such that

         A1: for Y be set holds Y in XX iff Y in ( bool E) & P[Y] from XFAMILY:sch 1;

        set M = ( meet XX);

        ( [#] E) is_stable_under_the_action_of A;

        then

         A2: E in XX by A1;

        then for x be object st x in M holds x in E by SETFAM_1:def 1;

        then

        reconsider M as Subset of E by TARSKI:def 3;

        take M;

        now

          let x be object;

          assume

           A3: x in X;

          now

            let Y be set;

            assume Y in XX;

            then ex B be Subset of E st Y = B & X c= Y & B is_stable_under_the_action_of A by A1;

            hence x in Y by A3;

          end;

          hence x in M by A2, SETFAM_1:def 1;

        end;

        hence X c= M;

        now

          let o be Element of O;

          let f be Function of E, E;

          assume

           A4: o in O;

          assume

           A5: f = (A . o);

          now

            let y be object;

            assume

             A6: y in (f .: M);

            now

              let Y be set;

              assume

               A7: Y in XX;

              then ex B be Subset of E st Y = B & X c= Y & B is_stable_under_the_action_of A by A1;

              then

               A8: (f .: Y) c= Y by A4, A5;

              (f .: M) c= (f .: Y) by A7, RELAT_1: 123, SETFAM_1: 3;

              then (f .: M) c= Y by A8;

              hence y in Y by A6;

            end;

            hence y in M by A2, SETFAM_1:def 1;

          end;

          hence (f .: M) c= M;

        end;

        hence M is_stable_under_the_action_of A;

        for Y be Subset of E st Y is_stable_under_the_action_of A & X c= Y holds M c= Y by A1, SETFAM_1: 3;

        hence thesis;

      end;

      uniqueness

      proof

        let B1,B2 be Subset of E;

        assume X c= B1 & B1 is_stable_under_the_action_of A & (for Y be Subset of E st Y is_stable_under_the_action_of A & X c= Y holds B1 c= Y) & X c= B2 & (B2 is_stable_under_the_action_of A & for Y be Subset of E st Y is_stable_under_the_action_of A & X c= Y holds B2 c= Y);

        then B1 c= B2 & B2 c= B1;

        hence thesis by XBOOLE_0:def 10;

      end;

    end

    definition

      let O,E be set;

      let A be Action of O, E;

      let F be FinSequence of O;

      :: GROUP_9:def3

      func Product (F,A) -> Function of E, E means

      : Def3: it = ( id E) if ( len F) = 0

      otherwise ex PF be FinSequence of ( Funcs (E,E)) st it = (PF . ( len F)) & ( len PF) = ( len F) & (PF . 1) = (A . (F . 1)) & for n be Nat st n <> 0 & n < ( len F) holds ex f,g be Function of E, E st f = (PF . n) & g = (A . (F . (n + 1))) & (PF . (n + 1)) = (f * g);

      existence

      proof

        per cases ;

          suppose ( len F) = 0 ;

          hence thesis;

        end;

          suppose

           A1: ( len F) <> 0 ;

          defpred P[ Nat] means for F be FinSequence of O st ( len F) = $1 & ( len F) <> 0 holds (ex PF be FinSequence of ( Funcs (E,E)), IT be Function of E, E st IT = (PF . ( len PF)) & ( len PF) = ( len F) & (PF . 1) = (A . (F . 1)) & (for k be Nat st k <> 0 & k < ( len F) holds ex f,g be Function of E, E st f = (PF . k) & g = (A . (F . (k + 1))) & (PF . (k + 1)) = (f * g)));

          

           A2: for k be Nat st P[k] holds P[(k + 1)]

          proof

            let k be Nat;

            assume

             A3: P[k];

            thus P[(k + 1)]

            proof

              let F be FinSequence of O;

              assume that

               A4: ( len F) = (k + 1) and ( len F) <> 0 ;

              reconsider G = (F | ( Seg k)) as FinSequence of O by FINSEQ_1: 18;

              

               A5: ( len G) = k by A4, FINSEQ_3: 53;

              per cases ;

                suppose

                 A6: ( len G) = 0 ;

                set IT = (A . (F . 1));

                1 in ( Seg ( len F)) by A4, A5, A6;

                then 1 in ( dom F) by FINSEQ_1:def 3;

                then (F . 1) in ( rng F) by FUNCT_1: 3;

                then (F . 1) in O;

                then (F . 1) in ( dom A) by FUNCT_2:def 1;

                then

                 A7: IT in ( rng A) by FUNCT_1: 3;

                set f = the Function of E, E;

                reconsider IT as Element of ( Funcs (E,E)) by A7;

                set PF = <*IT*>;

                ex f be Function st IT = f & ( dom f) = E & ( rng f) c= E by FUNCT_2:def 2;

                then

                reconsider IT as Function of E, E by FUNCT_2: 2;

                take PF, IT;

                ( len PF) = 1 by FINSEQ_1: 40;

                hence IT = (PF . ( len PF)) by FINSEQ_1: 40;

                thus ( len PF) = ( len F) by A4, A5, A6, FINSEQ_1: 40;

                thus (PF . 1) = (A . (F . 1)) by FINSEQ_1: 40;

                let k be Nat;

                assume

                 A8: k <> 0 & k < ( len F);

                take f, f;

                thus f = (PF . k) & f = (A . (F . (k + 1))) by A4, A5, A6, A8, NAT_1: 14;

                thus thesis by A4, A5, A6, A8, NAT_1: 14;

              end;

                suppose

                 A9: ( len G) <> 0 ;

                set g = (A . (F . (k + 1)));

                

                 A10: ( 0 + k) <= (k + 1) by XREAL_1: 6;

                

                 A11: ( 0 + 1) < (k + 1) by A5, A9, XREAL_1: 6;

                then

                 A12: 1 <= k by NAT_1: 13;

                then 1 in ( Seg k);

                then 1 in (( Seg (k + 1)) /\ ( Seg k)) by A10, FINSEQ_1: 7;

                then

                 A13: 1 in (( dom F) /\ ( Seg k)) by A4, FINSEQ_1:def 3;

                (k + 1) in ( Seg ( len F)) by A4, A11;

                then (k + 1) in ( dom F) by FINSEQ_1:def 3;

                then (F . (k + 1)) in ( rng F) by FUNCT_1: 3;

                then (F . (k + 1)) in O;

                then (F . (k + 1)) in ( dom A) by FUNCT_2:def 1;

                then g in ( rng A) by FUNCT_1: 3;

                then ex f be Function st g = f & ( dom f) = E & ( rng f) c= E by FUNCT_2:def 2;

                then

                reconsider g as Function of E, E by FUNCT_2: 2;

                consider PFk be FinSequence of ( Funcs (E,E)), ITk be Function of E, E such that ITk = (PFk . ( len PFk)) and

                 A14: ( len PFk) = ( len G) and

                 A15: (PFk . 1) = (A . (G . 1)) and

                 A16: for k be Nat st k <> 0 & k < ( len G) holds ex f,g be Function of E, E st f = (PFk . k) & g = (A . (G . (k + 1))) & (PFk . (k + 1)) = (f * g) by A3, A4, A9, FINSEQ_3: 53;

                set f = (PFk . k);

                k in ( Seg ( len PFk)) by A5, A14, A12;

                then

                 A17: k in ( dom PFk) by FINSEQ_1:def 3;

                then (PFk . k) in ( Funcs (E,E)) by FINSEQ_2: 11;

                then ex f be Function st (PFk . k) = f & ( dom f) = E & ( rng f) c= E by FUNCT_2:def 2;

                then

                reconsider f as Function of E, E by FUNCT_2: 2;

                set IT = (f * g);

                set PF = (PFk ^ <*IT*>);

                IT in ( Funcs (E,E)) by FUNCT_2: 9;

                then <*IT*> is FinSequence of ( Funcs (E,E)) by FINSEQ_1: 74;

                then

                reconsider PF as FinSequence of ( Funcs (E,E)) by FINSEQ_1: 75;

                take PF, IT;

                

                 A18: ( len PF) = (( len G) + ( len <*IT*>)) by A14, FINSEQ_1: 22

                .= (k + 1) by A5, FINSEQ_1: 39;

                then ( len PF) = (( len PFk) + 1) by A4, A14, FINSEQ_3: 53;

                hence

                 A19: IT = (PF . ( len PF)) & ( len PF) = ( len F) by A4, A18, FINSEQ_1: 42;

                ( 0 + 1) < (( len G) + 1) by A9, XREAL_1: 6;

                then 1 <= ( len G) by NAT_1: 13;

                then 1 in ( Seg ( len PFk)) by A14;

                then 1 in ( dom PFk) by FINSEQ_1:def 3;

                then (PF . 1) = (A . (G . 1)) by A15, FINSEQ_1:def 7;

                hence (PF . 1) = (A . (F . 1)) by A13, FUNCT_1: 48;

                let n be Nat;

                assume

                 A20: n <> 0 ;

                assume n < ( len F);

                then

                 A21: n <= k by A4, NAT_1: 13;

                per cases ;

                  suppose

                   A22: n >= k;

                  then (A . (F . (n + 1))) = g by A21, XXREAL_0: 1;

                  then

                  reconsider g9 = (A . (F . (n + 1))) as Function of E, E;

                  

                   A23: n = k by A21, A22, XXREAL_0: 1;

                  then

                  reconsider f9 = (PF . n) as Function of E, E by A17, FINSEQ_1:def 7;

                  take f9, g9;

                  thus f9 = (PF . n) & g9 = (A . (F . (n + 1)));

                  thus thesis by A17, A18, A19, A23, FINSEQ_1:def 7;

                end;

                  suppose

                   A24: n < k;

                  

                   A25: ( 0 + 1) < (n + 1) by A20, XREAL_1: 6;

                  then 1 <= n by NAT_1: 13;

                  then n in ( Seg ( len PFk)) by A5, A14, A24;

                  then

                   A26: n in ( dom PFk) by FINSEQ_1:def 3;

                  consider f9,g9 be Function of E, E such that

                   A27: f9 = (PFk . n) & g9 = (A . (G . (n + 1))) and

                   A28: (PFk . (n + 1)) = (f9 * g9) by A5, A16, A20, A24;

                  take f9, g9;

                  

                   A29: ( 0 + k) <= (1 + k) by XREAL_1: 6;

                  

                   A30: (n + 1) <= k by A24, NAT_1: 13;

                  then (n + 1) in ( Seg k) by A25;

                  then (n + 1) in (( Seg (k + 1)) /\ ( Seg k)) by A29, FINSEQ_1: 7;

                  then (n + 1) in (( dom F) /\ ( Seg k)) by A4, FINSEQ_1:def 3;

                  hence f9 = (PF . n) & g9 = (A . (F . (n + 1))) by A27, A26, FINSEQ_1:def 7, FUNCT_1: 48;

                  (n + 1) in ( Seg ( len PFk)) by A5, A14, A25, A30;

                  then (n + 1) in ( dom PFk) by FINSEQ_1:def 3;

                  hence thesis by A28, FINSEQ_1:def 7;

                end;

              end;

            end;

          end;

          

           A31: P[ 0 ];

          for k be Nat holds P[k] from NAT_1:sch 2( A31, A2);

          then ex PF be FinSequence of ( Funcs (E,E)), IT be Function of E, E st IT = (PF . ( len PF)) & ( len PF) = ( len F) & (PF . 1) = (A . (F . 1)) & for k be Nat st k <> 0 & k < ( len F) holds ex f,g be Function of E, E st f = (PF . k) & g = (A . (F . (k + 1))) & (PF . (k + 1)) = (f * g) by A1;

          hence thesis;

        end;

      end;

      uniqueness

      proof

        now

          let IT1,IT2 be Function of E, E;

          given PF1 be FinSequence of ( Funcs (E,E)) such that

           A32: IT1 = (PF1 . ( len F)) and

           A33: ( len PF1) = ( len F) and

           A34: (PF1 . 1) = (A . (F . 1)) and

           A35: for k be Nat st k <> 0 & k < ( len F) holds ex f,g be Function of E, E st f = (PF1 . k) & g = (A . (F . (k + 1))) & (PF1 . (k + 1)) = (f * g);

          given PF2 be FinSequence of ( Funcs (E,E)) such that

           A36: IT2 = (PF2 . ( len F)) & ( len PF2) = ( len F) and

           A37: (PF2 . 1) = (A . (F . 1)) and

           A38: for k be Nat st k <> 0 & k < ( len F) holds ex f,g be Function of E, E st f = (PF2 . k) & g = (A . (F . (k + 1))) & (PF2 . (k + 1)) = (f * g);

          defpred P[ Nat] means 1 <= $1 & $1 <= ( len PF1) implies (PF1 . $1) = (PF2 . $1);

          

           A39: for k be Nat st P[k] holds P[(k + 1)]

          proof

            let k be Nat;

            assume

             A40: P[k];

            now

              assume 1 <= (k + 1);

              assume

               A41: (k + 1) <= ( len PF1);

              then

               A42: k < ( len PF1) by NAT_1: 13;

              per cases ;

                suppose k = 0 ;

                hence (PF1 . (k + 1)) = (PF2 . (k + 1)) by A34, A37;

              end;

                suppose

                 A43: k <> 0 ;

                then

                 A44: ( 0 + 1) < (k + 1) by XREAL_1: 6;

                (ex f1,g1 be Function of E, E st f1 = (PF1 . k) & g1 = (A . (F . (k + 1))) & (PF1 . (k + 1)) = (f1 * g1)) & ex f2,g2 be Function of E, E st f2 = (PF2 . k) & g2 = (A . (F . (k + 1))) & (PF2 . (k + 1)) = (f2 * g2) by A33, A35, A38, A42, A43;

                hence (PF1 . (k + 1)) = (PF2 . (k + 1)) by A40, A41, A44, NAT_1: 13;

              end;

            end;

            hence thesis;

          end;

          

           A45: P[ 0 ];

          for k be Nat holds P[k] from NAT_1:sch 2( A45, A39);

          hence IT1 = IT2 by A32, A33, A36, FINSEQ_1: 14;

        end;

        hence thesis;

      end;

      consistency ;

    end

    definition

      let O be set;

      let G be Group;

      let IT be Action of O, the carrier of G;

      :: GROUP_9:def4

      attr IT is distributive means for o be Element of O st o in O holds (IT . o) is Homomorphism of G, G;

    end

    definition

      let O be set;

      struct ( multMagma) HGrWOpStr over O (# the carrier -> set,

the multF -> BinOp of the carrier,

the action -> Action of O, the carrier #)

       attr strict strict;

    end

    registration

      let O be set;

      cluster non empty for HGrWOpStr over O;

      existence

      proof

        set A = the non empty set, m = the BinOp of A, h = the Action of O, A;

        take HGrWOpStr (# A, m, h #);

        thus thesis;

      end;

    end

    definition

      let O be set;

      let IT be non empty HGrWOpStr over O;

      :: GROUP_9:def5

      attr IT is distributive means

      : Def5: for G be Group, a be Action of O, the carrier of G st a = the action of IT & the multMagma of G = the multMagma of IT holds a is distributive;

    end

    

     Lm1: for O,E be set holds [:O, {( id E)}:] is Action of O, E

    proof

      let O,E be set;

      set h = [:O, {( id E)}:];

      now

        let x be object;

        assume x in {( id E)};

        then

        reconsider f = x as Function of E, E by TARSKI:def 1;

        f in ( Funcs (E,E)) by FUNCT_2: 9;

        hence x in ( Funcs (E,E));

      end;

      then {( id E)} c= ( Funcs (E,E));

      then

      reconsider h as Relation of O, ( Funcs (E,E)) by ZFMISC_1: 95;

       A1:

      now

        thus (( Funcs (E,E)) = {} implies O = {} ) implies O = ( dom h)

        proof

          assume ( Funcs (E,E)) = {} implies O = {} ;

          now

            let x be object;

            assume

             A2: x in O;

            reconsider y = ( id E) as object;

            take y;

            y in {( id E)} by TARSKI:def 1;

            hence [x, y] in h by A2, ZFMISC_1:def 2;

          end;

          hence thesis by RELSET_1: 9;

        end;

        assume O = {} ;

        hence h = {} ;

      end;

      now

        let x,y1,y2 be object;

        assume that

         A3: [x, y1] in h and

         A4: [x, y2] in h;

        consider x9,y9 be object such that x9 in O and

         A5: y9 in {( id E)} & [x, y1] = [x9, y9] by A3, ZFMISC_1:def 2;

        

         A6: y9 = ( id E) & y1 = y9 by A5, TARSKI:def 1, XTUPLE_0: 1;

        consider x99,y99 be object such that x99 in O and

         A7: y99 in {( id E)} and

         A8: [x, y2] = [x99, y99] by A4, ZFMISC_1:def 2;

        y99 = ( id E) by A7, TARSKI:def 1;

        hence y1 = y2 by A8, A6, XTUPLE_0: 1;

      end;

      then

      reconsider h as PartFunc of O, ( Funcs (E,E)) by FUNCT_1:def 1;

      h is Action of O, E by A1, FUNCT_2:def 1;

      hence thesis;

    end;

    

     Lm2: for O be set, G be strict Group holds ex H be non empty HGrWOpStr over O st H is strict distributive Group-like associative & G = the multMagma of H

    proof

      let O be set;

      let G be strict Group;

      reconsider h = [:O, {( id the carrier of G)}:] as Action of O, the carrier of G by Lm1;

      set A = the carrier of G;

      set m = the multF of G;

      set GO = HGrWOpStr (# A, m, h #);

      reconsider GO as non empty HGrWOpStr over O;

      reconsider G9 = GO as non empty multMagma;

       A1:

      now

        set e = ( 1_ G);

        reconsider e9 = e as Element of G9;

        take e9;

        let h9 be Element of G9;

        reconsider h = h9 as Element of G;

        set g = (h " );

        reconsider g9 = g as Element of G9;

        (h9 * e9) = (h * e)

        .= h by GROUP_1:def 4;

        hence (h9 * e9) = h9;

        (e9 * h9) = (e * h)

        .= h by GROUP_1:def 4;

        hence (e9 * h9) = h9;

        take g9;

        (h9 * g9) = (h * g)

        .= ( 1_ G) by GROUP_1:def 5;

        hence (h9 * g9) = e9;

        (g9 * h9) = (g * h)

        .= ( 1_ G) by GROUP_1:def 5;

        hence (g9 * h9) = e9;

      end;

      take GO;

       A2:

      now

        let G99 be Group;

        let a be Action of O, the carrier of G99;

        assume

         A3: a = the action of GO;

        assume

         A4: the multMagma of G99 = the multMagma of GO;

        now

          let o be Element of O;

          assume o in O;

          then o in ( dom h) by FUNCT_2:def 1;

          then [o, (h . o)] in [:O, {( id the carrier of G99)}:] by A4, FUNCT_1: 1;

          then

          consider x,y be object such that x in O and

           A5: y in {( id the carrier of G99)} & [o, (h . o)] = [x, y] by ZFMISC_1:def 2;

          y = ( id the carrier of G99) & (h . o) = y by A5, TARSKI:def 1, XTUPLE_0: 1;

          hence (a . o) is Homomorphism of G99, G99 by A3, GROUP_6: 38;

        end;

        hence a is distributive;

      end;

      now

        let x9,y9,z9 be Element of G9;

        reconsider x = x9, y = y9, z = z9 as Element of G;

        ((x9 * y9) * z9) = ((x * y) * z)

        .= (x * (y * z)) by GROUP_1:def 3;

        hence ((x9 * y9) * z9) = (x9 * (y9 * z9));

      end;

      hence thesis by A1, A2, GROUP_1:def 2, GROUP_1:def 3;

    end;

    registration

      let O be set;

      cluster strict distributive Group-like associative for non empty HGrWOpStr over O;

      existence

      proof

        set G = the strict Group;

        consider H be non empty HGrWOpStr over O such that

         A1: H is strict distributive Group-like associative and the multMagma of H = G by Lm2;

        take H;

        thus thesis by A1;

      end;

    end

    definition

      let O be set;

      mode GroupWithOperators of O is distributive Group-like associative non empty HGrWOpStr over O;

    end

    definition

      let O be set;

      let G be GroupWithOperators of O;

      let o be Element of O;

      :: GROUP_9:def6

      func G ^ o -> Homomorphism of G, G equals

      : Def6: (the action of G . o) if o in O

      otherwise ( id the carrier of G);

      correctness

      proof

        now

          assume

           A1: o in O;

          consider G9 be Group such that

           A2: the multMagma of G9 = the multMagma of G;

          reconsider a = the action of G as Action of O, the carrier of G9 by A2;

          a is distributive by A2, Def5;

          then

          reconsider f9 = (a . o) as Homomorphism of G9, G9 by A1;

          reconsider f = f9 as Function of G, G by A2;

          now

            let g1,g2 be Element of G;

            reconsider g19 = g1, g29 = g2 as Element of G9 by A2;

            (f . (g1 * g2)) = (f9 . (g19 * g29)) by A2

            .= ((f9 . g19) * (f9 . g29)) by GROUP_6:def 6

            .= (the multF of G . ((f . g1),(f . g2))) by A2;

            hence (f . (g1 * g2)) = ((f . g1) * (f . g2));

          end;

          hence (the action of G . o) is Homomorphism of G, G by GROUP_6:def 6;

        end;

        hence thesis by GROUP_6: 38;

      end;

    end

    definition

      let O be set;

      let G be GroupWithOperators of O;

      :: GROUP_9:def7

      mode StableSubgroup of G -> distributive Group-like associative non empty HGrWOpStr over O means

      : Def7: it is Subgroup of G & for o be Element of O holds (it ^ o) = ((G ^ o) | the carrier of it );

      correctness

      proof

        set H = G;

        take H;

        thus thesis by GROUP_2: 54;

      end;

    end

    

     Lm3: for O be set, G be GroupWithOperators of O holds the HGrWOpStr of G is StableSubgroup of G

    proof

      let O be set;

      let G be GroupWithOperators of O;

      reconsider G9 = the HGrWOpStr of G as non empty multMagma;

       A1:

      now

        set e = ( 1_ G);

        reconsider e9 = e as Element of G9;

        take e9;

        let h9 be Element of G9;

        reconsider h = h9 as Element of G;

        set g = (h " );

        reconsider g9 = g as Element of G9;

        (h9 * e9) = (h * e)

        .= h by GROUP_1:def 4;

        hence (h9 * e9) = h9;

        (e9 * h9) = (e * h)

        .= h by GROUP_1:def 4;

        hence (e9 * h9) = h9;

        take g9;

        (h9 * g9) = (h * g)

        .= ( 1_ G) by GROUP_1:def 5;

        hence (h9 * g9) = e9;

        (g9 * h9) = (g * h)

        .= ( 1_ G) by GROUP_1:def 5;

        hence (g9 * h9) = e9;

      end;

      now

        let x9,y9,z9 be Element of G9;

        reconsider x = x9, y = y9, z = z9 as Element of G;

        ((x9 * y9) * z9) = ((x * y) * z)

        .= (x * (y * z)) by GROUP_1:def 3;

        hence ((x9 * y9) * z9) = (x9 * (y9 * z9));

      end;

      then

      reconsider G9 as strict Group-like associative non empty HGrWOpStr over O by A1, GROUP_1:def 2, GROUP_1:def 3;

      for G be Group, a be Action of O, the carrier of G st a = the action of G9 & the multMagma of G = the multMagma of G9 holds a is distributive by Def5;

      then

      reconsider G9 as distributive Group-like associative non empty HGrWOpStr over O by Def5;

       A2:

      now

        let o be Element of O;

         A3:

        now

          per cases ;

            suppose

             A4: o in O;

            then (G9 ^ o) = (the action of G9 . o) by Def6;

            hence (G9 ^ o) = (G ^ o) by A4, Def6;

          end;

            suppose

             A5: not o in O;

            then (G9 ^ o) = ( id the carrier of G9) by Def6;

            hence (G9 ^ o) = (G ^ o) by A5, Def6;

          end;

        end;

        thus (G9 ^ o) = ((G ^ o) | the carrier of G9) by A3;

      end;

      the multF of G9 = (the multF of G || the carrier of G9);

      then G9 is Subgroup of G by GROUP_2:def 5;

      hence thesis by A2, Def7;

    end;

    registration

      let O be set;

      let G be GroupWithOperators of O;

      cluster strict for StableSubgroup of G;

      correctness

      proof

        reconsider G9 = the HGrWOpStr of G as StableSubgroup of G by Lm3;

        take G9;

        thus thesis;

      end;

    end

    

     Lm4: for O be set, G be GroupWithOperators of O, H1,H2 be strict StableSubgroup of G st the carrier of H1 = the carrier of H2 holds H1 = H2

    proof

      let O be set;

      let G be GroupWithOperators of O;

      let H1,H2 be strict StableSubgroup of G;

      reconsider H19 = H1, H29 = H2 as Subgroup of G by Def7;

      

       A1: ( dom the action of H2) = O by FUNCT_2:def 1

      .= ( dom the action of H1) by FUNCT_2:def 1;

      assume

       A2: the carrier of H1 = the carrier of H2;

       A3:

      now

        let x be object;

        assume

         A4: x in ( dom the action of H2);

        then

        reconsider o = x as Element of O;

        

         A5: (H1 ^ o) = (the action of H1 . o) by A4, Def6;

        (H1 ^ o) = ((G ^ o) | the carrier of H2) by A2, Def7

        .= (H2 ^ o) by Def7;

        hence (the action of H1 . x) = (the action of H2 . x) by A4, A5, Def6;

      end;

       the multMagma of H19 = the multMagma of H29 by A2, GROUP_2: 59;

      hence thesis by A1, A3, FUNCT_1: 2;

    end;

    definition

      let O be set;

      let G be GroupWithOperators of O;

      :: GROUP_9:def8

      func (1). G -> strict StableSubgroup of G means

      : Def8: the carrier of it = {( 1_ G)};

      existence

      proof

        set G9 = ( (1). G);

        consider H be non empty HGrWOpStr over O such that

         A1: H is strict distributive Group-like associative and

         A2: G9 = the multMagma of H by Lm2;

        reconsider H as strict GroupWithOperators of O by A1;

        

         A3: the carrier of H c= the carrier of G by A2, GROUP_2:def 5;

        the multF of H = (the multF of G || the carrier of H) by A2, GROUP_2:def 5;

        then

         A4: H is Subgroup of G by A3, GROUP_2:def 5;

        now

          let o be Element of O;

          reconsider f9 = (H ^ o), f = ((G ^ o) | the carrier of H) as Function;

          

           A5: ( dom f) = ( dom ((G ^ o) * ( id the carrier of H))) by RELAT_1: 65

          .= (( dom (G ^ o)) /\ the carrier of H) by FUNCT_1: 19

          .= (the carrier of G /\ the carrier of H) by FUNCT_2:def 1

          .= the carrier of ( (1). G) by A2, A3, XBOOLE_1: 28;

           A6:

          now

            let x be object;

            assume

             A7: x in ( dom f);

            then

             A8: x in ( dom ( id the carrier of H)) by A2, A5;

            x in {( 1_ G)} by A5, A7, GROUP_2:def 7;

            then

             A9: x = ( 1_ G) by TARSKI:def 1;

            then x = ( 1_ H) by A4, GROUP_2: 44;

            then

             A10: (f9 . x) = ( 1_ H) by GROUP_6: 31;

            (f . x) = (((G ^ o) * ( id the carrier of H)) . x) by RELAT_1: 65

            .= ((G ^ o) . (( id the carrier of H) . x)) by A8, FUNCT_1: 13

            .= ((G ^ o) . x) by A2, A5, A7, FUNCT_1: 18

            .= ( 1_ G) by A9, GROUP_6: 31;

            hence (f . x) = (f9 . x) by A4, A10, GROUP_2: 44;

          end;

          ( dom f9) = the carrier of ( (1). G) by A2, FUNCT_2:def 1;

          hence (H ^ o) = ((G ^ o) | the carrier of H) by A5, A6, FUNCT_1: 2;

        end;

        then

        reconsider H as strict StableSubgroup of G by A4, Def7;

        take H;

        thus thesis by A2, GROUP_2:def 7;

      end;

      uniqueness by Lm4;

    end

    definition

      let O be set;

      let G be GroupWithOperators of O;

      :: GROUP_9:def9

      func (Omega). G -> strict StableSubgroup of G equals the HGrWOpStr of G;

      correctness by Lm3;

    end

    definition

      let O be set;

      let G be GroupWithOperators of O;

      let IT be StableSubgroup of G;

      :: GROUP_9:def10

      attr IT is normal means

      : Def10: for H be strict Subgroup of G st H = the multMagma of IT holds H is normal;

    end

    registration

      let O be set;

      let G be GroupWithOperators of O;

      cluster strict normal for StableSubgroup of G;

      existence

      proof

        set H = ( (1). G);

        set H9 = H;

        reconsider H as StableSubgroup of G;

        take H9;

        now

          reconsider G9 = G as Group;

          let H99 be strict Subgroup of G;

          assume

           A1: H99 = the multMagma of H;

          

           A2: the multF of ( (1). G9) = (the multF of G9 || the carrier of ( (1). G9)) by GROUP_2:def 5;

          the carrier of ( (1). G9) = {( 1_ G9)} by GROUP_2:def 7

          .= the carrier of ( (1). G) by Def8;

          hence H99 is normal by A1, A2, GROUP_2:def 5;

        end;

        hence thesis;

      end;

    end

    registration

      let O be set;

      let G be GroupWithOperators of O;

      let H be StableSubgroup of G;

      cluster normal for StableSubgroup of H;

      existence

      proof

        reconsider H9 = ( (1). H) as GroupWithOperators of O;

        reconsider H9 as StableSubgroup of H;

        take H9;

        now

          let H99 be strict Subgroup of H;

          reconsider H as Group;

          assume the multMagma of H9 = H99;

          then the carrier of H99 = {( 1_ H)} by Def8;

          then H99 = ( (1). H) by GROUP_2:def 7;

          hence H99 is normal;

        end;

        hence thesis;

      end;

    end

    registration

      let O be set;

      let G be GroupWithOperators of O;

      cluster ( (1). G) -> normal;

      correctness

      proof

        now

          reconsider G9 = G as Group;

          let H be strict Subgroup of G;

          reconsider H9 = H as strict Subgroup of G9;

          assume H = the multMagma of ( (1). G);

          then the carrier of H = {( 1_ G)} by Def8;

          then H9 = ( (1). G9) by GROUP_2:def 7;

          hence H is normal;

        end;

        hence thesis;

      end;

      cluster ( (Omega). G) -> normal;

      correctness

      proof

        now

          reconsider G9 = G as Group;

          let H be strict Subgroup of G;

          reconsider H9 = H as strict Subgroup of G9;

          assume H = the multMagma of ( (Omega). G);

          then H9 = ( (Omega). G9);

          hence H is normal;

        end;

        hence thesis;

      end;

    end

    definition

      let O be set;

      let G be GroupWithOperators of O;

      :: GROUP_9:def11

      func the_stable_subgroups_of G -> set means

      : Def11: for x be object holds x in it iff x is strict StableSubgroup of G;

      existence

      proof

        defpred P[ object, object] means ex H be strict StableSubgroup of G st $2 = H & $1 = the carrier of H;

        defpred P[ set] means ex H be strict StableSubgroup of G st $1 = the carrier of H;

        consider B be set such that

         A1: for x be set holds x in B iff x in ( bool the carrier of G) & P[x] from XFAMILY:sch 1;

        

         A2: for x,y1,y2 be object st P[x, y1] & P[x, y2] holds y1 = y2 by Lm4;

        consider f be Function such that

         A3: for x,y be object holds [x, y] in f iff x in B & P[x, y] from FUNCT_1:sch 1( A2);

        for x be object holds x in B iff ex y be object st [x, y] in f

        proof

          let x be object;

          thus x in B implies ex y be object st [x, y] in f

          proof

            assume

             A4: x in B;

            then

            consider H be strict StableSubgroup of G such that

             A5: x = the carrier of H by A1;

            reconsider y = H as object;

            take y;

            thus thesis by A3, A4, A5;

          end;

          given y be object such that

           A6: [x, y] in f;

          thus thesis by A3, A6;

        end;

        then

         A7: B = ( dom f) by XTUPLE_0:def 12;

        for y be object holds y in ( rng f) iff y is strict StableSubgroup of G

        proof

          let y be object;

          thus y in ( rng f) implies y is strict StableSubgroup of G

          proof

            assume y in ( rng f);

            then

            consider x be object such that

             A8: x in ( dom f) & y = (f . x) by FUNCT_1:def 3;

             [x, y] in f by A8, FUNCT_1:def 2;

            then ex H be strict StableSubgroup of G st y = H & x = the carrier of H by A3;

            hence thesis;

          end;

          assume y is strict StableSubgroup of G;

          then

          reconsider H = y as strict StableSubgroup of G;

          reconsider x = the carrier of H as set;

          

           A9: y is set by TARSKI: 1;

          H is Subgroup of G by Def7;

          then the carrier of H c= the carrier of G by GROUP_2:def 5;

          then

           A10: x in ( dom f) by A1, A7;

          then [x, y] in f by A3, A7;

          then y = (f . x) by A10, FUNCT_1:def 2, A9;

          hence thesis by A10, FUNCT_1:def 3;

        end;

        hence thesis;

      end;

      uniqueness

      proof

        defpred P[ object] means $1 is strict StableSubgroup of G;

        let A1,A2 be set;

        assume

         A11: for x be object holds x in A1 iff P[x];

        assume

         A12: for x be object holds x in A2 iff P[x];

        thus thesis from XBOOLE_0:sch 2( A11, A12);

      end;

    end

    registration

      let O be set;

      let G be GroupWithOperators of O;

      cluster ( the_stable_subgroups_of G) -> non empty;

      correctness

      proof

        ( (1). G) in ( the_stable_subgroups_of G) by Def11;

        hence thesis;

      end;

    end

    definition

      let IT be Group;

      :: GROUP_9:def12

      attr IT is simple means not IT is trivial & not ex H be strict normal Subgroup of IT st H <> ( (Omega). IT) & H <> ( (1). IT);

    end

    

     Lm5: ( Group_of_Perm 2) is simple

    proof

      set G = ( Group_of_Perm 2);

       A1:

      now

        let H be strict normal Subgroup of G;

        assume

         A2: H <> ( (Omega). G);

        assume

         A3: H <> ( (1). G);

        ( 1_ G) in H by GROUP_2: 46;

        then ( 1_ G) in the carrier of H by STRUCT_0:def 5;

        then {( 1_ G)} c= the carrier of H by ZFMISC_1: 31;

        then { <*1, 2*>} c= the carrier of H by FINSEQ_2: 52, MATRIX_1: 15;

        then

         A4: <*1, 2*> in the carrier of H by ZFMISC_1: 31;

        the carrier of H c= the carrier of G by GROUP_2:def 5;

        then

         A5: the carrier of H c= { <*1, 2*>, <*2, 1*>} by MATRIX_1:def 13, MATRIX_7: 3;

        per cases by A5, ZFMISC_1: 36;

          suppose the carrier of H = {} ;

          hence contradiction;

        end;

          suppose the carrier of H = { <*1, 2*>};

          then {( 1_ G)} = the carrier of H by FINSEQ_2: 52, MATRIX_1: 15;

          hence contradiction by A3, GROUP_2:def 7;

        end;

          suppose the carrier of H = { <*2, 1*>};

          then ( <*2, 1*> . 1) = ( <*1, 2*> . 1) by A4, TARSKI:def 1;

          then 2 = ( <*1, 2*> . 1) by FINSEQ_1: 44;

          hence contradiction by FINSEQ_1: 44;

        end;

          suppose the carrier of H = { <*1, 2*>, <*2, 1*>};

          then the carrier of H = the carrier of G by MATRIX_1:def 13, MATRIX_7: 3;

          hence contradiction by A2, GROUP_2: 61;

        end;

      end;

      now

        assume G is trivial;

        then

        consider e be object such that

         A6: the carrier of G = {e};

        ( Permutations 2) = {e} by A6, MATRIX_1:def 13;

        then <*2, 1*> = <*1, 2*> by MATRIX_7: 3, ZFMISC_1: 5;

        then 2 = ( <*1, 2*> . 1) by FINSEQ_1: 44;

        hence contradiction by FINSEQ_1: 44;

      end;

      hence thesis by A1;

    end;

    registration

      cluster strict simple for Group;

      existence by Lm5;

    end

    definition

      let O be set;

      let IT be GroupWithOperators of O;

      :: GROUP_9:def13

      attr IT is simple means

      : Def13: not IT is trivial & not ex H be strict normal StableSubgroup of IT st H <> ( (Omega). IT) & H <> ( (1). IT);

    end

    

     Lm6: for O be set, G be GroupWithOperators of O, N be normal StableSubgroup of G holds the multMagma of N is strict normal Subgroup of G

    proof

      let O be set;

      let G be GroupWithOperators of O;

      let N be normal StableSubgroup of G;

      set H = the multMagma of N;

      reconsider H as non empty multMagma;

      now

        set e = ( 1_ N);

        reconsider e9 = e as Element of H;

        take e9;

        let h9 be Element of H;

        reconsider h = h9 as Element of N;

        set g = (h " );

        reconsider g9 = g as Element of H;

        (h9 * e9) = (h * e)

        .= h by GROUP_1:def 4;

        hence (h9 * e9) = h9;

        (e9 * h9) = (e * h)

        .= h by GROUP_1:def 4;

        hence (e9 * h9) = h9;

        take g9;

        (h9 * g9) = (h * g)

        .= ( 1_ N) by GROUP_1:def 5;

        hence (h9 * g9) = e9;

        (g9 * h9) = (g * h)

        .= ( 1_ N) by GROUP_1:def 5;

        hence (g9 * h9) = e9;

      end;

      then

      reconsider H as Group-like non empty multMagma by GROUP_1:def 2;

      N is Subgroup of G by Def7;

      then the carrier of H c= the carrier of G & the multF of H = (the multF of G || the carrier of H) by GROUP_2:def 5;

      then

      reconsider H as Subgroup of G by GROUP_2:def 5;

      H is normal by Def10;

      hence thesis;

    end;

    

     Lm7: for G1,G2 be Group, A1 be Subset of G1, A2 be Subset of G2, H1 be strict Subgroup of G1, H2 be strict Subgroup of G2 st the multMagma of G1 = the multMagma of G2 & A1 = A2 & H1 = H2 holds (A1 * H1) = (A2 * H2) & (H1 * A1) = (H2 * A2)

    proof

      let G1,G2 be Group;

      let A1 be Subset of G1;

      let A2 be Subset of G2;

      let H1 be strict Subgroup of G1;

      let H2 be strict Subgroup of G2;

      assume

       A1: the multMagma of G1 = the multMagma of G2;

       A2:

      now

        let A1,B1 be Subset of G1;

        let A2,B2 be Subset of G2;

        set X = { (g * h) where g,h be Element of G1 : g in A1 & h in B1 };

        set Y = { (g * h) where g,h be Element of G2 : g in A2 & h in B2 };

        assume

         A3: A1 = A2 & B1 = B2;

         A4:

        now

          let x be object;

          assume x in X;

          then

          consider g,h be Element of G1 such that

           A5: x = (g * h) & g in A1 & h in B1;

          set h9 = h;

          set g9 = g;

          reconsider g9, h9 as Element of G2 by A1;

          (g * h) = (g9 * h9) by A1;

          hence x in Y by A3, A5;

        end;

        now

          let x be object;

          assume x in Y;

          then

          consider g,h be Element of G2 such that

           A6: x = (g * h) & g in A2 & h in B2;

          reconsider g9 = g, h9 = h as Element of G1 by A1;

          (g * h) = (g9 * h9) by A1;

          hence x in X by A3, A6;

        end;

        hence X = Y by A4, TARSKI: 2;

      end;

      assume

       A7: A1 = A2;

      assume

       A8: H1 = H2;

      hence (A1 * H1) = (A2 * H2) by A7, A2;

      thus thesis by A7, A8, A2;

    end;

    registration

      let O be set;

      cluster strict simple for GroupWithOperators of O;

      existence

      proof

        set Gp2 = ( Group_of_Perm 2);

        consider G be non empty HGrWOpStr over O such that

         A1: G is strict distributive Group-like associative and

         A2: Gp2 = the multMagma of G by Lm2;

        reconsider G as strict GroupWithOperators of O by A1;

        take G;

        now

          assume

           A3: not G is simple;

          per cases by A3;

            suppose G is trivial;

            hence contradiction by A2, Lm5;

          end;

            suppose

             A4: ex H be strict normal StableSubgroup of G st H <> ( (Omega). G) & H <> ( (1). G);

            reconsider G9 = G as Group;

            consider H be strict normal StableSubgroup of G such that

             A5: H <> ( (Omega). G) and

             A6: H <> ( (1). G) by A4;

            reconsider H9 = the multMagma of H as strict normal Subgroup of G by Lm6;

            reconsider H9 as strict normal Subgroup of G9;

            set H99 = H9;

            the carrier of H99 c= the carrier of G9 & the multF of H99 = (the multF of G9 || the carrier of H99) by GROUP_2:def 5;

            then

            reconsider H99 as strict Subgroup of Gp2 by A2, GROUP_2:def 5;

            now

              let A be Subset of Gp2;

              reconsider A9 = A as Subset of G9 by A2;

              (A * H99) = (A9 * H9) by A2, Lm7

              .= (H9 * A9) by GROUP_3: 120;

              hence (A * H99) = (H99 * A) by A2, Lm7;

            end;

            then

            reconsider H99 as strict normal Subgroup of Gp2 by GROUP_3: 120;

             A7:

            now

              reconsider e = ( 1_ Gp2) as Element of G by A2;

               A8:

              now

                let h be Element of G;

                reconsider h9 = h as Element of Gp2 by A2;

                (h * e) = (h9 * ( 1_ Gp2)) by A2

                .= h9 by GROUP_1:def 4;

                hence (h * e) = h;

                (e * h) = (( 1_ Gp2) * h9) by A2

                .= h9 by GROUP_1:def 4;

                hence (e * h) = h;

              end;

              assume H99 = ( (1). Gp2);

              then the carrier of H99 = {( 1_ Gp2)} by GROUP_2:def 7;

              then the carrier of H = {( 1_ G)} by A8, GROUP_1:def 4;

              hence contradiction by A6, Def8;

            end;

            H99 <> ( (Omega). Gp2) by A2, A5, Lm4;

            hence contradiction by A7, Lm5;

          end;

        end;

        hence thesis;

      end;

    end

    definition

      let O be set;

      let G be GroupWithOperators of O;

      let N be normal StableSubgroup of G;

      :: GROUP_9:def14

      func Cosets N -> set means

      : Def14: for H be strict normal Subgroup of G st H = the multMagma of N holds it = ( Cosets H);

      existence

      proof

        reconsider H = the multMagma of N as strict normal Subgroup of G by Lm6;

        set x = ( Cosets H);

        take x;

        let H be strict normal Subgroup of G;

        assume H = the multMagma of N;

        hence thesis;

      end;

      uniqueness

      proof

        reconsider H = the multMagma of N as strict normal Subgroup of G by Lm6;

        let y1,y2 be set;

        assume for H be strict normal Subgroup of G st H = the multMagma of N holds y1 = ( Cosets H);

        then

         A1: y1 = ( Cosets H);

        assume for H be strict normal Subgroup of G st H = the multMagma of N holds y2 = ( Cosets H);

        hence thesis by A1;

      end;

    end

    definition

      let O be set;

      let G be GroupWithOperators of O;

      let N be normal StableSubgroup of G;

      :: GROUP_9:def15

      func CosOp N -> BinOp of ( Cosets N) means

      : Def15: for H be strict normal Subgroup of G st H = the multMagma of N holds it = ( CosOp H);

      existence

      proof

        reconsider H = the multMagma of N as strict normal Subgroup of G by Lm6;

        ( Cosets N) = ( Cosets H) by Def14;

        then

        reconsider x = ( CosOp H) as BinOp of ( Cosets N);

        take x;

        let H be strict normal Subgroup of G;

        assume H = the multMagma of N;

        hence thesis;

      end;

      uniqueness

      proof

        reconsider H = the multMagma of N as strict normal Subgroup of G by Lm6;

        let y1,y2 be BinOp of ( Cosets N);

        assume for H be strict normal Subgroup of G st H = the multMagma of N holds y1 = ( CosOp H);

        then

         A1: y1 = ( CosOp H);

        assume for H be strict normal Subgroup of G st H = the multMagma of N holds y2 = ( CosOp H);

        hence y1 = y2 by A1;

      end;

    end

    

     Lm8: for G be Group, N be normal Subgroup of G, A be Element of ( Cosets N), g be Element of G holds g in A iff A = (g * N)

    proof

      let G be Group;

      let N be normal Subgroup of G;

      let A be Element of ( Cosets N);

      let g be Element of G;

      hereby

        consider a be Element of G such that

         A1: A = (a * N) by GROUP_2:def 15;

        assume g in A;

        then

        consider h be Element of G such that

         A2: g = (a * h) and

         A3: h in N by A1, GROUP_2: 103;

        ((g " ) * a) = (((h " ) * (a " )) * a) by A2, GROUP_1: 17

        .= ((h " ) * ((a " ) * a)) by GROUP_1:def 3

        .= ((h " ) * ( 1_ G)) by GROUP_1:def 5

        .= (h " ) by GROUP_1:def 4;

        then ((g " ) * a) in N by A3, GROUP_2: 51;

        hence A = (g * N) by A1, GROUP_2: 114;

      end;

      g = (g * ( 1_ G)) & ( 1_ G) in N by GROUP_1:def 4, GROUP_2: 46;

      hence thesis by GROUP_2: 103;

    end;

    

     Lm9: for O be set, o be Element of O, G be GroupWithOperators of O, H be StableSubgroup of G, g be Element of G st g in H holds ((G ^ o) . g) in H

    proof

      let O be set;

      let o be Element of O;

      let G be GroupWithOperators of O;

      let H be StableSubgroup of G;

      let g be Element of G;

      set f = (G ^ o);

      assume g in H;

      then

       A1: g in the carrier of H by STRUCT_0:def 5;

      then (f . g) = ((f | the carrier of H) . g) by FUNCT_1: 49;

      then

       A2: (f . g) = ((H ^ o) . g) by Def7;

      ((H ^ o) . g) in the carrier of H by A1, FUNCT_2: 5;

      hence thesis by A2, STRUCT_0:def 5;

    end;

    definition

      let O be set;

      let G be GroupWithOperators of O;

      let N be normal StableSubgroup of G;

      :: GROUP_9:def16

      func CosAc N -> Action of O, ( Cosets N) means

      : Def16: for o be Element of O holds (it . o) = { [A, B] where A,B be Element of ( Cosets N) : ex g,h be Element of G st g in A & h in B & h = ((G ^ o) . g) } if not O is empty

      otherwise it = [: {} , {( id ( Cosets N))}:];

      existence

      proof

         A1:

        now

          deffunc F( object) = { [A, B] where A,B be Element of ( Cosets N) : for o be Element of O st $1 = o holds ex g,h be Element of G st g in A & h in B & h = ((G ^ o) . g) };

          reconsider H = the multMagma of N as strict normal Subgroup of G by Lm6;

          assume

           A2: not O is empty;

          

           A3: ( Cosets N) = ( Cosets H) by Def14;

           A4:

          now

            let x be object;

            set f = F(x);

             A5:

            now

              let y be object;

              assume y in f;

              then

              consider A,B be Element of ( Cosets N) such that

               A6: y = [A, B] and for o be Element of O st x = o holds ex g,h be Element of G st g in A & h in B & h = ((G ^ o) . g);

              reconsider A, B as object;

              take A, B;

              thus y = [A, B] by A6;

            end;

            assume

             A7: x in O;

            now

              reconsider o = x as Element of O by A7;

              let y,y1,y2 be object;

              assume [y, y1] in f;

              then

              consider A1,B1 be Element of ( Cosets N) such that

               A8: [y, y1] = [A1, B1] and

               A9: for o be Element of O st x = o holds ex g,h be Element of G st g in A1 & h in B1 & h = ((G ^ o) . g);

              assume [y, y2] in f;

              then

              consider A2,B2 be Element of ( Cosets N) such that

               A10: [y, y2] = [A2, B2] and

               A11: for o be Element of O st x = o holds ex g,h be Element of G st g in A2 & h in B2 & h = ((G ^ o) . g);

              

               A12: y1 = B1 by A8, XTUPLE_0: 1;

              

               A13: y2 = B2 by A10, XTUPLE_0: 1;

              

               A14: y = A2 by A10, XTUPLE_0: 1;

              set f = (G ^ o);

              

               A15: y = A1 by A8, XTUPLE_0: 1;

              consider g1,h1 be Element of G such that

               A16: g1 in A1 and

               A17: h1 in B1 and

               A18: h1 = ((G ^ o) . g1) by A9;

              consider g2,h2 be Element of G such that

               A19: g2 in A2 and

               A20: h2 in B2 and

               A21: h2 = ((G ^ o) . g2) by A11;

              reconsider A1, A2, B1, B2 as Element of ( Cosets H) by Def14;

              

               A22: A2 = (g2 * H) by A19, Lm8;

              A1 = (g1 * H) by A16, Lm8;

              then ((g2 " ) * g1) in H by A15, A14, A22, GROUP_2: 114;

              then ((g2 " ) * g1) in the carrier of H by STRUCT_0:def 5;

              then ((g2 " ) * g1) in N by STRUCT_0:def 5;

              then (f . ((g2 " ) * g1)) in N by Lm9;

              then ((f . (g2 " )) * (f . g1)) in N by GROUP_6:def 6;

              then ((h2 " ) * h1) in N by A18, A21, GROUP_6: 32;

              then ((h2 " ) * h1) in the carrier of N by STRUCT_0:def 5;

              then

               A23: ((h2 " ) * h1) in H by STRUCT_0:def 5;

              

               A24: B2 = (h2 * H) by A20, Lm8;

              B1 = (h1 * H) by A17, Lm8;

              hence y1 = y2 by A12, A13, A23, A24, GROUP_2: 114;

            end;

            then

            reconsider f as Function by A5, FUNCT_1:def 1, RELAT_1:def 1;

            now

              let y1 be object;

              hereby

                reconsider o = x as Element of O by A7;

                assume

                 A25: y1 in ( Cosets N);

                then

                reconsider A = y1 as Element of ( Cosets N);

                y1 in ( Cosets H) by A25, Def14;

                then

                consider g be Element of G such that

                 A26: y1 = (g * H) and y1 = (H * g) by GROUP_6: 13;

                set h = ((G ^ o) . g);

                reconsider B = (h * H) as Element of ( Cosets N) by A3, GROUP_2:def 15;

                reconsider y2 = B as object;

                take y2;

                now

                  let o be Element of O;

                  assume

                   A27: x = o;

                  take g, h;

                  thus g in A by A3, A26, Lm8;

                  thus h in B by A3, Lm8;

                  thus h = ((G ^ o) . g) by A27;

                end;

                hence [y1, y2] in f;

              end;

              given y2 be object such that

               A28: [y1, y2] in f;

              consider A,B be Element of ( Cosets N) such that

               A29: [y1, y2] = [A, B] and for o be Element of O st x = o holds ex g,h be Element of G st g in A & h in B & h = ((G ^ o) . g) by A28;

              A in ( Cosets N) by A3;

              hence y1 in ( Cosets N) by A29, XTUPLE_0: 1;

            end;

            then

             A30: ( dom f) = ( Cosets N) by XTUPLE_0:def 12;

            now

              let y2 be object;

              assume y2 in ( rng f);

              then

              consider y1 be object such that

               A31: [y1, y2] in f by XTUPLE_0:def 13;

              consider A,B be Element of ( Cosets N) such that

               A32: [y1, y2] = [A, B] and for o be Element of O st x = o holds ex g,h be Element of G st g in A & h in B & h = ((G ^ o) . g) by A31;

              B in ( Cosets N) by A3;

              hence y2 in ( Cosets N) by A32, XTUPLE_0: 1;

            end;

            then ( rng f) c= ( Cosets N);

            hence F(x) in ( Funcs (( Cosets N),( Cosets N))) by A30, FUNCT_2:def 2;

          end;

          ex f be Function of O, ( Funcs (( Cosets N),( Cosets N))) st for x be object st x in O holds (f . x) = F(x) from FUNCT_2:sch 2( A4);

          then

          consider IT be Function of O, ( Funcs (( Cosets N),( Cosets N))) such that

           A33: for x be object st x in O holds (IT . x) = F(x);

          reconsider IT as Action of O, ( Cosets N);

          take IT;

          let o be Element of O;

          reconsider x = o as set;

          set X = { [A, B] where A,B be Element of ( Cosets N) : for o be Element of O st x = o holds ex g,h be Element of G st g in A & h in B & h = ((G ^ o) . g) };

          set Y = { [A, B] where A,B be Element of ( Cosets N) : ex g,h be Element of G st g in A & h in B & h = ((G ^ o) . g) };

           A34:

          now

            let y be object;

            hereby

              assume y in X;

              then

              consider A,B be Element of ( Cosets N) such that

               A35: y = [A, B] and

               A36: for o be Element of O st x = o holds ex g,h be Element of G st g in A & h in B & h = ((G ^ o) . g);

              ex g,h be Element of G st g in A & h in B & h = ((G ^ o) . g) by A36;

              hence y in Y by A35;

            end;

            assume y in Y;

            then

            consider A,B be Element of ( Cosets N) such that

             A37: y = [A, B] and

             A38: ex g,h be Element of G st g in A & h in B & h = ((G ^ o) . g);

            for o be Element of O st x = o holds ex g,h be Element of G st g in A & h in B & h = ((G ^ o) . g) by A38;

            hence y in X by A37;

          end;

          (IT . o) = X by A2, A33;

          hence (IT . o) = Y by A34, TARSKI: 2;

        end;

        now

          assume O is empty;

          then

          reconsider IT = [: {} , {( id ( Cosets N))}:] as Action of O, ( Cosets N) by Lm1;

          take IT;

          thus IT = [: {} , {( id ( Cosets N))}:];

        end;

        hence thesis by A1;

      end;

      uniqueness

      proof

        now

          assume not O is empty;

          let IT1,IT2 be Action of O, ( Cosets N);

          assume

           A39: for o be Element of O holds (IT1 . o) = { [A, B] where A,B be Element of ( Cosets N) : ex g,h be Element of G st g in A & h in B & h = ((G ^ o) . g) };

          assume

           A40: for o be Element of O holds (IT2 . o) = { [A, B] where A,B be Element of ( Cosets N) : ex g,h be Element of G st g in A & h in B & h = ((G ^ o) . g) };

           A41:

          now

            let x be object;

            assume x in ( dom IT1);

            then

            reconsider o = x as Element of O;

            (IT1 . o) = { [A, B] where A,B be Element of ( Cosets N) : ex g,h be Element of G st g in A & h in B & h = ((G ^ o) . g) } by A39;

            hence (IT1 . x) = (IT2 . x) by A40;

          end;

          ( dom IT1) = O & ( dom IT2) = O by FUNCT_2:def 1;

          hence IT1 = IT2 by A41;

        end;

        hence thesis;

      end;

      correctness ;

    end

    definition

      let O be set;

      let G be GroupWithOperators of O;

      let N be normal StableSubgroup of G;

      :: GROUP_9:def17

      func G ./. N -> HGrWOpStr over O equals HGrWOpStr (# ( Cosets N), ( CosOp N), ( CosAc N) #);

      correctness ;

    end

    registration

      let O be set;

      let G be GroupWithOperators of O;

      let N be normal StableSubgroup of G;

      cluster (G ./. N) -> non empty;

      correctness

      proof

        reconsider H = the multMagma of N as strict normal Subgroup of G by Lm6;

        ( Cosets N) = ( Cosets H) by Def14;

        hence thesis;

      end;

      cluster (G ./. N) -> distributive Group-like associative;

      correctness

      proof

        reconsider H = the multMagma of N as strict normal Subgroup of G by Lm6;

        set G9 = the multMagma of (G ./. N);

         A1:

        now

          set e9 = ( 1_ (G ./. H));

          reconsider e = e9 as Element of (G ./. N) by Def14;

          take e;

          let h be Element of (G ./. N);

          reconsider h9 = h as Element of (G ./. H) by Def14;

          set g = (h9 " );

          set g9 = g;

          (h * e) = (h9 * e9) by Def15

          .= h9 by GROUP_1:def 4;

          hence (h * e) = h;

          (e * h) = (e9 * h9) by Def15

          .= h9 by GROUP_1:def 4;

          hence (e * h) = h;

          reconsider g as Element of (G ./. N) by Def14;

          take g;

          (h * g) = (h9 * g9) by Def15

          .= ( 1_ (G ./. H)) by GROUP_1:def 5;

          hence (h * g) = e;

          (g * h) = (g9 * h9) by Def15

          .= ( 1_ (G ./. H)) by GROUP_1:def 5;

          hence (g * h) = e;

        end;

         A2:

        now

          let G9 be Group;

          let a be Action of O, the carrier of G9;

          assume

           A3: a = the action of (G ./. N);

          assume

           A4: the multMagma of G9 = the multMagma of (G ./. N);

          now

            let o be Element of O;

            assume

             A5: o in O;

            then

             A6: (a . o) = { [A, B] where A,B be Element of ( Cosets N) : ex g,h be Element of G st g in A & h in B & h = ((G ^ o) . g) } by A3, Def16;

            (a . o) in ( Funcs (( Cosets N),( Cosets N))) by A3, A5, FUNCT_2: 5;

            then

            consider f be Function such that

             A7: (a . o) = f and

             A8: ( dom f) = ( Cosets N) and

             A9: ( rng f) c= ( Cosets N) by FUNCT_2:def 2;

            reconsider f as Function of the carrier of G9, the carrier of G9 by A4, A8, A9, FUNCT_2: 2;

            now

              let A1,A2 be Element of G9;

              set A3 = (A1 * A2);

              set B1 = (f . A1), B2 = (f . A2), B3 = (f . A3);

               [A1, B1] in f by A4, A8, FUNCT_1: 1;

              then

              consider A19,B19 be Element of ( Cosets N) such that

               A10: [A1, B1] = [A19, B19] and

               A11: ex g1,h1 be Element of G st g1 in A19 & h1 in B19 & h1 = ((G ^ o) . g1) by A6, A7;

               [A2, B2] in f by A4, A8, FUNCT_1: 1;

              then

              consider A29,B29 be Element of ( Cosets N) such that

               A12: [A2, B2] = [A29, B29] and

               A13: ex g2,h2 be Element of G st g2 in A29 & h2 in B29 & h2 = ((G ^ o) . g2) by A6, A7;

               [A3, B3] in f by A4, A8, FUNCT_1: 1;

              then

              consider A39,B39 be Element of ( Cosets N) such that

               A14: [A3, B3] = [A39, B39] and

               A15: ex g3,h3 be Element of G st g3 in A39 & h3 in B39 & h3 = ((G ^ o) . g3) by A6, A7;

              consider g3,h3 be Element of G such that

               A16: g3 in A39 and

               A17: h3 in B39 and

               A18: h3 = ((G ^ o) . g3) by A15;

              consider g2,h2 be Element of G such that

               A19: g2 in A29 and

               A20: h2 in B29 and

               A21: h2 = ((G ^ o) . g2) by A13;

              consider g1,h1 be Element of G such that

               A22: g1 in A19 and

               A23: h1 in B19 and

               A24: h1 = ((G ^ o) . g1) by A11;

              

               A25: ( @ (( nat_hom H) . g1)) = (( nat_hom H) . g1) & ( @ (( nat_hom H) . g2)) = (( nat_hom H) . g2);

              

               A26: (( nat_hom H) . g1) = (g1 * H) & (( nat_hom H) . g2) = (g2 * H) by GROUP_6:def 8;

              reconsider A19, A29, A39, B19, B29, B39 as Element of ( Cosets H) by Def14;

              

               A27: A29 = (g2 * H) by A19, Lm8;

              

               A28: A39 = (g3 * H) by A16, Lm8;

              

               A29: B29 = (h2 * H) by A20, Lm8;

              reconsider A19, A29, B19, B29 as Element of (G ./. H);

              A2 = (g2 * H) by A12, A27, XTUPLE_0: 1;

              

              then (A1 * A2) = (the multF of G9 . (A19,A29)) by A10, A27, XTUPLE_0: 1

              .= ( @ (A19 * A29)) by A4, Def15

              .= (( @ A19) * ( @ A29)) by GROUP_6: 20;

              

              then (A1 * A2) = ((g1 * H) * (g2 * H)) by A22, A27, Lm8

              .= ((( nat_hom H) . g1) * (( nat_hom H) . g2)) by A25, A26, GROUP_6: 19

              .= (( nat_hom H) . (g1 * g2)) by GROUP_6:def 6

              .= ((g1 * g2) * H) by GROUP_6:def 8;

              then (g3 * H) = ((g1 * g2) * H) by A14, A28, XTUPLE_0: 1;

              then ((g3 " ) * (g1 * g2)) in H by GROUP_2: 114;

              then ((g3 " ) * (g1 * g2)) in the carrier of H by STRUCT_0:def 5;

              then ((g3 " ) * (g1 * g2)) in N by STRUCT_0:def 5;

              then ((G ^ o) . ((g3 " ) * (g1 * g2))) in N by Lm9;

              then (((G ^ o) . (g3 " )) * ((G ^ o) . (g1 * g2))) in N by GROUP_6:def 6;

              then (((G ^ o) . (g3 " )) * (((G ^ o) . g1) * ((G ^ o) . g2))) in N by GROUP_6:def 6;

              then ((h3 " ) * (h1 * h2)) in N by A24, A21, A18, GROUP_6: 32;

              then ((h3 " ) * (h1 * h2)) in the carrier of N by STRUCT_0:def 5;

              then

               A30: ((h3 " ) * (h1 * h2)) in H by STRUCT_0:def 5;

              

               A31: (( nat_hom H) . h1) = (h1 * H) & (( nat_hom H) . h2) = (h2 * H) by GROUP_6:def 8;

              B39 = (h3 * H) by A17, Lm8;

              then

               A32: B3 = (h3 * H) by A14, XTUPLE_0: 1;

              

               A33: ( @ (( nat_hom H) . h1)) = (( nat_hom H) . h1) & ( @ (( nat_hom H) . h2)) = (( nat_hom H) . h2);

              B2 = (h2 * H) by A12, A29, XTUPLE_0: 1;

              

              then (B1 * B2) = (the multF of G9 . (B19,B29)) by A10, A29, XTUPLE_0: 1

              .= ( @ (B19 * B29)) by A4, Def15

              .= (( @ B19) * ( @ B29)) by GROUP_6: 20;

              

              then (B1 * B2) = ((h1 * H) * (h2 * H)) by A23, A29, Lm8

              .= ((( nat_hom H) . h1) * (( nat_hom H) . h2)) by A33, A31, GROUP_6: 19

              .= (( nat_hom H) . (h1 * h2)) by GROUP_6:def 6

              .= ((h1 * h2) * H) by GROUP_6:def 8;

              hence (f . A3) = ((f . A1) * (f . A2)) by A32, A30, GROUP_2: 114;

            end;

            hence (a . o) is Homomorphism of G9, G9 by A7, GROUP_6:def 6;

          end;

          hence a is distributive;

        end;

        the carrier of (G ./. N) = the carrier of (G ./. H) by Def14;

        then

         A34: G9 is Group-like associative by Def15;

        now

          let x,y,z be Element of (G ./. N);

          reconsider x9 = x, y9 = y, z9 = z as Element of G9;

          ((x9 * y9) * z9) = ((x * y) * z) & (x9 * (y9 * z9)) = (x * (y * z));

          hence ((x * y) * z) = (x * (y * z)) by A34, GROUP_1:def 3;

        end;

        hence thesis by A1, A2, GROUP_1:def 2, GROUP_1:def 3;

      end;

    end

    definition

      let O be set;

      let G,H be GroupWithOperators of O;

      let f be Function of G, H;

      :: GROUP_9:def18

      attr f is homomorphic means

      : Def18: for o be Element of O, g be Element of G holds (f . ((G ^ o) . g)) = ((H ^ o) . (f . g));

    end

    registration

      let O be set;

      let G,H be GroupWithOperators of O;

      cluster multiplicative homomorphic for Function of G, H;

      existence

      proof

        take f = ( 1: (G,H));

        thus f is multiplicative;

        let o be Element of O;

        let g be Element of G;

        ((H ^ o) . (f . g)) = ((H ^ o) . ( 1_ H)) by FUNCOP_1: 7

        .= ( 1_ H) by GROUP_6: 31;

        hence thesis by FUNCOP_1: 7;

      end;

    end

    definition

      let O be set;

      let G,H be GroupWithOperators of O;

      mode Homomorphism of G,H is multiplicative homomorphic Function of G, H;

    end

    

     Lm10: for O be set, G,H,I be GroupWithOperators of O, h be Homomorphism of G, H holds for h1 be Homomorphism of H, I holds (h1 * h) is Homomorphism of G, I

    proof

      let O be set;

      let G,H,I be GroupWithOperators of O;

      let h be Homomorphism of G, H;

      let h1 be Homomorphism of H, I;

      reconsider f = (h1 * h) as Function of G, I;

      now

        let o be Element of O;

        let g be Element of G;

        

        thus (f . ((G ^ o) . g)) = (h1 . (h . ((G ^ o) . g))) by FUNCT_2: 15

        .= (h1 . ((H ^ o) . (h . g))) by Def18

        .= ((I ^ o) . (h1 . (h . g))) by Def18

        .= ((I ^ o) . (f . g)) by FUNCT_2: 15;

      end;

      hence thesis by Def18;

    end;

    definition

      let O be set;

      let G,H,I be GroupWithOperators of O;

      let h be Homomorphism of G, H;

      let h1 be Homomorphism of H, I;

      :: original: *

      redefine

      func h1 * h -> Homomorphism of G, I ;

      correctness by Lm10;

    end

    definition

      let O be set;

      let G,H be GroupWithOperators of O;

      :: GROUP_9:def19

      pred G,H are_isomorphic means ex h be Homomorphism of G, H st h is bijective;

      reflexivity

      proof

        let G be GroupWithOperators of O;

        reconsider G9 = G as Group;

        set h = ( id the carrier of G9);

        for o be Element of O, g be Element of G holds (h . ((G ^ o) . g)) = ((G ^ o) . (h . g));

        then

        reconsider h as Homomorphism of G, G by Def18, GROUP_6: 38;

        take h;

        h is onto;

        hence thesis;

      end;

    end

    

     Lm11: for O be set, G,H be GroupWithOperators of O holds (G,H) are_isomorphic implies (H,G) are_isomorphic

    proof

      let O be set;

      let G,H be GroupWithOperators of O;

      assume (G,H) are_isomorphic ;

      then

      consider f be Homomorphism of G, H such that

       A1: f is bijective;

      set f9 = (f " );

      

       A2: ( rng f) = the carrier of H by A1, FUNCT_2:def 3;

      then

       A3: ( dom f9) = the carrier of H by A1, FUNCT_1: 33;

      

       A4: ( dom f) = the carrier of G by FUNCT_2:def 1;

      then

       A5: ( rng f9) = the carrier of G by A1, FUNCT_1: 33;

      then

      reconsider f9 as Function of H, G by A3, FUNCT_2: 1;

       A6:

      now

        let o be Element of O;

        let h be Element of H;

        set g = (f9 . h);

        

        thus (f9 . ((H ^ o) . h)) = (f9 . ((H ^ o) . (f . g))) by A1, A2, FUNCT_1: 35

        .= (f9 . (f . ((G ^ o) . g))) by Def18

        .= ((G ^ o) . (f9 . h)) by A1, A4, FUNCT_1: 34;

      end;

      now

        let h1,h2 be Element of H;

        set g1 = (f9 . h1);

        set g2 = (f9 . h2);

        (f . g1) = h1 & (f . g2) = h2 by A1, A2, FUNCT_1: 35;

        

        hence (f9 . (h1 * h2)) = (f9 . (f . (g1 * g2))) by GROUP_6:def 6

        .= ((f9 . h1) * (f9 . h2)) by A1, A4, FUNCT_1: 34;

      end;

      then

      reconsider f9 as Homomorphism of H, G by A6, Def18, GROUP_6:def 6;

      take f9;

      f9 is onto by A5;

      hence thesis by A1;

    end;

    definition

      let O be set, G,H be GroupWithOperators of O;

      :: original: are_isomorphic

      redefine

      pred G,H are_isomorphic ;

      symmetry by Lm11;

    end

    definition

      let O be set;

      let G be GroupWithOperators of O;

      let N be normal StableSubgroup of G;

      :: GROUP_9:def20

      func nat_hom N -> Homomorphism of G, (G ./. N) means

      : Def20: for H be strict normal Subgroup of G st H = the multMagma of N holds it = ( nat_hom H);

      existence

      proof

        set H = the multMagma of N;

        reconsider H as strict normal Subgroup of G by Lm6;

        set IT = ( nat_hom H);

        reconsider K = (G ./. N) as GroupWithOperators of O;

        reconsider IT9 = IT as Function of G, K by Def14;

         A1:

        now

          let a,b be Element of G;

          (IT9 . (a * b)) = ((IT . a) * (IT . b)) by GROUP_6:def 6

          .= ((IT9 . a) * (IT9 . b)) by Def15;

          hence (IT9 . (a * b)) = ((IT9 . a) * (IT9 . b));

        end;

        now

          let o be Element of O;

          let g be Element of G;

          per cases ;

            suppose

             A2: O <> {} ;

            then (the action of K . o) in ( Funcs (the carrier of K,the carrier of K)) by FUNCT_2: 5;

            then

            consider f be Function such that

             A3: f = (the action of K . o) and

             A4: ( dom f) = the carrier of K and ( rng f) c= the carrier of K by FUNCT_2:def 2;

            

             A5: f = { [A, B] where A,B be Element of ( Cosets N) : ex g,h be Element of G st g in A & h in B & h = ((G ^ o) . g) } by A2, A3, Def16;

             [(IT9 . g), (f . (IT9 . g))] in f by A4, FUNCT_1:def 2;

            then

            consider A,B be Element of ( Cosets N) such that

             A6: [(IT9 . g), (f . (IT9 . g))] = [A, B] and

             A7: ex g,h be Element of G st g in A & h in B & h = ((G ^ o) . g) by A5;

            

             A8: (IT9 . g) = A by A6, XTUPLE_0: 1;

            consider g9,h9 be Element of G such that

             A9: g9 in A and

             A10: h9 in B & h9 = ((G ^ o) . g9) by A7;

            

             A11: ((G ^ o) . ((g9 " ) * g)) = (((G ^ o) . (g9 " )) * ((G ^ o) . g)) by GROUP_6:def 6

            .= ((((G ^ o) . g9) " ) * ((G ^ o) . g)) by GROUP_6: 32;

            reconsider A, B as Element of ( Cosets H) by Def14;

            A = (g9 * H) by A9, Lm8;

            then (g * H) = (g9 * H) by A8, GROUP_6:def 8;

            then ((g9 " ) * g) in H by GROUP_2: 114;

            then ((g9 " ) * g) in the carrier of N by STRUCT_0:def 5;

            then ((g9 " ) * g) in N by STRUCT_0:def 5;

            then ((G ^ o) . ((g9 " ) * g)) in N by Lm9;

            then ((G ^ o) . ((g9 " ) * g)) in the carrier of N by STRUCT_0:def 5;

            then

             A12: ((G ^ o) . ((g9 " ) * g)) in H by STRUCT_0:def 5;

            

             A13: ((K ^ o) . (IT9 . g)) = (f . (IT9 . g)) by A2, A3, Def6;

            (IT9 . ((G ^ o) . g)) = (((G ^ o) . g) * H) by GROUP_6:def 8

            .= (((G ^ o) . g9) * H) by A12, A11, GROUP_2: 114

            .= B by A10, Lm8;

            hence (IT9 . ((G ^ o) . g)) = ((K ^ o) . (IT9 . g)) by A13, A6, XTUPLE_0: 1;

          end;

            suppose

             A14: O = {} ;

            then (G ^ o) = ( id the carrier of G) by Def6;

            then

             A15: ((G ^ o) . g) = g;

            (K ^ o) = ( id the carrier of K) by A14, Def6;

            hence (IT9 . ((G ^ o) . g)) = ((K ^ o) . (IT9 . g)) by A15;

          end;

        end;

        then

        reconsider IT9 as Homomorphism of G, K by A1, Def18, GROUP_6:def 6;

        reconsider IT9 as Homomorphism of G, (G ./. N);

        take IT9;

        let H be strict normal Subgroup of G;

        assume H = the multMagma of N;

        hence thesis;

      end;

      uniqueness

      proof

        reconsider H = the multMagma of N as strict normal Subgroup of G by Lm6;

        let IT1,IT2 be Homomorphism of G, (G ./. N);

        assume for H be strict normal Subgroup of G st H = the multMagma of N holds IT1 = ( nat_hom H);

        then

         A16: IT1 = ( nat_hom H);

        assume for H be strict normal Subgroup of G st H = the multMagma of N holds IT2 = ( nat_hom H);

        hence thesis by A16;

      end;

    end

    

     Lm12: for O be set, G,H be GroupWithOperators of O, g be Homomorphism of G, H holds (g . ( 1_ G)) = ( 1_ H)

    proof

      let O be set;

      let G,H be GroupWithOperators of O;

      let g be Homomorphism of G, H;

      (g . ( 1_ G)) = (g . (( 1_ G) * ( 1_ G))) by GROUP_1:def 4

      .= ((g . ( 1_ G)) * (g . ( 1_ G))) by GROUP_6:def 6;

      hence thesis by GROUP_1: 7;

    end;

    

     Lm13: for O be set, G,H be GroupWithOperators of O, a be Element of G, g be Homomorphism of G, H holds (g . (a " )) = ((g . a) " )

    proof

      let O be set;

      let G,H be GroupWithOperators of O;

      let a be Element of G;

      let g be Homomorphism of G, H;

      ((g . (a " )) * (g . a)) = (g . ((a " ) * a)) by GROUP_6:def 6

      .= (g . ( 1_ G)) by GROUP_1:def 5

      .= ( 1_ H) by Lm12;

      hence thesis by GROUP_1: 12;

    end;

    

     Lm14: for O be set, G be GroupWithOperators of O, A be Subset of G st A <> {} & (for g1,g2 be Element of G st g1 in A & g2 in A holds (g1 * g2) in A) & (for g be Element of G st g in A holds (g " ) in A) & (for o be Element of O, g be Element of G st g in A holds ((G ^ o) . g) in A) holds ex H be strict StableSubgroup of G st the carrier of H = A

    proof

      let O be set;

      let G be GroupWithOperators of O;

      let A be Subset of G;

      assume

       A1: A <> {} ;

      assume

       A2: for g1,g2 be Element of G st g1 in A & g2 in A holds (g1 * g2) in A;

      assume for g be Element of G st g in A holds (g " ) in A;

      then

      consider H9 be strict Subgroup of G such that

       A3: the carrier of H9 = A by A1, A2, GROUP_2: 52;

      set m9 = the multF of H9;

      set A9 = the carrier of H9;

      assume

       A4: for o be Element of O, g be Element of G st g in A holds ((G ^ o) . g) in A;

       A5:

      now

        let H be non empty HGrWOpStr over O;

        let a9 be Action of O, A9;

        assume

         A6: H = HGrWOpStr (# A9, m9, a9 #);

        now

          let x,y,z be Element of H;

          reconsider x9 = x, y9 = y, z9 = z as Element of H9 by A6;

          ((x * y) * z) = ((x9 * y9) * z9) by A6

          .= (x9 * (y9 * z9)) by GROUP_1:def 3;

          hence ((x * y) * z) = (x * (y * z)) by A6;

        end;

        hence H is associative by GROUP_1:def 3;

        now

          set e9 = ( 1_ H9);

          reconsider e = e9 as Element of H by A6;

          take e;

          let h be Element of H;

          reconsider h9 = h as Element of H9 by A6;

          set g9 = (h9 " );

          (h * e) = (h9 * e9) by A6

          .= h9 by GROUP_1:def 4;

          hence (h * e) = h;

          (e * h) = (e9 * h9) by A6

          .= h9 by GROUP_1:def 4;

          hence (e * h) = h;

          reconsider g = g9 as Element of H by A6;

          take g;

          (h * g) = (h9 * g9) by A6

          .= ( 1_ H9) by GROUP_1:def 5;

          hence (h * g) = e;

          (g * h) = (g9 * h9) by A6

          .= ( 1_ H9) by GROUP_1:def 5;

          hence (g * h) = e;

        end;

        hence H is Group-like by GROUP_1:def 2;

      end;

      per cases ;

        suppose

         A7: O is empty;

        set a9 = [: {} , {( id A9)}:];

        reconsider a9 as Action of O, A9 by A7, Lm1;

        set H = HGrWOpStr (# A9, m9, a9 #);

        reconsider H as non empty HGrWOpStr over O;

        for G9 be Group, a be Action of O, the carrier of G9 st a = the action of H & the multMagma of G9 = the multMagma of H holds a is distributive by A7;

        then

        reconsider H as GroupWithOperators of O by A5, Def5;

        

         A8: the carrier of H c= the carrier of G by GROUP_2:def 5;

         A9:

        now

          let o be Element of O;

           A10:

          now

            let x,y be object;

            assume

             A11: [x, y] in (( id the carrier of G) | the carrier of H);

            then [x, y] in ( id the carrier of G) by RELAT_1:def 11;

            then

             A12: x = y by RELAT_1:def 10;

            x in the carrier of H by A11, RELAT_1:def 11;

            hence [x, y] in ( id the carrier of H) by A12, RELAT_1:def 10;

          end;

           A13:

          now

            let x,y be object;

            assume

             A14: [x, y] in ( id the carrier of H);

            then

             A15: x in the carrier of H by RELAT_1:def 10;

            x = y by A14, RELAT_1:def 10;

            then [x, y] in ( id the carrier of G) by A8, A15, RELAT_1:def 10;

            hence [x, y] in (( id the carrier of G) | the carrier of H) by A15, RELAT_1:def 11;

          end;

          (H ^ o) = ( id the carrier of H) by A7, Def6

          .= (( id the carrier of G) | the carrier of H) by A13, A10;

          hence (H ^ o) = ((G ^ o) | the carrier of H) by A7, Def6;

        end;

        the multF of H = (the multF of G || the carrier of H) by GROUP_2:def 5;

        then H is Subgroup of G by A8, GROUP_2:def 5;

        then

        reconsider H as strict StableSubgroup of G by A9, Def7;

        take H;

        thus thesis by A3;

      end;

        suppose

         A16: not O is empty;

        set a9 = the set of all [o, ((G ^ o) | A9)] where o be Element of O;

        now

          let x be object;

          assume x in a9;

          then ex o be Element of O st x = [o, ((G ^ o) | A9)];

          hence ex y1,y2 be object st x = [y1, y2];

        end;

        then

        reconsider a9 as Relation by RELAT_1:def 1;

         A17:

        now

          let x be object;

          assume x in O;

          then

          reconsider o = x as Element of O;

          reconsider y = ((G ^ o) | A9) as object;

          take y;

          thus [x, y] in a9;

        end;

        now

          let x be object;

          given y be object such that

           A18: [x, y] in a9;

          consider o be Element of O such that

           A19: [x, y] = [o, ((G ^ o) | A9)] by A18;

          o in O by A16;

          hence x in O by A19, XTUPLE_0: 1;

        end;

        then

         A20: ( dom a9) = O by A17, XTUPLE_0:def 12;

        now

          let x,y1,y2 be object;

          assume [x, y1] in a9;

          then

          consider o1 be Element of O such that

           A21: [x, y1] = [o1, ((G ^ o1) | A9)];

          

           A22: x = o1 by A21, XTUPLE_0: 1;

          assume [x, y2] in a9;

          then

          consider o2 be Element of O such that

           A23: [x, y2] = [o2, ((G ^ o2) | A9)];

          x = o2 by A23, XTUPLE_0: 1;

          hence y1 = y2 by A21, A23, A22, XTUPLE_0: 1;

        end;

        then

        reconsider a9 as Function by FUNCT_1:def 1;

        now

          let y be object;

          assume y in ( rng a9);

          then

          consider x be object such that

           A24: x in ( dom a9) & y = (a9 . x) by FUNCT_1:def 3;

           [x, y] in a9 by A24, FUNCT_1: 1;

          then

          consider o be Element of O such that

           A25: [x, y] = [o, ((G ^ o) | A9)];

          now

            reconsider f = ((G ^ o) | A9) as Function;

            take f;

            

             A26: ( dom ((G ^ o) | A9)) = ( dom ((G ^ o) * ( id A9))) by RELAT_1: 65

            .= (( dom (G ^ o)) /\ A9) by FUNCT_1: 19

            .= (the carrier of G /\ A9) by FUNCT_2:def 1;

            thus y = f by A25, XTUPLE_0: 1;

            A9 c= the carrier of G by GROUP_2:def 5;

            hence

             A27: ( dom f) = A9 by A26, XBOOLE_1: 28;

            now

              let y be object;

              

               A28: ( dom f) = ( dom ((G ^ o) * ( id A9))) by RELAT_1: 65;

              assume y in ( rng f);

              then

              consider x be object such that

               A29: x in ( dom f) and

               A30: y = (f . x) by FUNCT_1:def 3;

              y = (((G ^ o) * ( id A9)) . x) by A30, RELAT_1: 65

              .= ((G ^ o) . (( id A9) . x)) by A28, A29, FUNCT_1: 12

              .= ((G ^ o) . x) by A27, A29, FUNCT_1: 18;

              hence y in A9 by A4, A3, A27, A29;

            end;

            hence ( rng f) c= A9;

          end;

          hence y in ( Funcs (A9,A9)) by FUNCT_2:def 2;

        end;

        then ( rng a9) c= ( Funcs (A9,A9));

        then

        reconsider a9 as Action of O, A9 by A20, FUNCT_2: 2;

        reconsider H = HGrWOpStr (# A9, m9, a9 #) as non empty HGrWOpStr over O;

        

         A31: the multF of H = (the multF of G || the carrier of H) by GROUP_2:def 5;

        H is Group-like & the carrier of H c= the carrier of G by A5, GROUP_2:def 5;

        then

         A32: H is Subgroup of G by A31, GROUP_2:def 5;

        now

          let G9 be Group;

          let a be Action of O, the carrier of G9;

          assume

           A33: a = the action of H;

          assume

           A34: the multMagma of G9 = the multMagma of H;

          now

            let o be Element of O;

            assume o in O;

            then

             A35: o in ( dom a) by FUNCT_2:def 1;

            then (a . o) in ( rng a) by FUNCT_1: 3;

            then

            consider f be Function such that

             A36: (a . o) = f and

             A37: ( dom f) = the carrier of G9 & ( rng f) c= the carrier of G9 by FUNCT_2:def 2;

            reconsider f as Function of G9, G9 by A37, FUNCT_2: 2;

             [o, (a . o)] in a9 by A33, A35, FUNCT_1: 1;

            then

            consider o9 be Element of O such that

             A38: [o, (a . o)] = [o9, ((G ^ o9) | A9)];

            

             A39: o = o9 & (a . o) = ((G ^ o9) | A9) by A38, XTUPLE_0: 1;

            now

              let a9,b9 be Element of G9;

              b9 in the carrier of H9 by A34;

              then

               A40: b9 in ( dom ( id A9));

              reconsider a = a9, b = b9 as Element of H by A34;

              reconsider g1 = a, g2 = b as Element of G by GROUP_2: 42;

              a9 in the carrier of H9 by A34;

              then

               A41: a9 in ( dom ( id A9));

              reconsider h1 = ((G ^ o) . g1), h2 = ((G ^ o) . g2) as Element of H by A4, A3;

              (a9 * b9) in the carrier of H9 by A34;

              then

               A42: (a9 * b9) in ( dom ( id A9));

              

               A43: (f . b9) = (((G ^ o) * ( id A9)) . b9) by A36, A39, RELAT_1: 65

              .= ((G ^ o) . (( id A9) . b9)) by A40, FUNCT_1: 13

              .= h2;

              

               A44: (f . a9) = (((G ^ o) * ( id A9)) . a9) by A36, A39, RELAT_1: 65

              .= ((G ^ o) . (( id A9) . a9)) by A41, FUNCT_1: 13

              .= h1;

              

              thus (f . (a9 * b9)) = (((G ^ o) * ( id A9)) . (a9 * b9)) by A36, A39, RELAT_1: 65

              .= ((G ^ o) . (( id A9) . (a9 * b9))) by A42, FUNCT_1: 13

              .= ((G ^ o) . (a * b)) by A34

              .= ((G ^ o) . (g1 * g2)) by A32, GROUP_2: 43

              .= (((G ^ o) . g1) * ((G ^ o) . g2)) by GROUP_6:def 6

              .= (h1 * h2) by A32, GROUP_2: 43

              .= ((f . a9) * (f . b9)) by A34, A44, A43;

            end;

            hence (a . o) is Homomorphism of G9, G9 by A36, GROUP_6:def 6;

          end;

          hence a is distributive;

        end;

        then

        reconsider H as GroupWithOperators of O by A5, Def5;

        now

          let o be Element of O;

          o in O by A16;

          then o in ( dom a9) by FUNCT_2:def 1;

          then [o, (a9 . o)] in a9 by FUNCT_1: 1;

          then

          consider o9 be Element of O such that

           A45: [o, (a9 . o)] = [o9, ((G ^ o9) | A9)];

          o = o9 & (a9 . o) = ((G ^ o9) | A9) by A45, XTUPLE_0: 1;

          hence (H ^ o) = ((G ^ o) | the carrier of H) by A16, Def6;

        end;

        then

        reconsider H as strict StableSubgroup of G by A32, Def7;

        take H;

        thus thesis by A3;

      end;

    end;

    definition

      let O be set;

      let G,H be GroupWithOperators of O;

      let g be Homomorphism of G, H;

      :: GROUP_9:def21

      func Ker g -> strict StableSubgroup of G means

      : Def21: the carrier of it = { a where a be Element of G : (g . a) = ( 1_ H) };

      existence

      proof

        defpred P[ set] means (g . $1) = ( 1_ H);

        reconsider A = { a where a be Element of G : P[a] } as Subset of G from DOMAIN_1:sch 7;

         A1:

        now

          let a,b be Element of G;

          assume a in A & b in A;

          then

           A2: (ex a1 be Element of G st a1 = a & (g . a1) = ( 1_ H)) & ex b1 be Element of G st b1 = b & (g . b1) = ( 1_ H);

          (g . (a * b)) = ((g . a) * (g . b)) by GROUP_6:def 6

          .= ( 1_ H) by A2, GROUP_1:def 4;

          hence (a * b) in A;

        end;

         A3:

        now

          let a be Element of G;

          assume a in A;

          then ex a1 be Element of G st a1 = a & (g . a1) = ( 1_ H);

          

          then (g . (a " )) = (( 1_ H) " ) by Lm13

          .= ( 1_ H) by GROUP_1: 8;

          hence (a " ) in A;

        end;

         A4:

        now

          let o be Element of O;

          let a be Element of G;

          assume a in A;

          then ex a1 be Element of G st a1 = a & (g . a1) = ( 1_ H);

          

          then (g . ((G ^ o) . a)) = ((H ^ o) . ( 1_ H)) by Def18

          .= ( 1_ H) by GROUP_6: 31;

          hence ((G ^ o) . a) in A;

        end;

        (g . ( 1_ G)) = ( 1_ H) by Lm12;

        then ( 1_ G) in A;

        then

        consider B be strict StableSubgroup of G such that

         A5: the carrier of B = A by A1, A3, A4, Lm14;

        take B;

        thus thesis by A5;

      end;

      uniqueness by Lm4;

    end

    registration

      let O be set;

      let G,H be GroupWithOperators of O;

      let g be Homomorphism of G, H;

      cluster ( Ker g) -> normal;

      correctness

      proof

        now

          reconsider G9 = G, H9 = H as Group;

          let N be strict Subgroup of G;

          reconsider g9 = g as Homomorphism of G9, H9;

          

           A1: the carrier of ( Ker g9) = { a where a be Element of G : (g . a) = ( 1_ H) } by GROUP_6:def 9;

          assume N = the multMagma of ( Ker g);

          then the carrier of ( Ker g9) = the carrier of N by A1, Def21;

          hence N is normal by GROUP_2: 59;

        end;

        hence thesis;

      end;

    end

    

     Lm15: for O be set, G be GroupWithOperators of O, H be StableSubgroup of G holds the multMagma of H is strict Subgroup of G

    proof

      let O be set;

      let G be GroupWithOperators of O;

      let H be StableSubgroup of G;

      reconsider H9 = the multMagma of H as non empty multMagma;

      now

        set e = ( 1_ H);

        reconsider e9 = e as Element of H9;

        take e9;

        let h9 be Element of H9;

        reconsider h = h9 as Element of H;

        set g = (h " );

        reconsider g9 = g as Element of H9;

        (h9 * e9) = (h * e)

        .= h by GROUP_1:def 4;

        hence (h9 * e9) = h9;

        (e9 * h9) = (e * h)

        .= h by GROUP_1:def 4;

        hence (e9 * h9) = h9;

        take g9;

        (h9 * g9) = (h * g)

        .= ( 1_ H) by GROUP_1:def 5;

        hence (h9 * g9) = e9;

        (g9 * h9) = (g * h)

        .= ( 1_ H) by GROUP_1:def 5;

        hence (g9 * h9) = e9;

      end;

      then

      reconsider H9 as Group-like non empty multMagma by GROUP_1:def 2;

      H is Subgroup of G by Def7;

      then the carrier of H9 c= the carrier of G & the multF of H9 = (the multF of G || the carrier of H9) by GROUP_2:def 5;

      hence thesis by GROUP_2:def 5;

    end;

    

     Lm16: for O be set, G,H be GroupWithOperators of O, G9 be strict StableSubgroup of G, f be Homomorphism of G, H holds ex H9 be strict StableSubgroup of H st the carrier of H9 = (f .: the carrier of G9)

    proof

      let O be set;

      let G,H be GroupWithOperators of O;

      let G9 be strict StableSubgroup of G;

      reconsider G99 = the multMagma of G9 as strict Subgroup of G by Lm15;

      let f be Homomorphism of G, H;

      set A = { (f . g) where g be Element of G : g in G99 };

      ( 1_ G) in G99 by GROUP_2: 46;

      then (f . ( 1_ G)) in A;

      then

      reconsider A as non empty set;

      now

        let x be object;

        assume x in A;

        then ex g be Element of G st x = (f . g) & g in G99;

        hence x in the carrier of H;

      end;

      then

      reconsider A as Subset of H by TARSKI:def 3;

       A1:

      now

        let h1,h2 be Element of H;

        assume that

         A2: h1 in A and

         A3: h2 in A;

        consider a be Element of G such that

         A4: h1 = (f . a) & a in G99 by A2;

        consider b be Element of G such that

         A5: h2 = (f . b) & b in G99 by A3;

        (f . (a * b)) = (h1 * h2) & (a * b) in G99 by A4, A5, GROUP_2: 50, GROUP_6:def 6;

        hence (h1 * h2) in A;

      end;

       A6:

      now

        let o be Element of O;

        let h be Element of H;

        assume h in A;

        then

        consider g be Element of G such that

         A7: h = (f . g) and

         A8: g in G99;

        g in the carrier of G99 by A8, STRUCT_0:def 5;

        then g in G9 by STRUCT_0:def 5;

        then ((G ^ o) . g) in G9 by Lm9;

        then ((G ^ o) . g) in the carrier of G9 by STRUCT_0:def 5;

        then

         A9: ((G ^ o) . g) in G99 by STRUCT_0:def 5;

        ((H ^ o) . h) = (f . ((G ^ o) . g)) by A7, Def18;

        hence ((H ^ o) . h) in A by A9;

      end;

      now

        let h be Element of H;

        assume h in A;

        then

        consider g be Element of G such that

         A10: h = (f . g) & g in G99;

        (g " ) in G99 & (h " ) = (f . (g " )) by A10, Lm13, GROUP_2: 51;

        hence (h " ) in A;

      end;

      then

      consider H99 be strict StableSubgroup of H such that

       A11: the carrier of H99 = A by A1, A6, Lm14;

      take H99;

      now

        set R = f;

        let h be Element of H;

        reconsider R as Relation of the carrier of G, the carrier of H;

        hereby

          assume h in A;

          then

          consider g be Element of G such that

           A12: h = (f . g) and

           A13: g in G99;

          

           A14: g in the carrier of G9 by A13, STRUCT_0:def 5;

          ( dom f) = the carrier of G by FUNCT_2:def 1;

          then [g, h] in f by A12, FUNCT_1: 1;

          hence h in (f .: the carrier of G9) by A14, RELSET_1: 29;

        end;

        assume h in (f .: the carrier of G9);

        then

        consider g be Element of G such that

         A15: [g, h] in R & g in the carrier of G9 by RELSET_1: 29;

        (f . g) = h & g in G99 by A15, FUNCT_1: 1, STRUCT_0:def 5;

        hence h in A;

      end;

      hence thesis by A11, SUBSET_1: 3;

    end;

    definition

      let O be set;

      let G,H be GroupWithOperators of O;

      let g be Homomorphism of G, H;

      :: GROUP_9:def22

      func Image g -> strict StableSubgroup of H means

      : Def22: the carrier of it = (g .: the carrier of G);

      existence

      proof

        reconsider G9 = the HGrWOpStr of G as strict StableSubgroup of G by Lm3;

        consider H9 be strict StableSubgroup of H such that

         A1: the carrier of H9 = (g .: the carrier of G9) by Lm16;

        take H9;

        thus thesis by A1;

      end;

      uniqueness by Lm4;

    end

    definition

      let O be set;

      let G be GroupWithOperators of O;

      let H be StableSubgroup of G;

      :: GROUP_9:def23

      func carr (H) -> Subset of G equals the carrier of H;

      coherence

      proof

        reconsider H9 = H as Subgroup of G by Def7;

        ( carr H9) is Subset of G;

        hence thesis;

      end;

    end

    definition

      let O be set;

      let G be GroupWithOperators of O;

      let H1,H2 be StableSubgroup of G;

      :: GROUP_9:def24

      func H1 * H2 -> Subset of G equals (( carr H1) * ( carr H2));

      coherence ;

    end

    

     Lm17: for O be set, G be GroupWithOperators of O, H be StableSubgroup of G holds ( 1_ G) in H

    proof

      let O be set;

      let G be GroupWithOperators of O;

      let H be StableSubgroup of G;

      H is Subgroup of G by Def7;

      hence thesis by GROUP_2: 46;

    end;

    

     Lm18: for O be set, G be GroupWithOperators of O, H be StableSubgroup of G, g1,g2 be Element of G holds g1 in H & g2 in H implies (g1 * g2) in H

    proof

      let O be set;

      let G be GroupWithOperators of O;

      let H be StableSubgroup of G;

      let g1,g2 be Element of G;

      assume

       A1: g1 in H & g2 in H;

      H is Subgroup of G by Def7;

      hence thesis by A1, GROUP_2: 50;

    end;

    

     Lm19: for O be set, G be GroupWithOperators of O, H be StableSubgroup of G, g be Element of G holds g in H implies (g " ) in H

    proof

      let O be set;

      let G be GroupWithOperators of O;

      let H be StableSubgroup of G;

      let g be Element of G;

      assume

       A1: g in H;

      H is Subgroup of G by Def7;

      hence thesis by A1, GROUP_2: 51;

    end;

    definition

      let O be set;

      let G be GroupWithOperators of O;

      let H1,H2 be StableSubgroup of G;

      :: GROUP_9:def25

      func H1 /\ H2 -> strict StableSubgroup of G means

      : Def25: the carrier of it = (( carr H1) /\ ( carr H2));

      existence

      proof

        set A = (( carr H1) /\ ( carr H2));

        ( 1_ G) in H2 by Lm17;

        then

         A1: ( 1_ G) in the carrier of H2 by STRUCT_0:def 5;

         A2:

        now

          let g1,g2 be Element of G;

          assume that

           A3: g1 in A and

           A4: g2 in A;

          g2 in ( carr H2) by A4, XBOOLE_0:def 4;

          then

           A5: g2 in H2 by STRUCT_0:def 5;

          g1 in ( carr H2) by A3, XBOOLE_0:def 4;

          then g1 in H2 by STRUCT_0:def 5;

          then (g1 * g2) in H2 by A5, Lm18;

          then

           A6: (g1 * g2) in ( carr H2) by STRUCT_0:def 5;

          g2 in ( carr H1) by A4, XBOOLE_0:def 4;

          then

           A7: g2 in H1 by STRUCT_0:def 5;

          g1 in ( carr H1) by A3, XBOOLE_0:def 4;

          then g1 in H1 by STRUCT_0:def 5;

          then (g1 * g2) in H1 by A7, Lm18;

          then (g1 * g2) in ( carr H1) by STRUCT_0:def 5;

          hence (g1 * g2) in A by A6, XBOOLE_0:def 4;

        end;

         A8:

        now

          let o be Element of O;

          let a be Element of G;

          assume

           A9: a in A;

          then a in ( carr H2) by XBOOLE_0:def 4;

          then a in H2 by STRUCT_0:def 5;

          then ((G ^ o) . a) in H2 by Lm9;

          then

           A10: ((G ^ o) . a) in ( carr H2) by STRUCT_0:def 5;

          a in ( carr H1) by A9, XBOOLE_0:def 4;

          then a in H1 by STRUCT_0:def 5;

          then ((G ^ o) . a) in H1 by Lm9;

          then ((G ^ o) . a) in ( carr H1) by STRUCT_0:def 5;

          hence ((G ^ o) . a) in A by A10, XBOOLE_0:def 4;

        end;

         A11:

        now

          let g be Element of G;

          assume

           A12: g in A;

          then g in ( carr H2) by XBOOLE_0:def 4;

          then g in H2 by STRUCT_0:def 5;

          then (g " ) in H2 by Lm19;

          then

           A13: (g " ) in ( carr H2) by STRUCT_0:def 5;

          g in ( carr H1) by A12, XBOOLE_0:def 4;

          then g in H1 by STRUCT_0:def 5;

          then (g " ) in H1 by Lm19;

          then (g " ) in ( carr H1) by STRUCT_0:def 5;

          hence (g " ) in A by A13, XBOOLE_0:def 4;

        end;

        ( 1_ G) in H1 by Lm17;

        then ( 1_ G) in the carrier of H1 by STRUCT_0:def 5;

        then A <> {} by A1, XBOOLE_0:def 4;

        hence thesis by A2, A11, A8, Lm14;

      end;

      uniqueness by Lm4;

      commutativity ;

    end

    

     Lm20: for O be set, G be GroupWithOperators of O, H1,H2 be StableSubgroup of G holds the carrier of H1 c= the carrier of H2 implies H1 is StableSubgroup of H2

    proof

      let O be set;

      let G be GroupWithOperators of O;

      let H1,H2 be StableSubgroup of G;

      reconsider H19 = H1, H29 = H2 as Subgroup of G by Def7;

      assume

       A1: the carrier of H1 c= the carrier of H2;

       A2:

      now

        let o be Element of O;

        

        thus (H1 ^ o) = ((G ^ o) | the carrier of H1) by Def7

        .= (((G ^ o) | the carrier of H2) | the carrier of H1) by A1, RELAT_1: 74

        .= ((H2 ^ o) | the carrier of H1) by Def7;

      end;

      H19 is Subgroup of H29 by A1, GROUP_2: 57;

      hence thesis by A2, Def7;

    end;

    definition

      let O be set;

      let G be GroupWithOperators of O;

      let A be Subset of G;

      :: GROUP_9:def26

      func the_stable_subgroup_of A -> strict StableSubgroup of G means

      : Def26: A c= the carrier of it & for H be strict StableSubgroup of G st A c= the carrier of H holds it is StableSubgroup of H;

      existence

      proof

        defpred P[ set] means ex H be strict StableSubgroup of G st $1 = ( carr H) & A c= $1;

        consider X be set such that

         A1: for Y be set holds Y in X iff Y in ( bool the carrier of G) & P[Y] from XFAMILY:sch 1;

        set M = ( meet X);

        

         A2: ( carr ( (Omega). G)) = the carrier of ( (Omega). G);

        then

         A3: X <> {} by A1;

        

         A4: the carrier of G in X by A1, A2;

        

         A5: M c= the carrier of G by A4, SETFAM_1:def 1;

        now

          let Y be set;

          assume Y in X;

          then

          consider H be strict StableSubgroup of G such that

           A6: Y = ( carr H) and A c= Y by A1;

          ( 1_ G) in H by Lm17;

          hence ( 1_ G) in Y by A6, STRUCT_0:def 5;

        end;

        then

         A7: M <> {} by A3, SETFAM_1:def 1;

        reconsider M as Subset of G by A5;

         A8:

        now

          let o be Element of O;

          let a be Element of G;

          assume

           A9: a in M;

          now

            let Y be set;

            assume

             A10: Y in X;

            then

            consider H be strict StableSubgroup of G such that

             A11: Y = ( carr H) and A c= Y by A1;

            a in ( carr H) by A9, A10, A11, SETFAM_1:def 1;

            then a in H by STRUCT_0:def 5;

            then ((G ^ o) . a) in H by Lm9;

            hence ((G ^ o) . a) in Y by A11, STRUCT_0:def 5;

          end;

          hence ((G ^ o) . a) in M by A3, SETFAM_1:def 1;

        end;

         A12:

        now

          let a,b be Element of G;

          assume that

           A13: a in M and

           A14: b in M;

          now

            let Y be set;

            assume

             A15: Y in X;

            then

            consider H be strict StableSubgroup of G such that

             A16: Y = ( carr H) and A c= Y by A1;

            b in ( carr H) by A14, A15, A16, SETFAM_1:def 1;

            then

             A17: b in H by STRUCT_0:def 5;

            a in ( carr H) by A13, A15, A16, SETFAM_1:def 1;

            then a in H by STRUCT_0:def 5;

            then (a * b) in H by A17, Lm18;

            hence (a * b) in Y by A16, STRUCT_0:def 5;

          end;

          hence (a * b) in M by A3, SETFAM_1:def 1;

        end;

        now

          let a be Element of G;

          assume

           A18: a in M;

          now

            let Y be set;

            assume

             A19: Y in X;

            then

            consider H be strict StableSubgroup of G such that

             A20: Y = ( carr H) and A c= Y by A1;

            a in ( carr H) by A18, A19, A20, SETFAM_1:def 1;

            then a in H by STRUCT_0:def 5;

            then (a " ) in H by Lm19;

            hence (a " ) in Y by A20, STRUCT_0:def 5;

          end;

          hence (a " ) in M by A3, SETFAM_1:def 1;

        end;

        then

        consider H be strict StableSubgroup of G such that

         A21: the carrier of H = M by A7, A12, A8, Lm14;

        take H;

        now

          let Y be set;

          assume Y in X;

          then ex H be strict StableSubgroup of G st Y = ( carr H) & A c= Y by A1;

          hence A c= Y;

        end;

        hence A c= the carrier of H by A3, A21, SETFAM_1: 5;

        let H1 be strict StableSubgroup of G;

        

         A22: the carrier of H1 = ( carr H1);

        assume A c= the carrier of H1;

        then the carrier of H1 in X by A1, A22;

        hence thesis by A21, Lm20, SETFAM_1: 3;

      end;

      uniqueness

      proof

        let H1,H2 be strict StableSubgroup of G;

        assume that

         A23: A c= the carrier of H1 and

         A24: (for H be strict StableSubgroup of G st A c= the carrier of H holds H1 is StableSubgroup of H) & A c= the carrier of H2 and

         A25: for H be strict StableSubgroup of G st A c= the carrier of H holds H2 is StableSubgroup of H;

        H1 is StableSubgroup of H2 by A24;

        then H1 is Subgroup of H2 by Def7;

        then

         A26: the carrier of H1 c= the carrier of H2 by GROUP_2:def 5;

        H2 is StableSubgroup of H1 by A23, A25;

        then H2 is Subgroup of H1 by Def7;

        then the carrier of H2 c= the carrier of H1 by GROUP_2:def 5;

        then the carrier of H1 = the carrier of H2 by A26, XBOOLE_0:def 10;

        hence thesis by Lm4;

      end;

    end

    definition

      let O be set;

      let G be GroupWithOperators of O;

      let H1,H2 be StableSubgroup of G;

      :: GROUP_9:def27

      func H1 "\/" H2 -> strict StableSubgroup of G equals ( the_stable_subgroup_of (( carr H1) \/ ( carr H2)));

      correctness ;

    end

    begin

    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;

    theorem :: GROUP_9:1

    

     Th1: for x be object holds x in H1 implies x in G

    proof

      let x be object;

      assume

       A1: x in H1;

      H1 is Subgroup of G by Def7;

      hence thesis by A1, GROUP_2: 40;

    end;

    theorem :: GROUP_9:2

    

     Th2: h1 is Element of G

    proof

      H1 is Subgroup of G by Def7;

      hence thesis by GROUP_2: 42;

    end;

    theorem :: GROUP_9:3

    

     Th3: h1 = g1 & h2 = g2 implies (h1 * h2) = (g1 * g2)

    proof

      assume

       A1: h1 = g1 & h2 = g2;

      H1 is Subgroup of G by Def7;

      hence thesis by A1, GROUP_2: 43;

    end;

    theorem :: GROUP_9:4

    

     Th4: ( 1_ G) = ( 1_ H1)

    proof

      reconsider H19 = H1 as Subgroup of G by Def7;

      ( 1_ H1) = ( 1_ H19);

      hence thesis by GROUP_2: 44;

    end;

    theorem :: GROUP_9:5

    ( 1_ G) in H1 by Lm17;

    theorem :: GROUP_9:6

    

     Th6: h1 = g1 implies (h1 " ) = (g1 " )

    proof

      reconsider g9 = (h1 " ) as Element of G by Th2;

      

       A1: (h1 * (h1 " )) = ( 1_ H1) by GROUP_1:def 5;

      assume h1 = g1;

      

      then (g1 * g9) = ( 1_ H1) by A1, Th3

      .= ( 1_ G) by Th4;

      hence thesis by GROUP_1: 12;

    end;

    theorem :: GROUP_9:7

    g1 in H1 & g2 in H1 implies (g1 * g2) in H1 by Lm18;

    theorem :: GROUP_9:8

    g1 in H1 implies (g1 " ) in H1 by Lm19;

    theorem :: GROUP_9:9

    A <> {} & (for g1, g2 st g1 in A & g2 in A holds (g1 * g2) in A) & (for g1 st g1 in A holds (g1 " ) in A) & (for o, g1 st g1 in A holds ((G ^ o) . g1) in A) implies ex H be strict StableSubgroup of G st the carrier of H = A by Lm14;

    theorem :: GROUP_9:10

    

     Th10: G is StableSubgroup of G

    proof

      

       A1: for o be Element of O holds (G ^ o) = ((G ^ o) | the carrier of G);

      G is Subgroup of G by GROUP_2: 54;

      hence thesis by A1, Def7;

    end;

    theorem :: GROUP_9:11

    

     Th11: for G1,G2,G3 be GroupWithOperators of O holds G1 is StableSubgroup of G2 & G2 is StableSubgroup of G3 implies G1 is StableSubgroup of G3

    proof

      let G1,G2,G3 be GroupWithOperators of O;

      assume that

       A1: G1 is StableSubgroup of G2 and

       A2: G2 is StableSubgroup of G3;

      

       A3: G1 is Subgroup of G2 by A1, Def7;

       A4:

      now

        let o be Element of O;

        

         A5: the carrier of G1 c= the carrier of G2 by A3, GROUP_2:def 5;

        (G1 ^ o) = ((G2 ^ o) | the carrier of G1) by A1, Def7

        .= (((G3 ^ o) | the carrier of G2) | the carrier of G1) by A2, Def7

        .= ((G3 ^ o) | (the carrier of G2 /\ the carrier of G1)) by RELAT_1: 71;

        hence (G1 ^ o) = ((G3 ^ o) | the carrier of G1) by A5, XBOOLE_1: 28;

      end;

      G2 is Subgroup of G3 by A2, Def7;

      then G1 is Subgroup of G3 by A3, GROUP_2: 56;

      hence thesis by A4, Def7;

    end;

    theorem :: GROUP_9:12

    the carrier of H1 c= the carrier of H2 implies H1 is StableSubgroup of H2 by Lm20;

    theorem :: GROUP_9:13

    

     Th13: (for g be Element of G st g in H1 holds g in H2) implies H1 is StableSubgroup of H2

    proof

      assume

       A1: for g be Element of G st g in H1 holds g in H2;

      the carrier of H1 c= the carrier of H2

      proof

        let x be object;

        assume x in the carrier of H1;

        then

        reconsider g = x as Element of H1;

        reconsider g as Element of G by Th2;

        g in H1 by STRUCT_0:def 5;

        then g in H2 by A1;

        hence thesis by STRUCT_0:def 5;

      end;

      hence thesis by Lm20;

    end;

    theorem :: GROUP_9:14

    for H1,H2 be strict StableSubgroup of G st the carrier of H1 = the carrier of H2 holds H1 = H2 by Lm4;

    theorem :: GROUP_9:15

    

     Th15: ( (1). G) = ( (1). H1)

    proof

      

       A1: ( 1_ H1) = ( 1_ G) by Th4;

      ( (1). H1) is StableSubgroup of G & the carrier of ( (1). H1) = {( 1_ H1)} by Def8, Th11;

      hence thesis by A1, Def8;

    end;

    theorem :: GROUP_9:16

    

     Th16: ( (1). G) is StableSubgroup of H1

    proof

      ( (1). G) = ( (1). H1) by Th15;

      hence thesis;

    end;

    theorem :: GROUP_9:17

    

     Th17: (( carr H1) * ( carr H2)) = (( carr H2) * ( carr H1)) implies ex H be strict StableSubgroup of G st the carrier of H = (( carr H1) * ( carr H2))

    proof

      assume

       A1: (( carr H1) * ( carr H2)) = (( carr H2) * ( carr H1));

       A2:

      now

        let o be Element of O;

        let g be Element of G;

        assume g in (( carr H1) * ( carr H2));

        then

        consider a,b be Element of G such that

         A3: g = (a * b) and

         A4: a in ( carr H1) and

         A5: b in ( carr H2);

        a in H1 by A4, STRUCT_0:def 5;

        then ((G ^ o) . a) in H1 by Lm9;

        then

         A6: ((G ^ o) . a) in ( carr H1) by STRUCT_0:def 5;

        b in H2 by A5, STRUCT_0:def 5;

        then ((G ^ o) . b) in H2 by Lm9;

        then ((G ^ o) . b) in ( carr H2) by STRUCT_0:def 5;

        then (((G ^ o) . a) * ((G ^ o) . b)) in (( carr H1) * ( carr H2)) by A6;

        hence ((G ^ o) . g) in (( carr H1) * ( carr H2)) by A3, GROUP_6:def 6;

      end;

      

       A7: H2 is Subgroup of G by Def7;

      

       A8: H1 is Subgroup of G by Def7;

       A9:

      now

        let g be Element of G;

        assume

         A10: g in (( carr H1) * ( carr H2));

        then

        consider a,b be Element of G such that

         A11: g = (a * b) and a in ( carr H1) and b in ( carr H2);

        consider b1,a1 be Element of G such that

         A12: (a * b) = (b1 * a1) and

         A13: b1 in ( carr H2) and

         A14: a1 in ( carr H1) by A1, A10, A11;

        b1 in H2 by A13, STRUCT_0:def 5;

        then (b1 " ) in H2 by A7, GROUP_2: 51;

        then

         A15: (b1 " ) in ( carr H2) by STRUCT_0:def 5;

        a1 in H1 by A14, STRUCT_0:def 5;

        then (a1 " ) in H1 by A8, GROUP_2: 51;

        then

         A16: (a1 " ) in ( carr H1) by STRUCT_0:def 5;

        (g " ) = ((a1 " ) * (b1 " )) by A11, A12, GROUP_1: 17;

        hence (g " ) in (( carr H1) * ( carr H2)) by A16, A15;

      end;

       A17:

      now

        let g1,g2 be Element of G;

        assume that

         A18: g1 in (( carr H1) * ( carr H2)) and

         A19: g2 in (( carr H1) * ( carr H2));

        consider a1,b1 be Element of G such that

         A20: g1 = (a1 * b1) and

         A21: a1 in ( carr H1) and

         A22: b1 in ( carr H2) by A18;

        consider a2,b2 be Element of G such that

         A23: g2 = (a2 * b2) and

         A24: a2 in ( carr H1) and

         A25: b2 in ( carr H2) by A19;

        (b1 * a2) in (( carr H1) * ( carr H2)) by A1, A22, A24;

        then

        consider a,b be Element of G such that

         A26: (b1 * a2) = (a * b) and

         A27: a in ( carr H1) and

         A28: b in ( carr H2);

        

         A29: a in H1 by A27, STRUCT_0:def 5;

        

         A30: b in H2 by A28, STRUCT_0:def 5;

        b2 in H2 by A25, STRUCT_0:def 5;

        then (b * b2) in H2 by A7, A30, GROUP_2: 50;

        then

         A31: (b * b2) in ( carr H2) by STRUCT_0:def 5;

        a1 in H1 by A21, STRUCT_0:def 5;

        then (a1 * a) in H1 by A8, A29, GROUP_2: 50;

        then

         A32: (a1 * a) in ( carr H1) by STRUCT_0:def 5;

        (g1 * g2) = (((a1 * b1) * a2) * b2) by A20, A23, GROUP_1:def 3

        .= ((a1 * (b1 * a2)) * b2) by GROUP_1:def 3;

        

        then (g1 * g2) = (((a1 * a) * b) * b2) by A26, GROUP_1:def 3

        .= ((a1 * a) * (b * b2)) by GROUP_1:def 3;

        hence (g1 * g2) in (( carr H1) * ( carr H2)) by A32, A31;

      end;

      (( carr H1) * ( carr H2)) <> {} by GROUP_2: 9;

      hence thesis by A17, A9, A2, Lm14;

    end;

    theorem :: GROUP_9:18

    

     Th18: (for H be StableSubgroup of G st H = (H1 /\ H2) holds the carrier of H = (the carrier of H1 /\ the carrier of H2)) & for H be strict StableSubgroup of G holds the carrier of H = (the carrier of H1 /\ the carrier of H2) implies H = (H1 /\ H2)

    proof

      

       A1: the carrier of H1 = ( carr H1) & the carrier of H2 = ( carr H2);

      thus for H be StableSubgroup of G st H = (H1 /\ H2) holds the carrier of H = (the carrier of H1 /\ the carrier of H2)

      proof

        let H be StableSubgroup of G;

        assume H = (H1 /\ H2);

        

        hence the carrier of H = (( carr H1) /\ ( carr H2)) by Def25

        .= (the carrier of H1 /\ the carrier of H2);

      end;

      let H be strict StableSubgroup of G;

      assume the carrier of H = (the carrier of H1 /\ the carrier of H2);

      hence thesis by A1, Def25;

    end;

    theorem :: GROUP_9:19

    

     Th19: for H be strict StableSubgroup of G holds (H /\ H) = H

    proof

      let H be strict StableSubgroup of G;

      the carrier of (H /\ H) = (( carr H) /\ ( carr H)) by Def25

      .= the carrier of H;

      hence thesis by Lm4;

    end;

    theorem :: GROUP_9:20

    

     Th20: ((H1 /\ H2) /\ H3) = (H1 /\ (H2 /\ H3))

    proof

      the carrier of ((H1 /\ H2) /\ H3) = (( carr (H1 /\ H2)) /\ ( carr H3)) by Def25

      .= ((( carr H1) /\ ( carr H2)) /\ ( carr H3)) by Def25

      .= (( carr H1) /\ (( carr H2) /\ ( carr H3))) by XBOOLE_1: 16

      .= (( carr H1) /\ ( carr (H2 /\ H3))) by Def25

      .= the carrier of (H1 /\ (H2 /\ H3)) by Def25;

      hence thesis by Lm4;

    end;

    

     Lm21: for H1 be strict StableSubgroup of G holds H1 is StableSubgroup of H2 iff (H1 /\ H2) = H1

    proof

      let H1 be strict StableSubgroup of G;

      thus H1 is StableSubgroup of H2 implies (H1 /\ H2) = H1

      proof

        assume H1 is StableSubgroup of H2;

        then H1 is Subgroup of H2 by Def7;

        then

         A1: the carrier of H1 c= the carrier of H2 by GROUP_2:def 5;

        the carrier of (H1 /\ H2) = (( carr H1) /\ ( carr H2)) by Def25;

        hence thesis by A1, Lm4, XBOOLE_1: 28;

      end;

      assume (H1 /\ H2) = H1;

      

      then the carrier of H1 = (( carr H1) /\ ( carr H2)) by Def25

      .= (the carrier of H1 /\ the carrier of H2);

      hence thesis by Lm20, XBOOLE_1: 17;

    end;

    theorem :: GROUP_9:21

    

     Th21: (( (1). G) /\ H1) = ( (1). G) & (H1 /\ ( (1). G)) = ( (1). G)

    proof

      

       A1: ( (1). G) is StableSubgroup of H1 by Th16;

      hence (( (1). G) /\ H1) = ( (1). G) by Lm21;

      thus thesis by A1, Lm21;

    end;

    theorem :: GROUP_9:22

    

     Th22: ( union ( Cosets N)) = the carrier of G

    proof

      reconsider H = the multMagma of N as strict normal Subgroup of G by Lm6;

      now

        set h = the Element of H;

        let x be object;

        reconsider g = h as Element of G by GROUP_2: 42;

        assume x in the carrier of G;

        then

        reconsider a = x as Element of G;

        

         A1: a = (a * ( 1_ G)) by GROUP_1:def 4

        .= (a * ((g " ) * g)) by GROUP_1:def 5

        .= ((a * (g " )) * g) by GROUP_1:def 3;

        

         A2: ((a * (g " )) * H) in ( Cosets H) by GROUP_2:def 15;

        h in H by STRUCT_0:def 5;

        then a in ((a * (g " )) * H) by A1, GROUP_2: 103;

        hence x in ( union ( Cosets H)) by A2, TARSKI:def 4;

      end;

      then

       A3: the carrier of G c= ( union ( Cosets H));

      ( Cosets N) = ( Cosets H) by Def14;

      hence thesis by A3, XBOOLE_0:def 10;

    end;

    theorem :: GROUP_9:23

    

     Th23: for N1,N2 be strict normal StableSubgroup of G holds ex N be strict normal StableSubgroup of G st the carrier of N = (( carr N1) * ( carr N2))

    proof

      let N1,N2 be strict normal StableSubgroup of G;

      set N19 = the multMagma of N1;

      set N29 = the multMagma of N2;

      reconsider N19, N29 as strict normal Subgroup of G by Lm6;

      set A = (( carr N19) * ( carr N29));

      set B = ( carr N19);

      set C = ( carr N29);

      (( carr N19) * ( carr N29)) = (( carr N29) * ( carr N19)) by GROUP_3: 125;

      then

      consider H9 be strict Subgroup of G such that

       A1: the carrier of H9 = A by GROUP_2: 78;

       A2:

      now

        let o be Element of O;

        let g be Element of G;

        assume g in A;

        then

        consider a,b be Element of G such that

         A3: g = (a * b) and

         A4: a in ( carr N1) and

         A5: b in ( carr N2);

        a in N1 by A4, STRUCT_0:def 5;

        then ((G ^ o) . a) in N1 by Lm9;

        then

         A6: ((G ^ o) . a) in ( carr N1) by STRUCT_0:def 5;

        b in N2 by A5, STRUCT_0:def 5;

        then ((G ^ o) . b) in N2 by Lm9;

        then ((G ^ o) . b) in ( carr N2) by STRUCT_0:def 5;

        then (((G ^ o) . a) * ((G ^ o) . b)) in (( carr N1) * ( carr N2)) by A6;

        hence ((G ^ o) . g) in A by A3, GROUP_6:def 6;

      end;

       A7:

      now

        let g be Element of G;

        assume g in A;

        then g in H9 by A1, STRUCT_0:def 5;

        then (g " ) in H9 by GROUP_2: 51;

        hence (g " ) in A by A1, STRUCT_0:def 5;

      end;

      now

        let g1,g2 be Element of G;

        assume g1 in A & g2 in A;

        then g1 in H9 & g2 in H9 by A1, STRUCT_0:def 5;

        then (g1 * g2) in H9 by GROUP_2: 50;

        hence (g1 * g2) in A by A1, STRUCT_0:def 5;

      end;

      then

      consider H be strict StableSubgroup of G such that

       A8: the carrier of H = A by A1, A7, A2, Lm14;

      now

        let a be Element of G;

        

        thus (a * H9) = ((a * N19) * C) by A1, GROUP_2: 29

        .= ((N19 * a) * C) by GROUP_3: 117

        .= (B * (a * N29)) by GROUP_2: 30

        .= (B * (N29 * a)) by GROUP_3: 117

        .= (H9 * a) by A1, GROUP_2: 31;

      end;

      then H9 is normal Subgroup of G by GROUP_3: 117;

      then for H99 be strict Subgroup of G st H99 = the multMagma of H holds H99 is normal by A1, A8, GROUP_2: 59;

      then H is normal;

      hence thesis by A8;

    end;

    

     Lm22: for F1 be FinSequence, y be Element of NAT st y in ( dom F1) holds ((( len F1) - y) + 1) is Element of NAT & ((( len F1) - y) + 1) >= 1 & ((( len F1) - y) + 1) <= ( len F1)

    proof

      let F1 be FinSequence, y be Element of NAT ;

      assume

       A1: y in ( dom F1);

      now

        assume ((( len F1) - y) + 1) < 0 ;

        then 1 < ( 0 qua Nat - (( len F1) - y)) by XREAL_1: 20;

        then 1 < (y - ( len F1));

        then

         A2: (( len F1) + 1) < y by XREAL_1: 20;

        y <= ( len F1) by A1, FINSEQ_3: 25;

        hence contradiction by A2, NAT_1: 12;

      end;

      then

      reconsider n = ((( len F1) - y) + 1) as Element of NAT by INT_1: 3;

      y >= 1 by A1, FINSEQ_3: 25;

      then ((n - 1) - y) <= ((( len F1) - y) - 1) by XREAL_1: 13;

      then

       A3: (n - (y + 1)) <= (( len F1) - (y + 1));

      (y + 0 ) <= ( len F1) by A1, FINSEQ_3: 25;

      then ( 0 + 1) = 1 & 0 <= (( len F1) - y) by XREAL_1: 19;

      hence thesis by A3, XREAL_1: 6, XREAL_1: 9;

    end;

    

     Lm23: for G,H be Group, F1 be FinSequence of the carrier of G, F2 be FinSequence of the carrier of H, I be FinSequence of INT , f be Homomorphism of G, H st (for k be Nat st k in ( dom F1) holds (F2 . k) = (f . (F1 . k))) & ( len F1) = ( len I) & ( len F2) = ( len I) holds (f . ( Product (F1 |^ I))) = ( Product (F2 |^ I))

    proof

      defpred P[ Nat] means for G,H be Group, F1 be FinSequence of the carrier of G, F2 be FinSequence of the carrier of H, I be FinSequence of INT , f be Homomorphism of G, H st (for k be Nat st k in ( dom F1) holds (F2 . k) = (f . (F1 . k))) & ( len F1) = ( len I) & ( len F2) = ( len I) & $1 = ( len I) holds (f . ( Product (F1 |^ I))) = ( Product (F2 |^ I));

      let G,H be Group;

      let F1 be FinSequence of the carrier of G;

      let F2 be FinSequence of the carrier of H;

      let I be FinSequence of INT ;

      let f be Homomorphism of G, H;

      assume

       A1: (for k be Nat st k in ( dom F1) holds (F2 . k) = (f . (F1 . k))) & ( len F1) = ( len I) & ( len F2) = ( len I);

       A2:

      now

        let n be Nat;

        assume

         A3: P[n];

        thus P[(n + 1)]

        proof

          let G,H be Group;

          let F1 be FinSequence of the carrier of G;

          let F2 be FinSequence of the carrier of H;

          let I be FinSequence of INT ;

          let f be Homomorphism of G, H;

          assume

           A4: for k be Nat st k in ( dom F1) holds (F2 . k) = (f . (F1 . k));

          assume that

           A5: ( len F1) = ( len I) and

           A6: ( len F2) = ( len I) and

           A7: (n + 1) = ( len I);

          consider F1n be FinSequence of the carrier of G, g be Element of G such that

           A8: F1 = (F1n ^ <*g*>) by A5, A7, FINSEQ_2: 19;

          

           A9: ( len F1) = (( len F1n) + ( len <*g*>)) by A8, FINSEQ_1: 22;

          then

           A10: (n + 1) = (( len F1n) + 1) by A5, A7, FINSEQ_1: 40;

          consider F2n be FinSequence of the carrier of H, h be Element of H such that

           A11: F2 = (F2n ^ <*h*>) by A6, A7, FINSEQ_2: 19;

          

           A12: ( dom F1) = ( dom F2) & ( dom F2) = ( dom I) by A5, A6, FINSEQ_3: 29;

          1 <= (n + 1) by NAT_1: 11;

          then

           A13: (n + 1) in ( dom I) by A7, FINSEQ_3: 25;

          set F21 = <*h*>;

          set F11 = <*g*>;

          consider In be FinSequence of INT , i be Element of INT such that

           A14: I = (In ^ <*i*>) by A7, FINSEQ_2: 19;

          set I1 = <*i*>;

          ( len I) = (( len In) + ( len <*i*>)) by A14, FINSEQ_1: 22;

          then

           A15: (n + 1) = (( len In) + 1) by A7, FINSEQ_1: 40;

          

           A16: ( len F2) = (( len F2n) + ( len <*h*>)) by A11, FINSEQ_1: 22;

          then

           A17: (n + 1) = (( len F2n) + 1) by A6, A7, FINSEQ_1: 40;

           A18:

          now

            let k be Nat;

            ( 0 + n) <= (1 + n) by XREAL_1: 6;

            then

             A19: ( dom F1n) c= ( dom F1) by A5, A7, A10, FINSEQ_3: 30;

            assume

             A20: k in ( dom F1n);

            then k in ( dom F2n) by A10, A17, FINSEQ_3: 29;

            

            hence (F2n . k) = (F2 . k) by A11, FINSEQ_1:def 7

            .= (f . (F1 . k)) by A4, A20, A19

            .= (f . (F1n . k)) by A8, A20, FINSEQ_1:def 7;

          end;

          

           A21: (F2 . (n + 1)) = ((F2n ^ <*h*>) . (( len F2n) + 1)) by A6, A7, A11, A16, FINSEQ_1: 40

          .= h by FINSEQ_1: 42;

          

           A22: (F1 . (n + 1)) = ((F1n ^ <*g*>) . (( len F1n) + 1)) by A5, A7, A8, A9, FINSEQ_1: 40

          .= g by FINSEQ_1: 42;

          ( len F21) = 1 by FINSEQ_1: 40

          .= ( len I1) by FINSEQ_1: 40;

          

          then

           A23: ( Product (F2 |^ I)) = ( Product ((F2n |^ In) ^ (F21 |^ I1))) by A14, A11, A15, A17, GROUP_4: 19

          .= (( Product (F2n |^ In)) * ( Product (F21 |^ I1))) by GROUP_4: 5;

          

           A24: (f . ( Product (F11 |^ I1))) = (f . ( Product ( <*g*> |^ <*( @ i)*>)))

          .= (f . ( Product <*(g |^ i)*>)) by GROUP_4: 22

          .= (f . (g |^ i)) by GROUP_4: 9

          .= ((f . g) |^ i) by GROUP_6: 37

          .= (h |^ i) by A4, A13, A12, A22, A21

          .= ( Product <*(h |^ i)*>) by GROUP_4: 9

          .= ( Product ( <*h*> |^ <*( @ i)*>)) by GROUP_4: 22

          .= ( Product (F21 |^ I1));

          ( len F11) = 1 by FINSEQ_1: 40

          .= ( len I1) by FINSEQ_1: 40;

          

          then ( Product (F1 |^ I)) = ( Product ((F1n |^ In) ^ (F11 |^ I1))) by A14, A8, A15, A10, GROUP_4: 19

          .= (( Product (F1n |^ In)) * ( Product (F11 |^ I1))) by GROUP_4: 5;

          

          then (f . ( Product (F1 |^ I))) = ((f . ( Product (F1n |^ In))) * (f . ( Product (F11 |^ I1)))) by GROUP_6:def 6

          .= (( Product (F2n |^ In)) * ( Product (F21 |^ I1))) by A3, A15, A10, A17, A18, A24;

          hence thesis by A23;

        end;

      end;

      

       A25: P[ 0 ]

      proof

        let G,H be Group;

        let F1 be FinSequence of the carrier of G;

        let F2 be FinSequence of the carrier of H;

        let I be FinSequence of INT ;

        let f be Homomorphism of G, H;

        assume for k be Nat st k in ( dom F1) holds (F2 . k) = (f . (F1 . k));

        assume that

         A26: ( len F1) = ( len I) and

         A27: ( len F2) = ( len I) and

         A28: 0 = ( len I);

        ( len (F2 |^ I)) = 0 by A27, A28, GROUP_4:def 3;

        then (F2 |^ I) = ( <*> the carrier of H);

        then

         A29: ( Product (F2 |^ I)) = ( 1_ H) by GROUP_4: 8;

        ( len (F1 |^ I)) = 0 by A26, A28, GROUP_4:def 3;

        then (F1 |^ I) = ( <*> the carrier of G);

        then ( Product (F1 |^ I)) = ( 1_ G) by GROUP_4: 8;

        hence thesis by A29, GROUP_6: 31;

      end;

      for n be Nat holds P[n] from NAT_1:sch 2( A25, A2);

      hence thesis by A1;

    end;

    theorem :: GROUP_9:24

    

     Th24: g1 in ( the_stable_subgroup_of A) iff ex F be FinSequence of the carrier of G, I be FinSequence of INT , C be Subset of G st C = ( the_stable_subset_generated_by (A,the action of G)) & ( len F) = ( len I) & ( rng F) c= C & ( Product (F |^ I)) = g1

    proof

      set H9 = ( the_stable_subgroup_of A);

      set Y = the carrier of H9;

      

       A1: A c= the carrier of H9 by Def26;

      thus g1 in ( the_stable_subgroup_of A) implies ex F be FinSequence of the carrier of G, I be FinSequence of INT , C be Subset of G st C = ( the_stable_subset_generated_by (A,the action of G)) & ( len F) = ( len I) & ( rng F) c= C & ( Product (F |^ I)) = g1

      proof

        defpred P[ set] means ex F be FinSequence of the carrier of G, I be FinSequence of INT , C be Subset of G st C = ( the_stable_subset_generated_by (A,the action of G)) & $1 = ( Product (F |^ I)) & ( len F) = ( len I) & ( rng F) c= C;

        assume

         A2: g1 in ( the_stable_subgroup_of A);

        reconsider B = { b where b be Element of G : P[b] } as Subset of G from DOMAIN_1:sch 7;

         A3:

        now

          let c,d be Element of G;

          assume that

           A4: c in B and

           A5: d in B;

          ex d1 be Element of G st c = d1 & ex F be FinSequence of the carrier of G, I be FinSequence of INT , C be Subset of G st C = ( the_stable_subset_generated_by (A,the action of G)) & d1 = ( Product (F |^ I)) & ( len F) = ( len I) & ( rng F) c= C by A4;

          then

          consider F1 be FinSequence of the carrier of G, I1 be FinSequence of INT , C be Subset of G such that

           A6: C = ( the_stable_subset_generated_by (A,the action of G)) and

           A7: c = ( Product (F1 |^ I1)) and

           A8: ( len F1) = ( len I1) and

           A9: ( rng F1) c= C;

          ex d2 be Element of G st d = d2 & ex F be FinSequence of the carrier of G, I be FinSequence of INT , C be Subset of G st C = ( the_stable_subset_generated_by (A,the action of G)) & d2 = ( Product (F |^ I)) & ( len F) = ( len I) & ( rng F) c= C by A5;

          then

          consider F2 be FinSequence of the carrier of G, I2 be FinSequence of INT , C be Subset of G such that

           A10: C = ( the_stable_subset_generated_by (A,the action of G)) and

           A11: d = ( Product (F2 |^ I2)) and

           A12: ( len F2) = ( len I2) and

           A13: ( rng F2) c= C;

          

           A14: ( len (F1 ^ F2)) = (( len I1) + ( len I2)) by A8, A12, FINSEQ_1: 22

          .= ( len (I1 ^ I2)) by FINSEQ_1: 22;

          ( rng (F1 ^ F2)) = (( rng F1) \/ ( rng F2)) by FINSEQ_1: 31;

          then

           A15: ( rng (F1 ^ F2)) c= C by A6, A9, A10, A13, XBOOLE_1: 8;

          (c * d) = ( Product ((F1 |^ I1) ^ (F2 |^ I2))) by A7, A11, GROUP_4: 5

          .= ( Product ((F1 ^ F2) |^ (I1 ^ I2))) by A8, A12, GROUP_4: 19;

          hence (c * d) in B by A10, A15, A14;

        end;

         A16:

        now

          let o be Element of O;

          let c be Element of G;

          assume c in B;

          then ex d1 be Element of G st c = d1 & ex F be FinSequence of the carrier of G, I be FinSequence of INT , C be Subset of G st C = ( the_stable_subset_generated_by (A,the action of G)) & d1 = ( Product (F |^ I)) & ( len F) = ( len I) & ( rng F) c= C;

          then

          consider F1 be FinSequence of the carrier of G, I1 be FinSequence of INT , C be Subset of G such that

           A17: C = ( the_stable_subset_generated_by (A,the action of G)) and

           A18: c = ( Product (F1 |^ I1)) and

           A19: ( len F1) = ( len I1) and

           A20: ( rng F1) c= C;

          deffunc F( Nat) = ((G ^ o) . (F1 . $1));

          consider F2 be FinSequence such that

           A21: ( len F2) = ( len F1) and

           A22: for k be Nat st k in ( dom F2) holds (F2 . k) = F(k) from FINSEQ_1:sch 2;

          

           A23: ( dom F2) = ( dom F1) by A21, FINSEQ_3: 29;

          

           A24: ( Seg ( len F1)) = ( dom F1) by FINSEQ_1:def 3;

          now

            

             A25: C is_stable_under_the_action_of the action of G by A17, Def2;

            let y be object;

            assume y in ( rng F2);

            then

            consider x be object such that

             A26: x in ( dom F2) and

             A27: y = (F2 . x) by FUNCT_1:def 3;

            

             A28: x in ( Seg ( len F1)) by A21, A26, FINSEQ_1:def 3;

            reconsider x as Element of NAT by A26;

            

             A29: (F2 . x) = ((G ^ o) . (F1 . x)) by A22, A26;

            

             A30: (F1 . x) in ( rng F1) by A24, A28, FUNCT_1: 3;

            per cases ;

              suppose

               A31: O <> {} ;

              set f = (the action of G . o);

              

               A32: (G ^ o) = (the action of G . o) by A31, Def6;

              then

              reconsider f as Function of G, G;

              ( dom f) = the carrier of G by FUNCT_2:def 1;

              then

               A33: y in (f .: C) by A20, A27, A29, A30, A32, FUNCT_1:def 6;

              (f .: C) c= C by A25, A31;

              hence y in C by A33;

            end;

              suppose O = {} ;

              then (G ^ o) = ( id the carrier of G) by Def6;

              then ((G ^ o) . (F1 . x)) = (F1 . x) by A30, FUNCT_1: 18;

              hence y in C by A20, A27, A29, A30;

            end;

          end;

          then

           A34: ( rng F2) c= C;

          then ( rng F2) c= the carrier of G by XBOOLE_1: 1;

          then

          reconsider F2 as FinSequence of the carrier of G by FINSEQ_1:def 4;

          ((G ^ o) . c) = ( Product (F2 |^ I1)) by A18, A19, A21, A22, A23, Lm23;

          hence ((G ^ o) . c) in B by A17, A19, A21, A34;

        end;

         A35:

        now

          let c be Element of G;

          assume c in B;

          then ex d1 be Element of G st c = d1 & ex F be FinSequence of the carrier of G, I be FinSequence of INT , C be Subset of G st C = ( the_stable_subset_generated_by (A,the action of G)) & d1 = ( Product (F |^ I)) & ( len F) = ( len I) & ( rng F) c= C;

          then

          consider F1 be FinSequence of the carrier of G, I1 be FinSequence of INT , C be Subset of G such that

           A36: C = ( the_stable_subset_generated_by (A,the action of G)) & c = ( Product (F1 |^ I1)) and

           A37: ( len F1) = ( len I1) and

           A38: ( rng F1) c= C;

          deffunc F( Nat) = (F1 . ((( len F1) - $1) + 1));

          consider F2 be FinSequence such that

           A39: ( len F2) = ( len F1) and

           A40: for k be Nat st k in ( dom F2) holds (F2 . k) = F(k) from FINSEQ_1:sch 2;

          

           A41: ( Seg ( len I1)) = ( dom I1) by FINSEQ_1:def 3;

          

           A42: ( rng F2) c= ( rng F1)

          proof

            let x be object;

            assume x in ( rng F2);

            then

            consider y be object such that

             A43: y in ( dom F2) and

             A44: (F2 . y) = x by FUNCT_1:def 3;

            reconsider y as Element of NAT by A43;

            reconsider n = ((( len F1) - y) + 1) as Element of NAT by A39, A43, Lm22;

            1 <= n & n <= ( len F1) by A39, A43, Lm22;

            then

             A45: n in ( dom F1) by FINSEQ_3: 25;

            x = (F1 . ((( len F1) - y) + 1)) by A40, A43, A44;

            hence thesis by A45, FUNCT_1:def 3;

          end;

          then

           A46: ( rng F2) c= C by A38;

          set p = (F1 |^ I1);

          

           A47: ( Seg ( len F1)) = ( dom F1) by FINSEQ_1:def 3;

          

           A48: ( len p) = ( len F1) by GROUP_4:def 3;

          defpred P[ Nat, object] means ex i be Integer st i = (I1 . ((( len I1) - $1) + 1)) & $2 = ( - i);

          

           A49: for k be Nat st k in ( Seg ( len I1)) holds ex x be object st P[k, x]

          proof

            let k be Nat;

            assume k in ( Seg ( len I1));

            then

             A50: k in ( dom I1) by FINSEQ_1:def 3;

            then

            reconsider n = ((( len I1) - k) + 1) as Element of NAT by Lm22;

            1 <= n & n <= ( len I1) by A50, Lm22;

            then n in ( dom I1) by FINSEQ_3: 25;

            then (I1 . n) in ( rng I1) by FUNCT_1:def 3;

            then

            reconsider i = (I1 . n) as Element of INT qua non empty set;

            take ( - i), i;

            thus thesis;

          end;

          consider I2 be FinSequence such that

           A51: ( dom I2) = ( Seg ( len I1)) and

           A52: for k be Nat st k in ( Seg ( len I1)) holds P[k, (I2 . k)] from FINSEQ_1:sch 1( A49);

          

           A53: ( len F2) = ( len I2) by A37, A39, A51, FINSEQ_1:def 3;

          

           A54: ( rng I2) c= INT

          proof

            let x be object;

            assume x in ( rng I2);

            then

            consider y be object such that

             A55: y in ( dom I2) and

             A56: x = (I2 . y) by FUNCT_1:def 3;

            reconsider y as Element of NAT by A55;

            ex i be Integer st i = (I1 . ((( len I1) - y) + 1)) & x = ( - i) by A51, A52, A55, A56;

            hence thesis by INT_1:def 2;

          end;

          

           A57: ( rng F2) c= the carrier of G by A42, XBOOLE_1: 1;

          

           A58: ( dom F2) = ( dom I2) by A37, A39, A51, FINSEQ_1:def 3;

          reconsider I2 as FinSequence of INT by A54, FINSEQ_1:def 4;

          reconsider F2 as FinSequence of the carrier of G by A57, FINSEQ_1:def 4;

          set q = (F2 |^ I2);

          

           A59: ( len q) = ( len F2) by GROUP_4:def 3;

          then

           A60: ( dom q) = ( dom F2) by FINSEQ_3: 29;

          

           A61: ( dom F1) = ( dom I1) by A37, FINSEQ_3: 29;

          now

            let k be Nat;

            

             A62: (I2 /. k) = ( @ (I2 /. k));

            assume

             A63: k in ( dom q);

            then

            reconsider n = ((( len p) - k) + 1) as Element of NAT by A39, A48, A59, Lm22;

            

             A64: (I1 /. n) = ( @ (I1 /. n)) & (q /. k) = (q . k) by A63, PARTFUN1:def 6;

            

             A65: (F2 /. k) = (F2 . k) & (F2 . k) = (F1 . n) by A40, A48, A60, A63, PARTFUN1:def 6;

            1 <= n & ( len p) >= n by A39, A48, A59, A63, Lm22;

            then

             A66: n in ( dom I2) by A37, A51, A48;

            then

             A67: (I1 . n) = (I1 /. n) by A51, A41, PARTFUN1:def 6;

            ( dom q) = ( dom I1) by A37, A39, A59, FINSEQ_3: 29;

            then

            consider i be Integer such that

             A68: i = (I1 . n) and

             A69: (I2 . k) = ( - i) by A37, A52, A41, A48, A63;

            (I2 . k) = (I2 /. k) by A58, A60, A63, PARTFUN1:def 6;

            then

             A70: (q . k) = ((F2 /. k) |^ ( - i)) by A60, A63, A69, A62, GROUP_4:def 3;

            (F1 /. n) = (F1 . n) by A37, A47, A51, A66, PARTFUN1:def 6;

            then (q . k) = (((F1 /. n) |^ i) " ) by A70, A65, GROUP_1: 36;

            hence ((q /. k) " ) = (p . ((( len p) - k) + 1)) by A61, A51, A41, A66, A68, A67, A64, GROUP_4:def 3;

          end;

          then (( Product p) " ) = ( Product q) by A39, A48, A59, GROUP_4: 14;

          hence (c " ) in B by A36, A53, A46;

        end;

        

         A71: ( rng ( <*> the carrier of G)) = {} & {} c= ( the_stable_subset_generated_by (A,the action of G));

        ( 1_ G) = ( Product ( <*> the carrier of G)) & (( <*> the carrier of G) |^ ( <*> INT )) = {} by GROUP_4: 8, GROUP_4: 21;

        then ( 1_ G) in B by A71;

        then

        consider H be strict StableSubgroup of G such that

         A72: the carrier of H = B by A3, A35, A16, Lm14;

        A c= B

        proof

          set C = ( the_stable_subset_generated_by (A,the action of G));

          reconsider p = 1 as Integer;

          let x be object;

          assume

           A73: x in A;

          then

          reconsider a = x as Element of G;

          A c= C by Def2;

          then

           A74: ( rng <*a*>) = {a} & {a} c= C by A73, FINSEQ_1: 39, ZFMISC_1: 31;

          

           A75: ( Product ( <*a*> |^ <*( @ p)*>)) = ( Product <*(a |^ 1)*>) by GROUP_4: 22

          .= (a |^ 1) by GROUP_4: 9

          .= a by GROUP_1: 26;

          ( len <*a*>) = 1 & ( len <*( @ p)*>) = 1 by FINSEQ_1: 39;

          hence thesis by A75, A74;

        end;

        then ( the_stable_subgroup_of A) is StableSubgroup of H by A72, Def26;

        then ( the_stable_subgroup_of A) is Subgroup of H by Def7;

        then g1 in H by A2, GROUP_2: 40;

        then g1 in B by A72, STRUCT_0:def 5;

        then ex b be Element of G st b = g1 & ex F be FinSequence of the carrier of G, I be FinSequence of INT , C be Subset of G st C = ( the_stable_subset_generated_by (A,the action of G)) & b = ( Product (F |^ I)) & ( len F) = ( len I) & ( rng F) c= C;

        hence thesis;

      end;

      given F be FinSequence of the carrier of G, I be FinSequence of INT , C be Subset of G such that

       A76: C = ( the_stable_subset_generated_by (A,the action of G)) and ( len F) = ( len I) and

       A77: ( rng F) c= C and

       A78: ( Product (F |^ I)) = g1;

      H9 is Subgroup of G by Def7;

      then

      reconsider Y as Subset of G by GROUP_2:def 5;

      now

        let o be Element of O;

        let f be Function of G, G;

        assume

         A79: o in O;

        assume

         A80: f = (the action of G . o);

        now

          let y be object;

          assume y in (f .: Y);

          then

          consider x be object such that

           A81: x in ( dom f) and

           A82: x in Y and

           A83: y = (f . x) by FUNCT_1:def 6;

          reconsider x as Element of G by A81;

          x in H9 by A82, STRUCT_0:def 5;

          then ((G ^ o) . x) in H9 by Lm9;

          then (f . x) in H9 by A79, A80, Def6;

          hence y in Y by A83, STRUCT_0:def 5;

        end;

        hence (f .: Y) c= Y;

      end;

      then

       A84: Y is_stable_under_the_action_of the action of G;

      reconsider H9 as Subgroup of G by Def7;

      C c= the carrier of H9 by A76, A1, A84, Def2;

      then ( rng F) c= ( carr H9) by A77;

      hence thesis by A78, GROUP_4: 20;

    end;

    

     Lm24: A is empty implies ( the_stable_subgroup_of A) = ( (1). G)

    proof

       A1:

      now

        let H be strict StableSubgroup of G;

        assume A c= the carrier of H;

        ( (1). G) = ( (1). H) by Th15;

        hence ( (1). G) is StableSubgroup of H;

      end;

      assume A is empty;

      then A c= the carrier of ( (1). G);

      hence thesis by A1, Def26;

    end;

    

     Lm25: for O be non empty set, E be set, o be Element of O, A be Action of O, E holds ( Product ( <*o*>,A)) = (A . o)

    proof

      let O be non empty set;

      let E be set;

      let o be Element of O;

      let A be Action of O, E;

      ( len <*o*>) = 1 & ex PF be FinSequence of ( Funcs (E,E)) st ( Product ( <*o*>,A)) = (PF . ( len <*o*>)) & ( len PF) = ( len <*o*>) & (PF . 1) = (A . ( <*o*> . 1)) & for k be Nat st k <> 0 & k < ( len <*o*>) holds ex f,g be Function of E, E st f = (PF . k) & g = (A . ( <*o*> . (k + 1))) & (PF . (k + 1)) = (f * g) by Def3, FINSEQ_1: 39;

      hence thesis by FINSEQ_1: 40;

    end;

    

     Lm26: for O be non empty set, E be set, o be Element of O, F be FinSequence of O, A be Action of O, E holds ( Product ((F ^ <*o*>),A)) = (( Product (F,A)) * ( Product ( <*o*>,A)))

    proof

      let O be non empty set;

      let E be set;

      let o be Element of O;

      let F be FinSequence of O;

      let A be Action of O, E;

      set F1 = (F ^ <*o*>);

      

       A1: ( len F1) = (( len F) + ( len <*o*>)) by FINSEQ_1: 22

      .= (( len F) + 1) by FINSEQ_1: 39;

      consider PF1 be FinSequence of ( Funcs (E,E)) such that

       A2: ( Product (F1,A)) = (PF1 . ( len F1)) and

       A3: ( len PF1) = ( len F1) and

       A4: (PF1 . 1) = (A . (F1 . 1)) and

       A5: for k be Nat st k <> 0 & k < ( len F1) holds ex f,g be Function of E, E st f = (PF1 . k) & g = (A . (F1 . (k + 1))) & (PF1 . (k + 1)) = (f * g) by Def3;

      per cases ;

        suppose

         A6: ( len F) <> 0 ;

        reconsider PF = (PF1 | ( Seg ( len F))) as FinSequence of ( Funcs (E,E)) by FINSEQ_1: 18;

        set IT = (PF . ( len F));

        

         A7: ( Product ( <*o*>,A)) = (A . o) by Lm25

        .= (A . (F1 . (( len F) + 1))) by FINSEQ_1: 42;

         A8:

        now

          let k be Nat;

          assume

           A9: k <> 0 ;

          then

           A10: ( 0 + 1) < (k + 1) by XREAL_1: 6;

          assume

           A11: k < ( len F);

          then k < ( len F1) by A1, NAT_1: 13;

          then

          consider f,g be Function of E, E such that

           A12: f = (PF1 . k) and

           A13: g = (A . (F1 . (k + 1))) and

           A14: (PF1 . (k + 1)) = (f * g) by A5, A9;

          take f, g;

          1 <= k by A10, NAT_1: 13;

          then k in ( Seg ( len F)) by A11;

          hence f = (PF . k) by A12, FUNCT_1: 49;

          (k + 1) <= ( len F) by A11, NAT_1: 13;

          then

           A15: (k + 1) in ( Seg ( len F)) by A10;

          then (k + 1) in ( dom F) by FINSEQ_1:def 3;

          hence g = (A . (F . (k + 1))) by A13, FINSEQ_1:def 7;

          thus (PF . (k + 1)) = (f * g) by A14, A15, FUNCT_1: 49;

        end;

        

         A16: ( len F) < ( len F1) by A1, NAT_1: 13;

        then

         A17: ex f,g be Function of E, E st f = (PF1 . ( len F)) & g = (A . (F1 . (( len F) + 1))) & (PF1 . (( len F) + 1)) = (f * g) by A5, A6;

        ( 0 + 1) < (( len F) + 1) by A6, XREAL_1: 6;

        then 1 <= ( len F) by NAT_1: 13;

        then

         A18: 1 in ( Seg ( len F));

        then

         A19: 1 in ( dom F) by FINSEQ_1:def 3;

        

         A20: ( len F) in ( Seg ( len F)) by A6, FINSEQ_1: 3;

        ( Seg ( len F)) c= ( Seg ( len PF1)) by A3, A16, FINSEQ_1: 5;

        then ( len F) in ( Seg ( len PF1)) by A20;

        then ( len F) in ( dom PF1) by FINSEQ_1:def 3;

        then ( len F) in (( dom PF1) /\ ( Seg ( len F))) by A20, XBOOLE_0:def 4;

        then ( len F) in ( dom PF) by RELAT_1: 61;

        then IT in ( rng PF) by FUNCT_1: 3;

        then ex f be Function st IT = f & ( dom f) = E & ( rng f) c= E by FUNCT_2:def 2;

        then

        reconsider IT as Function of E, E by FUNCT_2: 2;

        

         A21: ( len PF) = ( len F) by A3, A16, FINSEQ_1: 17;

        (PF . 1) = (A . (F1 . 1)) by A4, A18, FUNCT_1: 49

        .= (A . (F . 1)) by A19, FINSEQ_1:def 7;

        then IT = ( Product (F,A)) by A6, A21, A8, Def3;

        hence thesis by A1, A2, A6, A17, A7, FINSEQ_1: 3, FUNCT_1: 49;

      end;

        suppose

         A22: ( len F) = 0 ;

        then F = ( <*> O);

        

        hence ( Product ((F ^ <*o*>),A)) = ( Product ( <*o*>,A)) by FINSEQ_1: 34

        .= (( id E) * ( Product ( <*o*>,A))) by FUNCT_2: 17

        .= (( Product (F,A)) * ( Product ( <*o*>,A))) by A22, Def3;

      end;

    end;

    

     Lm27: for O be non empty set, E be set, o be Element of O, F be FinSequence of O, A be Action of O, E holds ( Product (( <*o*> ^ F),A)) = (( Product ( <*o*>,A)) * ( Product (F,A)))

    proof

      let O be non empty set;

      let E be set;

      let o be Element of O;

      let F be FinSequence of O;

      let A be Action of O, E;

      defpred P[ Nat] means for F be FinSequence of O st ( len F) = $1 holds ( Product (( <*o*> ^ F),A)) = (( Product ( <*o*>,A)) * ( Product (F,A)));

      reconsider k = ( len F) as Element of NAT ;

      

       A1: k = ( len F);

      

       A2: for k be Nat st P[k] holds P[(k + 1)]

      proof

        let k be Nat;

        assume

         A3: P[k];

        now

          let F be FinSequence of O;

          assume

           A4: ( len F) = (k + 1);

          then

          consider Fk be FinSequence of O, o9 be Element of O such that

           A5: F = (Fk ^ <*o9*>) by FINSEQ_2: 19;

          ( len F) = (( len Fk) + ( len <*o9*>)) by A5, FINSEQ_1: 22;

          then

           A6: (k + 1) = (( len Fk) + 1) by A4, FINSEQ_1: 39;

          set F2k = ( <*o*> ^ Fk);

          

          thus ( Product (( <*o*> ^ F),A)) = ( Product ((( <*o*> ^ Fk) ^ <*o9*>),A)) by A5, FINSEQ_1: 32

          .= (( Product (F2k,A)) * ( Product ( <*o9*>,A))) by Lm26

          .= ((( Product ( <*o*>,A)) * ( Product (Fk,A))) * ( Product ( <*o9*>,A))) by A3, A6

          .= (( Product ( <*o*>,A)) * (( Product (Fk,A)) * ( Product ( <*o9*>,A)))) by RELAT_1: 36

          .= (( Product ( <*o*>,A)) * ( Product (F,A))) by A5, Lm26;

        end;

        hence thesis;

      end;

      

       A7: P[ 0 ]

      proof

        let F be FinSequence of O;

        assume

         A8: ( len F) = 0 ;

        then F = ( <*> O);

        

        hence ( Product (( <*o*> ^ F),A)) = ( Product ( <*o*>,A)) by FINSEQ_1: 34

        .= (( Product ( <*o*>,A)) * ( id E)) by FUNCT_2: 17

        .= (( Product ( <*o*>,A)) * ( Product (F,A))) by A8, Def3;

      end;

      for k be Nat holds P[k] from NAT_1:sch 2( A7, A2);

      hence thesis by A1;

    end;

    

     Lm28: for O be non empty set, E be set, F1,F2 be FinSequence of O, A be Action of O, E holds ( Product ((F1 ^ F2),A)) = (( Product (F1,A)) * ( Product (F2,A)))

    proof

      let O be non empty set, E be set;

      let F1,F2 be FinSequence of O;

      let A be Action of O, E;

      defpred P[ Nat] means for F1,F2 be FinSequence of O st ( len F1) = $1 holds ( Product ((F1 ^ F2),A)) = (( Product (F1,A)) * ( Product (F2,A)));

      reconsider k = ( len F1) as Element of NAT ;

      

       A1: k = ( len F1);

      

       A2: for k be Nat st P[k] holds P[(k + 1)]

      proof

        let k be Nat;

        assume

         A3: P[k];

        now

          let F1,F2 be FinSequence of O;

          assume

           A4: ( len F1) = (k + 1);

          then

          consider F1k be FinSequence of O, o be Element of O such that

           A5: F1 = (F1k ^ <*o*>) by FINSEQ_2: 19;

          set F2k = ( <*o*> ^ F2);

          ( len F1) = (( len F1k) + ( len <*o*>)) by A5, FINSEQ_1: 22;

          then

           A6: (k + 1) = (( len F1k) + 1) by A4, FINSEQ_1: 39;

          

          thus ( Product ((F1 ^ F2),A)) = ( Product ((F1k ^ F2k),A)) by A5, FINSEQ_1: 32

          .= (( Product (F1k,A)) * ( Product (F2k,A))) by A3, A6

          .= (( Product (F1k,A)) * (( Product ( <*o*>,A)) * ( Product (F2,A)))) by Lm27

          .= ((( Product (F1k,A)) * ( Product ( <*o*>,A))) * ( Product (F2,A))) by RELAT_1: 36

          .= (( Product (F1,A)) * ( Product (F2,A))) by A3, A5, A6;

        end;

        hence thesis;

      end;

      

       A7: P[ 0 ]

      proof

        let F1,F2 be FinSequence of O;

        assume

         A8: ( len F1) = 0 ;

        then F1 = ( <*> O);

        

        hence ( Product ((F1 ^ F2),A)) = ( Product (F2,A)) by FINSEQ_1: 34

        .= (( id E) * ( Product (F2,A))) by FUNCT_2: 17

        .= (( Product (F1,A)) * ( Product (F2,A))) by A8, Def3;

      end;

      for k be Nat holds P[k] from NAT_1:sch 2( A7, A2);

      hence thesis by A1;

    end;

    

     Lm29: for O,E be set, F be FinSequence of O, Y be Subset of E, A be Action of O, E st Y is_stable_under_the_action_of A holds (( Product (F,A)) .: Y) c= Y

    proof

      let O,E be set;

      let F be FinSequence of O;

      let Y be Subset of E;

      let A be Action of O, E;

      assume

       A1: Y is_stable_under_the_action_of A;

      per cases ;

        suppose O = {} ;

        then ( len F) = 0 ;

        then ( Product (F,A)) = ( id E) by Def3;

        hence thesis by FUNCT_1: 92;

      end;

        suppose

         A2: O <> {} ;

        defpred P[ Nat] means for F be FinSequence of O st ( len F) = $1 holds (( Product (F,A)) .: Y) c= Y;

        

         A3: for k be Nat st P[k] holds P[(k + 1)]

        proof

          let k be Nat;

          assume

           A4: P[k];

          now

            let F be FinSequence of O;

            assume

             A5: ( len F) = (k + 1);

            then

            consider Fk be FinSequence of O, o be Element of O such that

             A6: F = (Fk ^ <*o*>) by FINSEQ_2: 19;

            ( len F) = (( len Fk) + ( len <*o*>)) by A6, FINSEQ_1: 22;

            then (k + 1) = (( len Fk) + 1) by A5, FINSEQ_1: 39;

            then

             A7: (( Product (Fk,A)) .: Y) c= Y by A4;

            reconsider F1 = <*o*> as FinSequence of O by A6, FINSEQ_1: 36;

            ( Product (F,A)) = (( Product (Fk,A)) * ( Product (F1,A))) by A2, A6, Lm28;

            then

             A8: (( Product (F,A)) .: Y) = (( Product (Fk,A)) .: (( Product (F1,A)) .: Y)) by RELAT_1: 126;

            ( Product (F1,A)) = (A . o) by A2, Lm25;

            then (( Product (F1,A)) .: Y) c= Y by A1, A2;

            then (( Product (F,A)) .: Y) c= (( Product (Fk,A)) .: Y) by A8, RELAT_1: 123;

            hence (( Product (F,A)) .: Y) c= Y by A7;

          end;

          hence thesis;

        end;

        reconsider k = ( len F) as Element of NAT ;

        

         A9: k = ( len F);

        

         A10: P[ 0 ]

        proof

          let F be FinSequence of O;

          assume ( len F) = 0 ;

          then ( Product (F,A)) = ( id E) by Def3;

          hence thesis by FUNCT_1: 92;

        end;

        for k be Nat holds P[k] from NAT_1:sch 2( A10, A3);

        hence thesis by A9;

      end;

    end;

    

     Lm30: for E be non empty set, A be Action of O, E holds for X be Subset of E, a be Element of E st not X is empty holds a in ( the_stable_subset_generated_by (X,A)) iff ex F be FinSequence of O, x be Element of X st (( Product (F,A)) . x) = a

    proof

      let E be non empty set;

      let A be Action of O, E;

      let X be Subset of E;

      let a be Element of E;

      defpred P[ set] means ex F be FinSequence of O, x be Element of X st (( Product (F,A)) . x) = $1;

      set B = { e where e be Element of E : P[e] };

      reconsider B as Subset of E from DOMAIN_1:sch 7;

      assume

       A1: not X is empty;

       A2:

      now

        let Y be Subset of E;

        assume

         A3: Y is_stable_under_the_action_of A;

        assume

         A4: X c= Y;

        now

          let x be object;

          assume x in B;

          then

          consider e be Element of E such that

           A5: x = e and

           A6: ex F be FinSequence of O, x9 be Element of X st (( Product (F,A)) . x9) = e;

          consider F be FinSequence of O, x9 be Element of X such that

           A7: (( Product (F,A)) . x9) = e by A6;

          

           A8: x9 in X by A1;

          then x9 in E;

          then x9 in ( dom ( Product (F,A))) by FUNCT_2:def 1;

          then

           A9: (( Product (F,A)) . x9) in (( Product (F,A)) .: Y) by A4, A8, FUNCT_1:def 6;

          (( Product (F,A)) .: Y) c= Y by A3, Lm29;

          hence x in Y by A5, A7, A9;

        end;

        hence B c= Y;

      end;

      now

        let o be Element of O;

        let f be Function of E, E;

        assume

         A10: o in O;

        assume

         A11: f = (A . o);

        per cases ;

          suppose O = {} ;

          hence (f .: B) c= B by A10;

        end;

          suppose

           A12: O <> {} ;

          now

            reconsider o as Element of O;

            reconsider F99 = <*o*> as FinSequence of O by A12, FINSEQ_1: 74;

            let y be object;

            assume y in (f .: B);

            then

            consider x be object such that

             A13: x in ( dom f) and

             A14: x in B and

             A15: y = (f . x) by FUNCT_1:def 6;

            y in ( rng f) by A13, A15, FUNCT_1: 3;

            then

            reconsider e = y as Element of E;

            consider e9 be Element of E such that

             A16: e9 = x and

             A17: ex F9 be FinSequence of O, x9 be Element of X st (( Product (F9,A)) . x9) = e9 by A14;

            consider F9 be FinSequence of O, x9 be Element of X such that

             A18: (( Product (F9,A)) . x9) = e9 by A17;

            reconsider F = (F99 ^ F9) as FinSequence of O;

            x9 in X by A1;

            then x9 in E;

            then

             A19: x9 in ( dom ( Product (F9,A))) by FUNCT_2:def 1;

            (( Product (F,A)) . x9) = ((( Product (F99,A)) * ( Product (F9,A))) . x9) by A12, Lm28

            .= (( Product (F99,A)) . (( Product (F9,A)) . x9)) by A19, FUNCT_1: 13

            .= e by A11, A12, A15, A16, A18, Lm25;

            hence y in B;

          end;

          hence (f .: B) c= B;

        end;

      end;

      then

       A20: B is_stable_under_the_action_of A;

      now

        set F = ( <*> O);

        let x be object;

        assume

         A21: x in X;

        then

        reconsider e = x as Element of E;

        reconsider x9 = e as Element of X by A21;

        ( len F) = 0 ;

        

        then (( Product (F,A)) . x) = (( id E) . x) by Def3

        .= x by A21, FUNCT_1: 18;

        then (( Product (F,A)) . x9) = e;

        hence x in B;

      end;

      then X c= B;

      then

       A22: B = ( the_stable_subset_generated_by (X,A)) by A20, A2, Def2;

      hereby

        assume a in ( the_stable_subset_generated_by (X,A));

        then

        consider e be Element of E such that

         A23: a = e and

         A24: ex F be FinSequence of O, x be Element of X st (( Product (F,A)) . x) = e by A22;

        consider F be FinSequence of O, x be Element of X such that

         A25: (( Product (F,A)) . x) = e by A24;

        take F, x;

        thus (( Product (F,A)) . x) = a by A23, A25;

      end;

      given F be FinSequence of O, x be Element of X such that

       A26: (( Product (F,A)) . x) = a;

      thus thesis by A22, A26;

    end;

    theorem :: GROUP_9:25

    

     Th25: for H be strict StableSubgroup of G holds ( the_stable_subgroup_of ( carr H)) = H

    proof

      let H be strict StableSubgroup of G;

      for H1 be strict StableSubgroup of G st ( carr H) c= the carrier of H1 holds H is StableSubgroup of H1 by Lm20;

      hence thesis by Def26;

    end;

    theorem :: GROUP_9:26

    

     Th26: A c= B implies ( the_stable_subgroup_of A) is StableSubgroup of ( the_stable_subgroup_of B)

    proof

      assume

       A1: A c= B;

      per cases ;

        suppose

         A2: A is empty;

        reconsider H1 = ( (1). G), H2 = ( (1). ( the_stable_subgroup_of B)) as strict StableSubgroup of G by Th11;

        the carrier of H1 = {( 1_ G)} by Def8

        .= {( 1_ ( the_stable_subgroup_of B))} by Th4

        .= the carrier of H2 by Def8;

        then ( (1). G) = ( (1). ( the_stable_subgroup_of B)) by Lm4;

        hence thesis by A2, Lm24;

      end;

        suppose

         A3: not A is empty;

        now

          set D = ( the_stable_subset_generated_by (B,the action of G));

          let a be Element of G;

          assume a in ( the_stable_subgroup_of A);

          then

          consider F be FinSequence of the carrier of G, I be FinSequence of INT , C be Subset of G such that

           A4: C = ( the_stable_subset_generated_by (A,the action of G)) and

           A5: ( len F) = ( len I) and

           A6: ( rng F) c= C and

           A7: ( Product (F |^ I)) = a by Th24;

          now

            let y be object;

            assume

             A8: y in C;

            then

            reconsider b = y as Element of G;

            consider F1 be FinSequence of O, x be Element of A such that

             A9: (( Product (F1,the action of G)) . x) = b by A3, A4, A8, Lm30;

            x in A by A3;

            hence y in D by A1, A9, Lm30;

          end;

          then C c= D;

          then ( rng F) c= D by A6;

          hence a in ( the_stable_subgroup_of B) by A5, A7, Th24;

        end;

        hence thesis by Th13;

      end;

    end;

    scheme :: GROUP_9:sch1

    MeetSbgWOpEx { O() -> set , G() -> GroupWithOperators of O() , P[ set] } :

ex H be strict StableSubgroup of G() st the carrier of H = ( meet { A where A be Subset of G() : ex K be strict StableSubgroup of G() st A = the carrier of K & P[K] })

      provided

       A1: ex H be strict StableSubgroup of G() st P[H];

      set X = { A where A be Subset of G() : ex K be strict StableSubgroup of G() st A = the carrier of K & P[K] };

      consider T be strict StableSubgroup of G() such that

       A2: P[T] by A1;

      

       A3: ( carr T) in X by A2;

      then

      reconsider Y = ( meet X) as Subset of G() by SETFAM_1: 7;

       A4:

      now

        let a be Element of G();

        assume

         A5: a in Y;

        now

          let Z be set;

          assume

           A6: Z in X;

          then

          consider A be Subset of G() such that

           A7: A = Z and

           A8: ex H be strict StableSubgroup of G() st A = the carrier of H & P[H];

          consider H be StableSubgroup of G() such that

           A9: A = the carrier of H and P[H] by A8;

          a in the carrier of H by A5, A6, A7, A9, SETFAM_1:def 1;

          then a in H by STRUCT_0:def 5;

          then (a " ) in H by Lm19;

          hence (a " ) in Z by A7, A9, STRUCT_0:def 5;

        end;

        hence (a " ) in Y by A3, SETFAM_1:def 1;

      end;

       A10:

      now

        let a,b be Element of G();

        assume that

         A11: a in Y and

         A12: b in Y;

        now

          let Z be set;

          assume

           A13: Z in X;

          then

          consider A be Subset of G() such that

           A14: A = Z and

           A15: ex H be strict StableSubgroup of G() st A = the carrier of H & P[H];

          consider H be StableSubgroup of G() such that

           A16: A = the carrier of H and P[H] by A15;

          b in the carrier of H by A12, A13, A14, A16, SETFAM_1:def 1;

          then

           A17: b in H by STRUCT_0:def 5;

          a in the carrier of H by A11, A13, A14, A16, SETFAM_1:def 1;

          then a in H by STRUCT_0:def 5;

          then (a * b) in H by A17, Lm18;

          hence (a * b) in Z by A14, A16, STRUCT_0:def 5;

        end;

        hence (a * b) in Y by A3, SETFAM_1:def 1;

      end;

       A18:

      now

        let o be Element of O();

        let a be Element of G();

        assume

         A19: a in Y;

        now

          let Z be set;

          assume

           A20: Z in X;

          then

          consider A be Subset of G() such that

           A21: A = Z and

           A22: ex H be strict StableSubgroup of G() st A = the carrier of H & P[H];

          consider H be StableSubgroup of G() such that

           A23: A = the carrier of H and P[H] by A22;

          a in the carrier of H by A19, A20, A21, A23, SETFAM_1:def 1;

          then a in H by STRUCT_0:def 5;

          then ((G() ^ o) . a) in H by Lm9;

          hence ((G() ^ o) . a) in Z by A21, A23, STRUCT_0:def 5;

        end;

        hence ((G() ^ o) . a) in Y by A3, SETFAM_1:def 1;

      end;

      now

        let Z be set;

        assume Z in X;

        then

        consider A be Subset of G() such that

         A24: Z = A and

         A25: ex K be strict StableSubgroup of G() st A = the carrier of K & P[K];

        consider H be StableSubgroup of G() such that

         A26: A = the carrier of H and P[H] by A25;

        ( 1_ G()) in H by Lm17;

        hence ( 1_ G()) in Z by A24, A26, STRUCT_0:def 5;

      end;

      then Y <> {} by A3, SETFAM_1:def 1;

      hence thesis by A10, A4, A18, Lm14;

    end;

    theorem :: GROUP_9:27

    

     Th27: the carrier of ( the_stable_subgroup_of A) = ( meet { B where B be Subset of G : ex H be strict StableSubgroup of G st B = the carrier of H & A c= ( carr H) })

    proof

      defpred P[ StableSubgroup of G] means A c= ( carr $1);

      set X = { B where B be Subset of G : ex H be strict StableSubgroup of G st B = the carrier of H & A c= ( carr H) };

       A1:

      now

        let Y be set;

        assume Y in X;

        then ex B be Subset of G st Y = B & ex H be strict StableSubgroup of G st B = the carrier of H & A c= ( carr H);

        hence A c= Y;

      end;

      the carrier of ( (Omega). G) = ( carr ( (Omega). G));

      then

       A2: ex H be strict StableSubgroup of G st P[H];

      consider H be strict StableSubgroup of G such that

       A3: the carrier of H = ( meet { B where B be Subset of G : ex H be strict StableSubgroup of G st B = the carrier of H & P[H] }) from MeetSbgWOpEx( A2);

       A4:

      now

        let H1 be strict StableSubgroup of G;

        

         A5: the carrier of H1 = ( carr H1);

        assume A c= the carrier of H1;

        then the carrier of H1 in X by A5;

        hence H is StableSubgroup of H1 by A3, Lm20, SETFAM_1: 3;

      end;

      ( carr ( (Omega). G)) in X;

      then A c= the carrier of H by A3, A1, SETFAM_1: 5;

      hence thesis by A3, A4, Def26;

    end;

    

     Lm31: B = the carrier of ( gr A) implies ( the_stable_subgroup_of A) = ( the_stable_subgroup_of B)

    proof

      

       A1: A c= the carrier of ( gr A) by GROUP_4:def 4;

      assume

       A2: B = the carrier of ( gr A);

       A3:

      now

        let H be strict StableSubgroup of G;

        reconsider H9 = the multMagma of H as strict Subgroup of G by Lm15;

        assume A c= the carrier of H;

        then ( gr A) is Subgroup of H9 by GROUP_4:def 4;

        then B c= the carrier of H9 by A2, GROUP_2:def 5;

        hence ( the_stable_subgroup_of B) is StableSubgroup of H by Def26;

      end;

      the carrier of ( gr A) c= the carrier of ( the_stable_subgroup_of B) by A2, Def26;

      then A c= the carrier of ( the_stable_subgroup_of B) by A1;

      hence thesis by A3, Def26;

    end;

    theorem :: GROUP_9:28

    

     Th28: for N1,N2 be strict normal StableSubgroup of G holds (N1 * N2) = (N2 * N1)

    proof

      let N1,N2 be strict normal StableSubgroup of G;

      reconsider N19 = the multMagma of N1, N29 = the multMagma of N2 as strict normal Subgroup of G by Lm6;

      

      thus (N1 * N2) = (( carr N29) * ( carr N19)) by GROUP_3: 125

      .= (N2 * N1);

    end;

    theorem :: GROUP_9:29

    

     Th29: (H1 "\/" H2) = ( the_stable_subgroup_of (H1 * H2))

    proof

      reconsider H19 = H1, H29 = H2 as Subgroup of G by Def7;

      reconsider Y = the carrier of (H19 "\/" H29) as Subset of G by GROUP_2:def 5;

      

       A1: Y = the carrier of ( gr (H19 * H29)) by GROUP_4: 50;

      (H1 "\/" H2) = ( the_stable_subgroup_of Y) by Lm31

      .= ( the_stable_subgroup_of (H19 * H29)) by A1, Lm31;

      hence thesis;

    end;

    theorem :: GROUP_9:30

    

     Th30: (H1 * H2) = (H2 * H1) implies the carrier of (H1 "\/" H2) = (H1 * H2)

    proof

      assume (H1 * H2) = (H2 * H1);

      then

      consider H be strict StableSubgroup of G such that

       A1: the carrier of H = (( carr H1) * ( carr H2)) by Th17;

      now

        set A = (( carr H1) \/ ( carr H2));

        let a be Element of G;

        set X = { B where B be Subset of G : ex H be strict StableSubgroup of G st B = the carrier of H & A c= ( carr H) };

        assume a in H;

        then a in (( carr H1) * ( carr H2)) by A1, STRUCT_0:def 5;

        then

        consider b,c be Element of G such that

         A2: a = (b * c) and

         A3: b in ( carr H1) and

         A4: c in ( carr H2);

         A5:

        now

          let Y be set;

          assume Y in X;

          then

          consider B be Subset of G such that

           A6: Y = B and

           A7: ex H be strict StableSubgroup of G st B = the carrier of H & A c= ( carr H);

          consider H9 be strict StableSubgroup of G such that

           A8: B = the carrier of H9 and

           A9: A c= ( carr H9) by A7;

          c in A by A4, XBOOLE_0:def 3;

          then

           A10: c in H9 by A9, STRUCT_0:def 5;

          

           A11: H9 is Subgroup of G by Def7;

          b in A by A3, XBOOLE_0:def 3;

          then b in H9 by A9, STRUCT_0:def 5;

          then (b * c) in H9 by A11, A10, GROUP_2: 50;

          hence a in Y by A2, A6, A8, STRUCT_0:def 5;

        end;

        ( carr ( (Omega). G)) in X;

        then a in ( meet X) by A5, SETFAM_1:def 1;

        then a in the carrier of ( the_stable_subgroup_of A) by Th27;

        hence a in (H1 "\/" H2) by STRUCT_0:def 5;

      end;

      then H is StableSubgroup of (H1 "\/" H2) by Th13;

      then H is Subgroup of (H1 "\/" H2) by Def7;

      then

       A12: the carrier of H c= the carrier of (H1 "\/" H2) by GROUP_2:def 5;

      (( carr H1) \/ ( carr H2)) c= (( carr H1) * ( carr H2))

      proof

        let x be object;

        assume

         A13: x in (( carr H1) \/ ( carr H2));

        then

        reconsider a = x as Element of G;

        now

          per cases by A13, XBOOLE_0:def 3;

            suppose

             A14: x in ( carr H1);

            ( 1_ G) in H2 by Lm17;

            then

             A15: ( 1_ G) in ( carr H2) by STRUCT_0:def 5;

            (a * ( 1_ G)) = a by GROUP_1:def 4;

            hence thesis by A14, A15;

          end;

            suppose

             A16: x in ( carr H2);

            ( 1_ G) in H1 by Lm17;

            then

             A17: ( 1_ G) in ( carr H1) by STRUCT_0:def 5;

            (( 1_ G) * a) = a by GROUP_1:def 4;

            hence thesis by A16, A17;

          end;

        end;

        hence thesis;

      end;

      then (H1 "\/" H2) is StableSubgroup of H by A1, Def26;

      then (H1 "\/" H2) is Subgroup of H by Def7;

      then the carrier of (H1 "\/" H2) c= the carrier of H by GROUP_2:def 5;

      hence thesis by A1, A12, XBOOLE_0:def 10;

    end;

    theorem :: GROUP_9:31

    

     Th31: for N1,N2 be strict normal StableSubgroup of G holds the carrier of (N1 "\/" N2) = (N1 * N2)

    proof

      let N1,N2 be strict normal StableSubgroup of G;

      (N1 * N2) = (N2 * N1) by Th28;

      hence thesis by Th30;

    end;

    theorem :: GROUP_9:32

    

     Th32: for N1,N2 be strict normal StableSubgroup of G holds (N1 "\/" N2) is normal StableSubgroup of G

    proof

      let N1,N2 be strict normal StableSubgroup of G;

      (ex N be strict normal StableSubgroup of G st the carrier of N = (( carr N1) * ( carr N2))) & the carrier of (N1 "\/" N2) = (N1 * N2) by Th23, Th31;

      hence thesis by Lm4;

    end;

    theorem :: GROUP_9:33

    

     Th33: for H be strict StableSubgroup of G holds (( (1). G) "\/" H) = H & (H "\/" ( (1). G)) = H

    proof

      let H be strict StableSubgroup of G;

      ( 1_ G) in H by Lm17;

      then ( 1_ G) in ( carr H) by STRUCT_0:def 5;

      then {( 1_ G)} c= ( carr H) by ZFMISC_1: 31;

      then

       A1: ( {( 1_ G)} \/ ( carr H)) = ( carr H) by XBOOLE_1: 12;

      ( carr ( (1). G)) = {( 1_ G)} by Def8;

      hence thesis by A1, Th25;

    end;

    theorem :: GROUP_9:34

    

     Th34: (( (Omega). G) "\/" H1) = ( (Omega). G) & (H1 "\/" ( (Omega). G)) = ( (Omega). G)

    proof

      (the carrier of ( (Omega). G) \/ ( carr H1)) = ( [#] the carrier of G) by SUBSET_1: 11;

      hence thesis by Th25;

    end;

    

     Lm32: H1 is StableSubgroup of (H1 "\/" H2)

    proof

      ( carr H1) c= (( carr H1) \/ ( carr H2)) & (( carr H1) \/ ( carr H2)) c= the carrier of ( the_stable_subgroup_of (( carr H1) \/ ( carr H2))) by Def26, XBOOLE_1: 7;

      hence thesis by Lm20, XBOOLE_1: 1;

    end;

    theorem :: GROUP_9:35

    

     Th35: H1 is StableSubgroup of (H1 "\/" H2) & H2 is StableSubgroup of (H1 "\/" H2)

    proof

      (H1 "\/" H2) = (H2 "\/" H1);

      hence thesis by Lm32;

    end;

    theorem :: GROUP_9:36

    

     Th36: for H2 be strict StableSubgroup of G holds H1 is StableSubgroup of H2 iff (H1 "\/" H2) = H2

    proof

      let H2 be strict StableSubgroup of G;

      thus H1 is StableSubgroup of H2 implies (H1 "\/" H2) = H2

      proof

        assume H1 is StableSubgroup of H2;

        then H1 is Subgroup of H2 by Def7;

        then the carrier of H1 c= the carrier of H2 by GROUP_2:def 5;

        

        hence (H1 "\/" H2) = ( the_stable_subgroup_of ( carr H2)) by XBOOLE_1: 12

        .= H2 by Th25;

      end;

      thus thesis by Th35;

    end;

    theorem :: GROUP_9:37

    

     Th37: for H3 be strict StableSubgroup of G holds H1 is StableSubgroup of H3 & H2 is StableSubgroup of H3 implies (H1 "\/" H2) is StableSubgroup of H3

    proof

      let H3 be strict StableSubgroup of G;

      assume that

       A1: H1 is StableSubgroup of H3 and

       A2: H2 is StableSubgroup of H3;

      H2 is Subgroup of H3 by A2, Def7;

      then

       A3: ( carr H2) c= ( carr H3) by GROUP_2:def 5;

      H1 is Subgroup of H3 by A1, Def7;

      then ( carr H1) c= ( carr H3) by GROUP_2:def 5;

      then ( the_stable_subgroup_of (( carr H1) \/ ( carr H2))) is StableSubgroup of ( the_stable_subgroup_of ( carr H3)) by A3, Th26, XBOOLE_1: 8;

      hence thesis by Th25;

    end;

    theorem :: GROUP_9:38

    

     Th38: for H2,H3 be strict StableSubgroup of G holds H1 is StableSubgroup of H2 implies (H1 "\/" H3) is StableSubgroup of (H2 "\/" H3)

    proof

      let H2,H3 be strict StableSubgroup of G;

      assume H1 is StableSubgroup of H2;

      then H1 is Subgroup of H2 by Def7;

      then ( carr H1) c= ( carr H2) by GROUP_2:def 5;

      hence thesis by Th26, XBOOLE_1: 9;

    end;

    theorem :: GROUP_9:39

    

     Th39: for X,Y be StableSubgroup of H1, X9,Y9 be StableSubgroup of G st X = X9 & Y = Y9 holds (X9 /\ Y9) = (X /\ Y)

    proof

      let X,Y be StableSubgroup of H1;

      reconsider Z = (X /\ Y) as StableSubgroup of G by Th11;

      let X9,Y9 be StableSubgroup of G;

      assume

       A1: X = X9 & Y = Y9;

      the carrier of (X /\ Y) = (( carr X) /\ ( carr Y)) by Def25;

      then (X9 /\ Y9) = Z by A1, Th18;

      hence thesis;

    end;

    theorem :: GROUP_9:40

    

     Th40: N is StableSubgroup of H1 implies N is normal StableSubgroup of H1

    proof

      assume N is StableSubgroup of H1;

      then

      reconsider N9 = N as StableSubgroup of H1;

      now

        reconsider N99 = the multMagma of N as normal Subgroup of G by Lm6;

        let H be strict Subgroup of H1;

        assume

         A1: H = the multMagma of N9;

        reconsider N as Subgroup of G by Def7;

        H1 is Subgroup of G & N99 is Subgroup of N by Def7, GROUP_2: 57;

        hence H is normal by A1, GROUP_6: 8;

      end;

      hence thesis by Def10;

    end;

    

     Lm33: (H1 /\ H2) is StableSubgroup of H1

    proof

      the carrier of (H1 /\ H2) = (the carrier of H1 /\ the carrier of H2) by Th18;

      hence thesis by Lm20, XBOOLE_1: 17;

    end;

    theorem :: GROUP_9:41

    

     Th41: (H1 /\ N) is normal StableSubgroup of H1 & (N /\ H1) is normal StableSubgroup of H1

    proof

      thus (H1 /\ N) is normal StableSubgroup of H1

      proof

        reconsider A = (H1 /\ N) as StableSubgroup of H1 by Lm33;

        now

          reconsider N9 = the multMagma of N as normal Subgroup of G by Lm6;

          let H be strict Subgroup of H1;

          assume

           A1: H = the multMagma of A;

          now

            let b be Element of H1;

            thus (b * H) c= (H * b)

            proof

              let x be object;

              assume x in (b * H);

              then

              consider a be Element of H1 such that

               A2: x = (b * a) and

               A3: a in H by GROUP_2: 103;

              reconsider a9 = a, b9 = b as Element of G by Th2;

              reconsider x9 = x as Element of H1 by A2;

              

               A4: (b9 " ) = (b " ) by Th6;

              a in the carrier of A by A1, A3, STRUCT_0:def 5;

              then a in (( carr H1) /\ ( carr N)) by Def25;

              then a in ( carr N9) by XBOOLE_0:def 4;

              then

               A5: a in N9 by STRUCT_0:def 5;

              x = (b9 * a9) by A2, Th3;

              then

               A6: x in (b9 * N9) by A5, GROUP_2: 103;

              (b9 * N9) c= (N9 * b9) by GROUP_3: 118;

              then

              consider b1 be Element of G such that

               A7: x = (b1 * b9) and

               A8: b1 in N9 by A6, GROUP_2: 104;

              reconsider x99 = x as Element of G by A7;

              b1 = (x99 * (b9 " )) by A7, GROUP_1: 14;

              then

               A9: b1 = (x9 * (b " )) by A4, Th3;

              then

              reconsider b19 = b1 as Element of H1;

              b1 in the carrier of N by A8, STRUCT_0:def 5;

              then b1 in (( carr H1) /\ ( carr N)) by A9, XBOOLE_0:def 4;

              then b19 in the carrier of A by Def25;

              then

               A10: b19 in H by A1, STRUCT_0:def 5;

              (b19 * b) = x by A7, Th3;

              hence thesis by A10, GROUP_2: 104;

            end;

          end;

          hence H is normal by GROUP_3: 118;

        end;

        hence thesis by Def10;

      end;

      hence thesis;

    end;

    theorem :: GROUP_9:42

    

     Th42: for G be strict GroupWithOperators of O holds G is trivial implies ( (1). G) = G

    proof

      let G be strict GroupWithOperators of O;

      reconsider H = G as StableSubgroup of G by Lm3;

      assume G is trivial;

      then ex x be object st the carrier of G = {x};

      then the carrier of H = {( 1_ G)} by TARSKI:def 1;

      hence thesis by Def8;

    end;

    

     Lm34: for N9 be normal Subgroup of G st N9 = the multMagma of N holds (G ./. N9) = the multMagma of (G ./. N) & ( 1_ (G ./. N9)) = ( 1_ (G ./. N))

    proof

      let N9 be normal Subgroup of G;

      assume

       A1: N9 = the multMagma of N;

      then

      reconsider e = ( 1_ (G ./. N9)) as Element of (G ./. N) by Def14;

      ( Cosets N9) = ( Cosets N) by A1, Def14;

      hence (G ./. N9) = the multMagma of (G ./. N) by A1, Def15;

      now

        let h be Element of (G ./. N);

        reconsider h9 = h as Element of (G ./. N9) by A1, Def14;

        

        thus (h * e) = (h9 * ( 1_ (G ./. N9))) by A1, Def15

        .= h by GROUP_1:def 4;

        

        thus (e * h) = (( 1_ (G ./. N9)) * h9) by A1, Def15

        .= h by GROUP_1:def 4;

      end;

      hence thesis by GROUP_1: 4;

    end;

    theorem :: GROUP_9:43

    

     Th43: ( 1_ (G ./. N)) = ( carr N)

    proof

      reconsider N9 = the multMagma of N as normal Subgroup of G by Lm6;

      ( 1_ (G ./. N9)) = ( carr N9) by GROUP_6: 24;

      hence thesis by Lm34;

    end;

    theorem :: GROUP_9:44

    

     Th44: for M,N be strict normal StableSubgroup of G, MN be normal StableSubgroup of N st MN = M & M is StableSubgroup of N holds (N ./. MN) is normal StableSubgroup of (G ./. M)

    proof

      let M,N be strict normal StableSubgroup of G;

      reconsider M9 = the multMagma of M as normal Subgroup of G by Lm6;

      reconsider N9 = the multMagma of N as normal Subgroup of G by Lm6;

      let MN be normal StableSubgroup of N;

      assume

       A1: MN = M;

      reconsider MN99 = ((N9,M9) `*` ) as normal Subgroup of N9;

      reconsider MN9 = the multMagma of MN as normal Subgroup of N by Lm6;

      assume M is StableSubgroup of N;

      then M is Subgroup of N by Def7;

      then the carrier of M c= the carrier of N & the multF of M = (the multF of N || the carrier of M) by GROUP_2:def 5;

      then

       A2: M9 is Subgroup of N9 by GROUP_2:def 5;

      then

       A3: ((N9,M9) `*` ) = MN9 by A1, GROUP_6:def 1;

      reconsider K = (N9 ./. ((N9,M9) `*` )) as normal Subgroup of (G ./. M9) by A2, GROUP_6: 29;

       A4:

      now

        let x be object;

        hereby

          assume x in ( Cosets MN9);

          then

          consider a be Element of N such that

           A5: x = (a * MN9) and x = (MN9 * a) by GROUP_6: 13;

          reconsider a9 = a as Element of N9;

          reconsider A = {a} as Subset of N by ZFMISC_1: 31;

          reconsider A9 = {a9} as Subset of N9 by ZFMISC_1: 31;

          now

            let y be object;

            hereby

              assume y in { (g * h) where g,h be Element of N : g in A & h in ( carr MN9) };

              then

              consider g,h be Element of N such that

               A6: y = (g * h) and

               A7: g in A & h in ( carr MN9);

              reconsider h9 = h as Element of N9;

              reconsider g9 = g as Element of N9;

              y = (g9 * h9) by A6;

              hence y in { (g99 * h99) where g99,h99 be Element of N9 : g99 in A9 & h99 in ( carr MN99) } by A3, A7;

            end;

            assume y in { (g * h) where g,h be Element of N9 : g in A9 & h in ( carr MN99) };

            then

            consider g,h be Element of N9 such that

             A8: y = (g * h) and

             A9: g in A9 & h in ( carr MN99);

            reconsider h9 = h as Element of N;

            reconsider g9 = g as Element of N;

            y = (g9 * h9) by A8;

            hence y in { (g99 * h99) where g99,h99 be Element of N : g99 in A & h99 in ( carr MN9) } by A3, A9;

          end;

          then x = (a9 * MN99) by A5, TARSKI: 2;

          hence x in ( Cosets MN99) by GROUP_6: 14;

        end;

        assume x in ( Cosets MN99);

        then

        consider a9 be Element of N9 such that

         A10: x = (a9 * MN99) and x = (MN99 * a9) by GROUP_6: 13;

        reconsider a = a9 as Element of N;

        reconsider A9 = {a9} as Subset of N9 by ZFMISC_1: 31;

        reconsider A = {a} as Subset of N by ZFMISC_1: 31;

        now

          let y be object;

          hereby

            assume y in { (g * h) where g,h be Element of N : g in A & h in ( carr MN9) };

            then

            consider g,h be Element of N such that

             A11: y = (g * h) and

             A12: g in A & h in ( carr MN9);

            reconsider h9 = h as Element of N9;

            reconsider g9 = g as Element of N9;

            y = (g9 * h9) by A11;

            hence y in { (g99 * h99) where g99,h99 be Element of N9 : g99 in A9 & h99 in ( carr MN99) } by A3, A12;

          end;

          assume y in { (g * h) where g,h be Element of N9 : g in A9 & h in ( carr MN99) };

          then

          consider g,h be Element of N9 such that

           A13: y = (g * h) and

           A14: g in A9 & h in ( carr MN99);

          reconsider h9 = h as Element of N;

          reconsider g9 = g as Element of N;

          y = (g9 * h9) by A13;

          hence y in { (g99 * h99) where g99,h99 be Element of N : g99 in A & h99 in ( carr MN9) } by A3, A14;

        end;

        then x = (a * MN9) by A10, TARSKI: 2;

        hence x in ( Cosets MN9) by GROUP_6: 14;

      end;

      

      then

       A15: the carrier of K = ( Cosets MN9) by TARSKI: 2

      .= the carrier of (N ./. MN) by Def14;

       A16:

      now

        let H be strict Subgroup of (G ./. M);

        assume

         A17: H = the multMagma of (N ./. MN);

        now

          let a be Element of (G ./. M);

          reconsider a9 = a as Element of (G ./. M9) by Def14;

          now

            let x be object;

            assume x in (a * ( carr H));

            then

            consider b be Element of (G ./. M) such that

             A18: x = (a * b) and

             A19: b in ( carr H) by GROUP_2: 27;

            reconsider b9 = b as Element of (G ./. M9) by Def14;

            

             A20: x = (a9 * b9) by A18, Def15;

            then

            reconsider x9 = x as Element of (G ./. M9);

            (a9 * K) c= (K * a9) & x9 in (a9 * ( carr K)) by A15, A17, A19, A20, GROUP_2: 27, GROUP_3: 118;

            then

            consider c9 be Element of (G ./. M9) such that

             A21: x9 = (c9 * a9) and

             A22: c9 in ( carr K) by GROUP_2: 28;

            reconsider c = c9 as Element of (G ./. M) by Def14;

            x = (c * a) by A21, Def15;

            hence x in (( carr H) * a) by A15, A17, A22, GROUP_2: 28;

          end;

          hence (a * H) c= (H * a);

        end;

        hence H is normal by GROUP_3: 118;

      end;

      

       A23: the carrier of (G ./. M) = the carrier of (G ./. M9) by Def14;

      then

       A24: the carrier of (N ./. MN) c= the carrier of (G ./. M) by A15, GROUP_2:def 5;

       A25:

      now

        let o be Element of O;

        per cases ;

          suppose

           A26: not o in O;

          

           A27: the carrier of (N ./. MN) c= the carrier of (G ./. M) by A23, A15, GROUP_2:def 5;

           A28:

          now

            let x,y be object;

            assume

             A29: [x, y] in ( id the carrier of (N ./. MN));

            then

             A30: x in the carrier of (N ./. MN) by RELAT_1:def 10;

            x = y by A29, RELAT_1:def 10;

            then [x, y] in ( id the carrier of (G ./. M)) by A27, A30, RELAT_1:def 10;

            hence [x, y] in (( id the carrier of (G ./. M)) | the carrier of (N ./. MN)) by A30, RELAT_1:def 11;

          end;

           A31:

          now

            let x,y be object;

            assume

             A32: [x, y] in (( id the carrier of (G ./. M)) | the carrier of (N ./. MN));

            then [x, y] in ( id the carrier of (G ./. M)) by RELAT_1:def 11;

            then

             A33: x = y by RELAT_1:def 10;

            x in the carrier of (N ./. MN) by A32, RELAT_1:def 11;

            hence [x, y] in ( id the carrier of (N ./. MN)) by A33, RELAT_1:def 10;

          end;

          

          thus ((N ./. MN) ^ o) = ( id the carrier of (N ./. MN)) by A26, Def6

          .= (( id the carrier of (G ./. M)) | the carrier of (N ./. MN)) by A28, A31

          .= (((G ./. M) ^ o) | the carrier of (N ./. MN)) by A26, Def6;

        end;

          suppose

           A34: o in O;

          then (the action of (G ./. M) . o) in ( Funcs (the carrier of (G ./. M),the carrier of (G ./. M))) by FUNCT_2: 5;

          then

          consider f be Function such that

           A35: f = (the action of (G ./. M) . o) and

           A36: ( dom f) = the carrier of (G ./. M) and ( rng f) c= the carrier of (G ./. M) by FUNCT_2:def 2;

          

           A37: f = { [A, B] where A,B be Element of ( Cosets M) : ex a,b be Element of G st a in A & b in B & b = ((G ^ o) . a) } by A34, A35, Def16;

          (the action of (N ./. MN) . o) in ( Funcs (the carrier of (N ./. MN),the carrier of (N ./. MN))) by A34, FUNCT_2: 5;

          then

          consider g be Function such that

           A38: g = (the action of (N ./. MN) . o) and

           A39: ( dom g) = the carrier of (N ./. MN) and ( rng g) c= the carrier of (N ./. MN) by FUNCT_2:def 2;

          

           A40: ( dom g) = (( dom f) /\ the carrier of (N ./. MN)) by A24, A36, A39, XBOOLE_1: 28;

          

           A41: g = { [A, B] where A,B be Element of ( Cosets MN) : ex a,b be Element of N st a in A & b in B & b = ((N ^ o) . a) } by A34, A38, Def16;

           A42:

          now

            let x be object;

            assume

             A43: x in ( dom g);

            then [x, (g . x)] in g by FUNCT_1: 1;

            then

            consider A2,B2 be Element of ( Cosets MN) such that

             A44: [x, (g . x)] = [A2, B2] and

             A45: ex a,b be Element of N st a in A2 & b in B2 & b = ((N ^ o) . a) by A41;

            

             A46: A2 = x by A44, XTUPLE_0: 1;

             [x, (f . x)] in f by A24, A36, A39, A43, FUNCT_1: 1;

            then

            consider A1,B1 be Element of ( Cosets M) such that

             A47: [x, (f . x)] = [A1, B1] and

             A48: ex a,b be Element of G st a in A1 & b in B1 & b = ((G ^ o) . a) by A37;

            

             A49: A1 = x by A47, XTUPLE_0: 1;

            reconsider A29 = A2, B29 = B2 as Element of ( Cosets MN9) by Def14;

            reconsider A19 = A1, B19 = B1 as Element of ( Cosets M9) by Def14;

            set fo = (G ^ o);

            N is Subgroup of G by Def7;

            then

             A50: the carrier of N c= the carrier of G by GROUP_2:def 5;

            consider a2,b2 be Element of N such that

             A51: a2 in A2 and

             A52: b2 in B2 and

             A53: b2 = ((N ^ o) . a2) by A45;

            

             A54: B29 = (b2 * MN9) by A52, Lm8;

            reconsider a29 = a2, b29 = b2 as Element of G by A50;

            consider a1,b1 be Element of G such that

             A55: a1 in A1 and

             A56: b1 in B1 and

             A57: b1 = ((G ^ o) . a1) by A48;

            

             A58: A19 = (a1 * M9) by A55, Lm8;

            now

              let x be object;

              hereby

                assume x in (b2 * ( carr MN9));

                then

                consider h be Element of N such that

                 A59: x = (b2 * h) and

                 A60: h in ( carr MN9) by GROUP_2: 27;

                reconsider h9 = h as Element of G by A50;

                x = (b29 * h9) by A59, Th3;

                hence x in (b29 * ( carr M9)) by A1, A60, GROUP_2: 27;

              end;

              assume x in (b29 * ( carr M9));

              then

              consider h be Element of G such that

               A61: x = (b29 * h) and

               A62: h in ( carr M9) by GROUP_2: 27;

              h in ( carr MN9) by A1, A62;

              then

              reconsider h9 = h as Element of N;

              x = (b2 * h9) by A61, Th3;

              hence x in (b2 * ( carr MN9)) by A1, A62, GROUP_2: 27;

            end;

            then

             A63: (b29 * M9) = (b2 * MN9) by TARSKI: 2;

            

             A64: B2 = (g . x) by A44, XTUPLE_0: 1;

            

             A65: B1 = (f . x) by A47, XTUPLE_0: 1;

            now

              let x be object;

              hereby

                assume x in (a2 * ( carr MN9));

                then

                consider h be Element of N such that

                 A66: x = (a2 * h) and

                 A67: h in ( carr MN9) by GROUP_2: 27;

                reconsider h9 = h as Element of G by A50;

                x = (a29 * h9) by A66, Th3;

                hence x in (a29 * ( carr M9)) by A1, A67, GROUP_2: 27;

              end;

              assume x in (a29 * ( carr M9));

              then

              consider h be Element of G such that

               A68: x = (a29 * h) and

               A69: h in ( carr M9) by GROUP_2: 27;

              h in ( carr MN9) by A1, A69;

              then

              reconsider h9 = h as Element of N;

              x = (a2 * h9) by A68, Th3;

              hence x in (a2 * ( carr MN9)) by A1, A69, GROUP_2: 27;

            end;

            then

             A70: (a2 * MN9) = (a29 * M9) by TARSKI: 2;

            A29 = (a2 * MN9) by A51, Lm8;

            then ((a1 " ) * a29) in M9 by A49, A46, A58, A70, GROUP_2: 114;

            then ((a1 " ) * a29) in the carrier of M by STRUCT_0:def 5;

            then ((a1 " ) * a29) in M by STRUCT_0:def 5;

            then

             A71: (fo . ((a1 " ) * a29)) in M by Lm9;

            

             A72: (b1 " ) = (fo . (a1 " )) by A57, GROUP_6: 32;

            b29 = (((G ^ o) | the carrier of N) . a2) by A53, Def7

            .= (fo . a29) by FUNCT_1: 49;

            then ((b1 " ) * b29) in M by A72, A71, GROUP_6:def 6;

            then ((b1 " ) * b29) in the carrier of M by STRUCT_0:def 5;

            then

             A73: ((b1 " ) * b29) in M9 by STRUCT_0:def 5;

            B19 = (b1 * M9) by A56, Lm8;

            hence (g . x) = (f . x) by A65, A64, A63, A73, A54, GROUP_2: 114;

          end;

          

          thus ((N ./. MN) ^ o) = (the action of (N ./. MN) . o) by A34, Def6

          .= (f | the carrier of (N ./. MN)) by A38, A40, A42, FUNCT_1: 46

          .= (((G ./. M) ^ o) | the carrier of (N ./. MN)) by A34, A35, Def6;

        end;

      end;

      ( Cosets MN99) = ( Cosets MN9) by A4, TARSKI: 2;

      then

      reconsider f = ( CosOp MN99) as BinOp of ( Cosets MN9);

      now

        let W1,W2 be Element of ( Cosets MN9);

        reconsider W19 = W1, W29 = W2 as Element of ( Cosets MN99) by A4;

        let A1,A2 be Subset of N;

        assume

         A74: W1 = A1;

        reconsider A19 = A1, A29 = A2 as Subset of N9;

        assume

         A75: W2 = A2;

         A76:

        now

          let x be object;

          hereby

            assume x in (A1 * A2);

            then

            consider g,h be Element of N such that

             A77: x = (g * h) and

             A78: g in A1 & h in A2;

            reconsider g9 = g, h9 = h as Element of N9;

            x = (g9 * h9) by A77;

            hence x in (A19 * A29) by A78;

          end;

          assume x in (A19 * A29);

          then

          consider g9,h9 be Element of N9 such that

           A79: x = (g9 * h9) and

           A80: g9 in A19 & h9 in A29;

          reconsider g = g9, h = h9 as Element of N;

          x = (g * h) by A79;

          hence x in (A1 * A2) by A80;

        end;

        

        thus (f . (W1,W2)) = (f . (W19,W29))

        .= (A19 * A29) by A74, A75, GROUP_6:def 3

        .= (A1 * A2) by A76, TARSKI: 2;

      end;

      

      then the multF of K = ( CosOp MN9) by GROUP_6:def 3

      .= the multF of (N ./. MN) by Def15;

      

      then the multF of (N ./. MN) = (the multF of (G ./. M9) || the carrier of K) by GROUP_2:def 5

      .= (the multF of (G ./. M) || the carrier of (N ./. MN)) by A15, Def15;

      then (N ./. MN) is Subgroup of (G ./. M) by A24, GROUP_2:def 5;

      hence thesis by A16, A25, Def7, Def10;

    end;

    theorem :: GROUP_9:45

    (h . ( 1_ G)) = ( 1_ H) by Lm12;

    theorem :: GROUP_9:46

    (h . (g1 " )) = ((h . g1) " ) by Lm13;

    theorem :: GROUP_9:47

    

     Th47: g1 in ( Ker h) iff (h . g1) = ( 1_ H)

    proof

      thus g1 in ( Ker h) implies (h . g1) = ( 1_ H)

      proof

        assume g1 in ( Ker h);

        then g1 in the carrier of ( Ker h) by STRUCT_0:def 5;

        then g1 in { b where b be Element of G : (h . b) = ( 1_ H) } by Def21;

        then ex b be Element of G st g1 = b & (h . b) = ( 1_ H);

        hence thesis;

      end;

      assume (h . g1) = ( 1_ H);

      then g1 in { b where b be Element of G : (h . b) = ( 1_ H) };

      then g1 in the carrier of ( Ker h) by Def21;

      hence thesis by STRUCT_0:def 5;

    end;

    theorem :: GROUP_9:48

    

     Th48: for N be strict normal StableSubgroup of G holds ( Ker ( nat_hom N)) = N

    proof

      let N be strict normal StableSubgroup of G;

      reconsider N9 = the multMagma of N as strict normal Subgroup of G by Lm6;

      

       A1: ( nat_hom N) = ( nat_hom N9) & ( 1_ (G ./. N)) = ( 1_ (G ./. N9)) by Def20, Lm34;

      the carrier of ( Ker ( nat_hom N)) = { a where a be Element of G : (( nat_hom N) . a) = ( 1_ (G ./. N)) } by Def21

      .= { a where a be Element of G : (( nat_hom N9) . a) = ( 1_ (G ./. N9)) } by A1

      .= the carrier of ( Ker ( nat_hom N9)) by GROUP_6:def 9

      .= the carrier of N by GROUP_6: 43;

      hence thesis by Lm4;

    end;

    theorem :: GROUP_9:49

    

     Th49: ( rng h) = the carrier of ( Image h)

    proof

      the carrier of ( Image h) = (h .: the carrier of G) by Def22

      .= (h .: ( dom h)) by FUNCT_2:def 1

      .= ( rng h) by RELAT_1: 113;

      hence thesis;

    end;

    theorem :: GROUP_9:50

    

     Th50: ( Image ( nat_hom N)) = (G ./. N)

    proof

      reconsider N9 = the multMagma of N as strict normal Subgroup of G by Lm6;

      reconsider H = (G ./. N) as strict StableSubgroup of (G ./. N) by Lm3;

      

       A1: (G ./. N9) = the multMagma of (G ./. N) by Lm34;

      the carrier of ( Image ( nat_hom N)) = (( nat_hom N) .: the carrier of G) by Def22

      .= (( nat_hom N9) .: the carrier of G) by Def20

      .= the carrier of ( Image ( nat_hom N9)) by GROUP_6:def 10

      .= the carrier of H by A1, GROUP_6: 48;

      hence thesis by Lm4;

    end;

    theorem :: GROUP_9:51

    

     Th51: for H be strict GroupWithOperators of O, h be Homomorphism of G, H holds h is onto iff ( Image h) = H

    proof

      let H be strict GroupWithOperators of O, h be Homomorphism of G, H;

      thus h is onto implies ( Image h) = H

      proof

        reconsider H9 = H as strict StableSubgroup of H by Lm3;

        assume ( rng h) = the carrier of H;

        then the carrier of H9 = the carrier of ( Image h) by Th49;

        hence thesis by Lm4;

      end;

      assume

       A1: ( Image h) = H;

      the carrier of H c= ( rng h)

      proof

        let x be object;

        assume x in the carrier of H;

        then x in (h .: the carrier of G) by A1, Def22;

        then ex y be object st y in ( dom h) & y in the carrier of G & (h . y) = x by FUNCT_1:def 6;

        hence thesis by FUNCT_1:def 3;

      end;

      then ( rng h) = the carrier of H by XBOOLE_0:def 10;

      hence thesis;

    end;

    theorem :: GROUP_9:52

    

     Th52: for H be strict GroupWithOperators of O, h be Homomorphism of G, H st h is onto holds for c be Element of H holds ex a be Element of G st (h . a) = c

    proof

      let H be strict GroupWithOperators of O;

      let h be Homomorphism of G, H;

      assume

       A1: h is onto;

      let c be Element of H;

      ( rng h) = the carrier of H by A1;

      then

      consider a be object such that

       A2: a in ( dom h) and

       A3: c = (h . a) by FUNCT_1:def 3;

      reconsider a as Element of G by A2;

      take a;

      thus thesis by A3;

    end;

    theorem :: GROUP_9:53

    

     Th53: ( nat_hom N) is onto

    proof

      ( Image ( nat_hom N)) = (G ./. N) by Th50;

      hence thesis by Th51;

    end;

    theorem :: GROUP_9:54

    

     Th54: ( nat_hom ( (1). G)) is bijective

    proof

      reconsider H = the multMagma of ( (1). G) as strict normal Subgroup of G by Lm6;

      set g = ( nat_hom ( (1). G));

      reconsider G9 = G as Group;

      

       A1: the carrier of H = {( 1_ G9)} by Def8;

      

       A2: ( nat_hom ( (1). G9)) is bijective & g is onto by Th53, GROUP_6: 65;

      ( nat_hom ( (1). G)) = ( nat_hom H) by Def20

      .= ( nat_hom ( (1). G9)) by A1, GROUP_2:def 7;

      hence thesis by A2;

    end;

    theorem :: GROUP_9:55

    

     Th55: (G,H) are_isomorphic & (H,I) are_isomorphic implies (G,I) are_isomorphic

    proof

      assume that

       A1: (G,H) are_isomorphic and

       A2: (H,I) are_isomorphic ;

      consider g be Homomorphism of G, H such that

       A3: g is bijective by A1;

      consider h1 be Homomorphism of H, I such that

       A4: h1 is bijective by A2;

      

       A5: ( rng h1) = the carrier of I by A4, FUNCT_2:def 3;

      ( rng g) = the carrier of H by A3, FUNCT_2:def 3;

      then ( dom h1) = ( rng g) by FUNCT_2:def 1;

      then ( rng (h1 * g)) = the carrier of I by A5, RELAT_1: 28;

      then (h1 * g) is onto;

      hence thesis by A3, A4;

    end;

    theorem :: GROUP_9:56

    

     Th56: for G be strict GroupWithOperators of O holds (G,(G ./. ( (1). G))) are_isomorphic

    proof

      let G be strict GroupWithOperators of O;

      ( nat_hom ( (1). G)) is bijective by Th54;

      hence thesis;

    end;

    theorem :: GROUP_9:57

    

     Th57: for G be strict GroupWithOperators of O holds (G ./. ( (Omega). G)) is trivial

    proof

      let G be strict GroupWithOperators of O;

      reconsider G9 = G as Group;

      reconsider H = the multMagma of ( (Omega). G) as strict normal Subgroup of G by Lm6;

      

       A1: H = ( (Omega). G9);

      the carrier of (G ./. ( (Omega). G)) = ( Cosets H) by Def14

      .= {the carrier of G} by A1, GROUP_2: 142;

      hence thesis;

    end;

    theorem :: GROUP_9:58

    

     Th58: for G,H be strict GroupWithOperators of O holds (G,H) are_isomorphic & G is trivial implies H is trivial

    proof

      let G,H be strict GroupWithOperators of O;

      assume that

       A1: (G,H) are_isomorphic and

       A2: G is trivial;

      consider e be object such that

       A3: the carrier of G = {e} by A2;

      consider g be Homomorphism of G, H such that

       A4: g is bijective by A1;

      e in the carrier of G by A3, TARSKI:def 1;

      then

       A5: e in ( dom g) by FUNCT_2:def 1;

      the carrier of H = the carrier of ( Image g) by A4, Th51

      .= ( Im (g,e)) by A3, Def22

      .= {(g . e)} by A5, FUNCT_1: 59;

      hence thesis;

    end;

    theorem :: GROUP_9:59

    

     Th59: ((G ./. ( Ker h)),( Image h)) are_isomorphic

    proof

      reconsider G9 = G, H9 = H as Group;

      reconsider h9 = h as Homomorphism of G9, H9;

      consider g9 be Homomorphism of (G9 ./. ( Ker h9)), ( Image h9) such that

       A1: g9 is bijective and

       A2: h9 = (g9 * ( nat_hom ( Ker h9))) by GROUP_6: 79;

      

       A3: the carrier of ( Image h9) = (h9 .: the carrier of G9) by GROUP_6:def 10

      .= the carrier of ( Image h) by Def22;

      now

        let x be object;

        hereby

          assume x in the carrier of ( Ker h);

          then x in { a where a be Element of G : (h . a) = ( 1_ H) } by Def21;

          hence x in the carrier of ( Ker h9) by GROUP_6:def 9;

        end;

        assume x in the carrier of ( Ker h9);

        then x in { a9 where a9 be Element of G9 : (h9 . a9) = ( 1_ H9) } by GROUP_6:def 9;

        hence x in the carrier of ( Ker h) by Def21;

      end;

      then

       A4: the carrier of ( Ker h9) = the carrier of ( Ker h) by TARSKI: 2;

      ( Ker h) is Subgroup of G by Def7;

      then

       A5: the multMagma of ( Ker h9) = the multMagma of ( Ker h) by A4, GROUP_2: 59;

      then the carrier of (G9 ./. ( Ker h9)) = the carrier of (G ./. ( Ker h)) by Def14;

      then

      reconsider g = g9 as Function of (G ./. ( Ker h)), ( Image h) by A3;

      ( Image h) is Subgroup of H by Def7;

      then

       A6: the multMagma of ( Image h9) = the multMagma of ( Image h) by A3, GROUP_2: 59;

       A7:

      now

        let a,b be Element of (G ./. ( Ker h));

        reconsider b9 = b as Element of (G9 ./. ( Ker h9)) by A5, Def14;

        reconsider a9 = a as Element of (G9 ./. ( Ker h9)) by A5, Def14;

        

        thus (g . (a * b)) = (g9 . (a9 * b9)) by A5, Def15

        .= ((g9 . a9) * (g9 . b9)) by GROUP_6:def 6

        .= ((g . a) * (g . b)) by A6;

      end;

      now

        let o be Element of O;

        let a be Element of (G ./. ( Ker h));

        per cases ;

          suppose

           A8: O is empty;

          

          hence (g . (((G ./. ( Ker h)) ^ o) . a)) = (g . (( id the carrier of (G ./. ( Ker h))) . a)) by Def6

          .= (( id the carrier of ( Image h)) . (g . a))

          .= ((( Image h) ^ o) . (g . a)) by A8, Def6;

        end;

          suppose

           A9: not O is empty;

          reconsider G99 = (G ./. ( Ker h)) as Group;

          set f = (the action of (G ./. ( Ker h)) . o);

          

           A10: f = { [A, B] where A,B be Element of ( Cosets ( Ker h)) : ex g,h be Element of G st g in A & h in B & h = ((G ^ o) . g) } by A9, Def16;

          f = ((G ./. ( Ker h)) ^ o) by A9, Def6;

          then

          reconsider f as Homomorphism of G99, G99;

          a in the carrier of G99;

          then a in ( dom f) by FUNCT_2:def 1;

          then [a, (f . a)] in f by FUNCT_1: 1;

          then

          consider A,B be Element of ( Cosets ( Ker h)) such that

           A11: [A, B] = [a, (f . a)] and

           A12: ex g1,g2 be Element of G st g1 in A & g2 in B & g2 = ((G ^ o) . g1) by A10;

          reconsider A, B as Element of ( Cosets ( Ker h9)) by A5, Def14;

          consider g1,g2 be Element of G9 such that

           A13: g1 in A and

           A14: g2 in B and

           A15: g2 = ((G ^ o) . g1) by A12;

          

           A16: A = (g1 * ( Ker h9)) by A13, Lm8;

          g1 in the carrier of G9;

          then

           A17: g1 in ( dom ( nat_hom ( Ker h9))) by FUNCT_2:def 1;

          g2 in the carrier of G9;

          then

           A18: g2 in ( dom ( nat_hom ( Ker h9))) by FUNCT_2:def 1;

          

           A19: ((( Image h) ^ o) . (g . a)) = (((H ^ o) | the carrier of ( Image h)) . (g . a)) by Def7

          .= ((H ^ o) . (g . a)) by FUNCT_1: 49

          .= ((H ^ o) . (g9 . (g1 * ( Ker h9)))) by A11, A16, XTUPLE_0: 1;

          

           A20: B = (g2 * ( Ker h9)) by A14, Lm8;

          (h9 . g2) = ((H ^ o) . (h9 . g1)) by A15, Def18;

          then (g9 . (( nat_hom ( Ker h9)) . g2)) = ((H ^ o) . ((g9 * ( nat_hom ( Ker h9))) . g1)) by A2, A18, FUNCT_1: 13;

          then (g9 . (( nat_hom ( Ker h9)) . g2)) = ((H ^ o) . (g9 . (( nat_hom ( Ker h9)) . g1))) by A17, FUNCT_1: 13;

          then

           A21: (g9 . (g2 * ( Ker h9))) = ((H ^ o) . (g9 . (( nat_hom ( Ker h9)) . g1))) by GROUP_6:def 8;

          (g . (((G ./. ( Ker h)) ^ o) . a)) = (g . (f . a)) by A9, Def6

          .= (g9 . (g2 * ( Ker h9))) by A11, A20, XTUPLE_0: 1;

          hence (g . (((G ./. ( Ker h)) ^ o) . a)) = ((( Image h) ^ o) . (g . a)) by A19, A21, GROUP_6:def 8;

        end;

      end;

      then

      reconsider g as Homomorphism of (G ./. ( Ker h)), ( Image h) by A7, Def18, GROUP_6:def 6;

      g is onto by A1, A3;

      hence thesis by A1;

    end;

    theorem :: GROUP_9:60

    

     Th60: for H,F1,F2 be strict StableSubgroup of G st F1 is normal StableSubgroup of F2 holds (H /\ F1) is normal StableSubgroup of (H /\ F2)

    proof

      let H,F1,F2 be strict StableSubgroup of G;

      reconsider F = (F2 /\ H) as StableSubgroup of F2 by Lm33;

      assume

       A1: F1 is normal StableSubgroup of F2;

      

      then

       A2: (F1 /\ H) = ((F1 /\ F2) /\ H) by Lm21

      .= (F1 /\ (F2 /\ H)) by Th20;

      reconsider F1 as normal StableSubgroup of F2 by A1;

      (F1 /\ F) is normal StableSubgroup of F by Th41;

      hence thesis by A2, Th39;

    end;

    begin

    reserve E for set,

A for Action of O, E,

C for Subset of G,

N1 for normal StableSubgroup of H1;

    theorem :: GROUP_9:61

    ( [#] E) is_stable_under_the_action_of A;

    theorem :: GROUP_9:62

     [:O, {( id E)}:] is Action of O, E by Lm1;

    theorem :: GROUP_9:63

    for O be non empty set, E be set, o be Element of O, A be Action of O, E holds ( Product ( <*o*>,A)) = (A . o) by Lm25;

    theorem :: GROUP_9:64

    for O be non empty set, E be set, F1,F2 be FinSequence of O, A be Action of O, E holds ( Product ((F1 ^ F2),A)) = (( Product (F1,A)) * ( Product (F2,A))) by Lm28;

    theorem :: GROUP_9:65

    for F be FinSequence of O, Y be Subset of E st Y is_stable_under_the_action_of A holds (( Product (F,A)) .: Y) c= Y by Lm29;

    theorem :: GROUP_9:66

    for E be non empty set, A be Action of O, E holds for X be Subset of E, a be Element of E st not X is empty holds a in ( the_stable_subset_generated_by (X,A)) iff ex F be FinSequence of O, x be Element of X st (( Product (F,A)) . x) = a by Lm30;

    theorem :: GROUP_9:67

    for G be strict Group holds ex H be strict GroupWithOperators of O st G = the multMagma of H

    proof

      let G be strict Group;

      consider H be non empty HGrWOpStr over O such that

       A1: H is strict distributive Group-like associative and

       A2: G = the multMagma of H by Lm2;

      reconsider H as strict GroupWithOperators of O by A1;

      take H;

      thus thesis by A2;

    end;

    theorem :: GROUP_9:68

     the multMagma of H1 is strict Subgroup of G by Lm15;

    theorem :: GROUP_9:69

     the multMagma of N is strict normal Subgroup of G by Lm6;

    theorem :: GROUP_9:70

    g1 in H1 implies ((G ^ o) . g1) in H1 by Lm9;

    theorem :: GROUP_9:71

    for O be set, G,H be GroupWithOperators of O, G9 be strict StableSubgroup of G, f be Homomorphism of G, H holds ex H9 be strict StableSubgroup of H st the carrier of H9 = (f .: the carrier of G9) by Lm16;

    theorem :: GROUP_9:72

    B is empty implies ( the_stable_subgroup_of B) = ( (1). G) by Lm24;

    theorem :: GROUP_9:73

    B = the carrier of ( gr C) implies ( the_stable_subgroup_of C) = ( the_stable_subgroup_of B) by Lm31;

    theorem :: GROUP_9:74

    for N9 be normal Subgroup of G st N9 = the multMagma of N holds (G ./. N9) = the multMagma of (G ./. N) & ( 1_ (G ./. N9)) = ( 1_ (G ./. N)) by Lm34;

    theorem :: GROUP_9:75

    

     Th75: the carrier of H1 = the carrier of H2 implies the HGrWOpStr of H1 = the HGrWOpStr of H2

    proof

      reconsider H19 = H1, H29 = H2 as Subgroup of G by Def7;

      

       A1: ( dom the action of H2) = O by FUNCT_2:def 1

      .= ( dom the action of H1) by FUNCT_2:def 1;

      assume

       A2: the carrier of H1 = the carrier of H2;

       A3:

      now

        let x be object;

        assume

         A4: x in ( dom the action of H2);

        then

        reconsider o = x as Element of O;

        

         A5: (H1 ^ o) = (the action of H1 . o) by A4, Def6;

        (H1 ^ o) = ((G ^ o) | the carrier of H2) by A2, Def7

        .= (H2 ^ o) by Def7;

        hence (the action of H1 . x) = (the action of H2 . x) by A4, A5, Def6;

      end;

       the multMagma of H19 = the multMagma of H29 by A2, GROUP_2: 59;

      hence thesis by A1, A3, FUNCT_1: 2;

    end;

    theorem :: GROUP_9:76

    

     Th76: (H1 ./. N1) is trivial implies the HGrWOpStr of H1 = the HGrWOpStr of N1

    proof

      reconsider N9 = N1 as StableSubgroup of G by Th11;

      set H = H1;

      reconsider N = the multMagma of N1 as normal Subgroup of H by Lm6;

      assume

       A1: (H1 ./. N1) is trivial;

      ( Cosets N1) = ( Cosets N) by Def14;

      then

      consider e be object such that

       A2: the carrier of (H ./. N) = {e} by A1;

      

       A3: the carrier of H = ( union {e}) by A2, GROUP_2: 137;

       A4:

      now

        assume not the carrier of H c= the carrier of N;

        then (the carrier of H \ the carrier of N) <> {} by XBOOLE_1: 37;

        then

        consider x be object such that

         A5: x in (the carrier of H \ the carrier of N) by XBOOLE_0:def 1;

        reconsider x as Element of H1 by A5;

         A6:

        now

          assume (x * N) = e;

          then (x * N) = the carrier of H by A3, ZFMISC_1: 25;

          then

          consider x9 be Element of H such that

           A7: ( 1_ H) = (x * x9) and

           A8: x9 in N by GROUP_2: 103;

          x9 = (x " ) by A7, GROUP_1: 12;

          then ((x " ) " ) in N by A8, GROUP_2: 51;

          then x in ( carr N) by STRUCT_0:def 5;

          hence contradiction by A5, XBOOLE_0:def 5;

        end;

        (x * N) in ( Cosets N) by GROUP_6: 14;

        hence contradiction by A2, A6, TARSKI:def 1;

      end;

      the carrier of N c= the carrier of H by GROUP_2:def 5;

      then the carrier of N9 = the carrier of H1 by A4, XBOOLE_0:def 10;

      hence thesis by Th75;

    end;

    theorem :: GROUP_9:77

    

     Th77: the carrier of H1 = the carrier of N1 implies (H1 ./. N1) is trivial

    proof

      reconsider N19 = the multMagma of N1 as strict normal Subgroup of H1 by Lm6;

      assume

       A1: the carrier of H1 = the carrier of N1;

      now

        let x be object;

        hereby

          assume

           A2: x in ( Left_Cosets N19);

          then

          reconsider A = x as Subset of H1;

          consider a be Element of H1 such that

           A3: A = (a * N19) by A2, GROUP_2:def 15;

          A = (a * ( [#] the carrier of H1)) by A1, A3;

          hence x = the carrier of H1 by GROUP_2: 17;

        end;

        the carrier of H1 = (( 1_ H1) * ( [#] the carrier of H1)) by GROUP_2: 17;

        then

         A4: the carrier of H1 = (( 1_ H1) * N19) by A1;

        assume x = the carrier of H1;

        hence x in ( Left_Cosets N19) by A4, GROUP_2:def 15;

      end;

      then

       A5: {the carrier of H1} = ( Left_Cosets N19) by TARSKI:def 1;

      ( Cosets N1) = ( Cosets N19) by Def14;

      hence thesis by A5;

    end;

    theorem :: GROUP_9:78

    

     Th78: for G,H be GroupWithOperators of O, N be StableSubgroup of G, H9 be strict StableSubgroup of H, f be Homomorphism of G, H st N = ( Ker f) holds ex G9 be strict StableSubgroup of G st the carrier of G9 = (f " the carrier of H9) & (H9 is normal implies N is normal StableSubgroup of G9 & G9 is normal)

    proof

      let G,H be GroupWithOperators of O;

      let N be StableSubgroup of G;

      let H9 be strict StableSubgroup of H;

      reconsider H99 = the multMagma of H9 as strict Subgroup of H by Lm15;

      let f be Homomorphism of G, H;

      assume

       A1: N = ( Ker f);

      set A = { g where g be Element of G : (f . g) in H99 };

      

       A2: ( 1_ H) in H99 by GROUP_2: 46;

      then (f . ( 1_ G)) in H99 by Lm12;

      then ( 1_ G) in A;

      then

      reconsider A as non empty set;

      now

        let x be object;

        assume x in A;

        then ex g be Element of G st x = g & (f . g) in H99;

        hence x in the carrier of G;

      end;

      then

      reconsider A as Subset of G by TARSKI:def 3;

       A3:

      now

        let g1,g2 be Element of G;

        assume that

         A4: g1 in A and

         A5: g2 in A;

        consider b be Element of G such that

         A6: b = g2 and

         A7: (f . b) in H99 by A5;

        consider a be Element of G such that

         A8: a = g1 and

         A9: (f . a) in H99 by A4;

        set fb = (f . b);

        set fa = (f . a);

        (f . (a * b)) = ((f . a) * (f . b)) & (fa * fb) in H99 by A9, A7, GROUP_2: 50, GROUP_6:def 6;

        hence (g1 * g2) in A by A8, A6;

      end;

       A10:

      now

        let o be Element of O;

        let g be Element of G;

        assume g in A;

        then

        consider a be Element of G such that

         A11: a = g and

         A12: (f . a) in H99;

        (f . a) in the carrier of H99 by A12, STRUCT_0:def 5;

        then (f . a) in H9 by STRUCT_0:def 5;

        then ((H ^ o) . (f . g)) in H9 by A11, Lm9;

        then (f . ((G ^ o) . g)) in H9 by Def18;

        then (f . ((G ^ o) . g)) in the carrier of H9 by STRUCT_0:def 5;

        then (f . ((G ^ o) . g)) in H99 by STRUCT_0:def 5;

        hence ((G ^ o) . g) in A;

      end;

      now

        let g be Element of G;

        assume g in A;

        then

        consider a be Element of G such that

         A13: a = g and

         A14: (f . a) in H99;

        ((f . a) " ) in H99 by A14, GROUP_2: 51;

        then (f . (a " )) in H99 by Lm13;

        hence (g " ) in A by A13;

      end;

      then

      consider G99 be strict StableSubgroup of G such that

       A15: the carrier of G99 = A by A3, A10, Lm14;

      take G99;

      now

        reconsider R = f as Relation of the carrier of G, the carrier of H;

        let g be Element of G;

        hereby

          assume g in A;

          then ex a be Element of G st a = g & (f . a) in H99;

          then

           A16: (f . g) in the carrier of H9 by STRUCT_0:def 5;

          ( dom f) = the carrier of G by FUNCT_2:def 1;

          then [g, (f . g)] in f by FUNCT_1: 1;

          hence g in (f " the carrier of H9) by A16, RELSET_1: 30;

        end;

        assume g in (f " the carrier of H9);

        then

        consider h be Element of H such that

         A17: [g, h] in R & h in the carrier of H9 by RELSET_1: 30;

        (f . g) = h & h in H99 by A17, FUNCT_1: 1, STRUCT_0:def 5;

        hence g in A;

      end;

      hence the carrier of G99 = (f " the carrier of H9) by A15, SUBSET_1: 3;

      reconsider G9 = the multMagma of G99 as strict Subgroup of G by Lm15;

      now

        assume

         A18: H9 is normal;

        now

          let g be Element of G;

          assume g in N;

          then (f . g) = ( 1_ H) by A1, Th47;

          then g in the carrier of G99 by A2, A15;

          hence g in G99 by STRUCT_0:def 5;

        end;

        hence N is normal StableSubgroup of G99 by A1, Th13, Th40;

        now

          let g be Element of G;

          now

            H99 is normal by A18;

            then

             A19: (H99 |^ ((f . g) " )) = H99 by GROUP_3:def 13;

            let x be object;

            assume x in (g * G9);

            then

            consider h be Element of G such that

             A20: x = (g * h) and

             A21: h in A by A15, GROUP_2: 27;

            set h9 = ((g * h) * (g " ));

            

             A22: (f . h9) = ((f . (g * h)) * (f . (g " ))) by GROUP_6:def 6

            .= (((f . g) * (f . h)) * (f . (g " ))) by GROUP_6:def 6

            .= (((((f . g) " ) " ) * (f . h)) * ((f . g) " )) by Lm13

            .= ((f . h) |^ ((f . g) " )) by GROUP_3:def 2;

            ex a be Element of G st a = h & (f . a) in H99 by A21;

            then (f . h9) in H99 by A19, A22, GROUP_3: 58;

            then

             A23: h9 in A;

            (h9 * g) = ((g * h) * ((g " ) * g)) by GROUP_1:def 3

            .= ((g * h) * ( 1_ G)) by GROUP_1:def 5

            .= x by A20, GROUP_1:def 4;

            hence x in (G9 * g) by A15, A23, GROUP_2: 28;

          end;

          hence (g * G9) c= (G9 * g);

        end;

        then for H be strict Subgroup of G st H = the multMagma of G99 holds H is normal by GROUP_3: 118;

        hence G99 is normal;

      end;

      hence thesis;

    end;

    theorem :: GROUP_9:79

    

     Th79: for G,H be GroupWithOperators of O, N be StableSubgroup of G, G9 be strict StableSubgroup of G, f be Homomorphism of G, H st N = ( Ker f) holds ex H9 be strict StableSubgroup of H st the carrier of H9 = (f .: the carrier of G9) & (f " the carrier of H9) = the carrier of (G9 "\/" N) & (f is onto & G9 is normal implies H9 is normal)

    proof

      let G,H be GroupWithOperators of O;

      let N be StableSubgroup of G;

      reconsider N9 = the multMagma of N as strict Subgroup of G by Lm15;

      let G9 be strict StableSubgroup of G;

      reconsider G99 = the multMagma of G9 as strict Subgroup of G by Lm15;

      let f be Homomorphism of G, H;

      set A = { (f . g) where g be Element of G : g in G99 };

      

       A1: (G99 * N9) = (G9 * N) & (N9 * G99) = (N * G9);

      ( 1_ G) in G99 by GROUP_2: 46;

      then (f . ( 1_ G)) in A;

      then

      reconsider A as non empty set;

      now

        let x be object;

        assume x in A;

        then ex g be Element of G st x = (f . g) & g in G99;

        hence x in the carrier of H;

      end;

      then

      reconsider A as Subset of H by TARSKI:def 3;

       A2:

      now

        let h1,h2 be Element of H;

        assume that

         A3: h1 in A and

         A4: h2 in A;

        consider a be Element of G such that

         A5: h1 = (f . a) & a in G99 by A3;

        consider b be Element of G such that

         A6: h2 = (f . b) & b in G99 by A4;

        (f . (a * b)) = (h1 * h2) & (a * b) in G99 by A5, A6, GROUP_2: 50, GROUP_6:def 6;

        hence (h1 * h2) in A;

      end;

       A7:

      now

        let o be Element of O;

        let h be Element of H;

        assume h in A;

        then

        consider g be Element of G such that

         A8: h = (f . g) and

         A9: g in G99;

        g in the carrier of G99 by A9, STRUCT_0:def 5;

        then g in G9 by STRUCT_0:def 5;

        then ((G ^ o) . g) in G9 by Lm9;

        then ((G ^ o) . g) in the carrier of G9 by STRUCT_0:def 5;

        then

         A10: ((G ^ o) . g) in G99 by STRUCT_0:def 5;

        ((H ^ o) . h) = (f . ((G ^ o) . g)) by A8, Def18;

        hence ((H ^ o) . h) in A by A10;

      end;

      now

        let h be Element of H;

        assume h in A;

        then

        consider g be Element of G such that

         A11: h = (f . g) & g in G99;

        (g " ) in G99 & (h " ) = (f . (g " )) by A11, Lm13, GROUP_2: 51;

        hence (h " ) in A;

      end;

      then

      consider H99 be strict StableSubgroup of H such that

       A12: the carrier of H99 = A by A2, A7, Lm14;

      assume

       A13: N = ( Ker f);

      then N9 is normal by Def10;

      then

       A14: (( carr G99) * N9) = (N9 * ( carr G99)) by GROUP_3: 120;

      reconsider H9 = the multMagma of H99 as strict Subgroup of H by Lm15;

      take H99;

       A15:

      now

        reconsider R = f as Relation of the carrier of G, the carrier of H;

        let h be Element of H;

        hereby

          assume h in A;

          then

          consider g be Element of G such that

           A16: h = (f . g) and

           A17: g in G99;

          

           A18: g in the carrier of G9 by A17, STRUCT_0:def 5;

          ( dom f) = the carrier of G by FUNCT_2:def 1;

          then [g, h] in f by A16, FUNCT_1: 1;

          hence h in (f .: the carrier of G9) by A18, RELSET_1: 29;

        end;

        assume h in (f .: the carrier of G9);

        then

        consider g be Element of G such that

         A19: [g, h] in R & g in the carrier of G9 by RELSET_1: 29;

        (f . g) = h & g in G99 by A19, FUNCT_1: 1, STRUCT_0:def 5;

        hence h in A;

      end;

      hence

       A20: the carrier of H99 = (f .: the carrier of G9) by A12, SUBSET_1: 3;

       A21:

      now

        let x be object;

        assume

         A22: x in (f " the carrier of H9);

        then (f . x) in the carrier of H9 by FUNCT_1:def 7;

        then

        consider g1 be object such that

         A23: g1 in ( dom f) and

         A24: g1 in the carrier of G9 and

         A25: (f . g1) = (f . x) by A20, FUNCT_1:def 6;

        reconsider g1, g2 = x as Element of G by A22, A23;

        consider g3 be Element of G such that

         A26: g2 = (g1 * g3) by GROUP_1: 15;

        (f . g2) = ((f . g2) * (f . g3)) by A25, A26, GROUP_6:def 6;

        then (f . g3) = ( 1_ H) by GROUP_1: 7;

        then g3 in ( Ker f) by Th47;

        then g3 in the carrier of N by A13, STRUCT_0:def 5;

        hence x in (G99 * N9) by A24, A26;

      end;

      

       A27: ( dom f) = the carrier of G by FUNCT_2:def 1;

      now

        let x be object;

        assume

         A28: x in (G99 * N9);

        then

        consider g1,g2 be Element of G such that

         A29: x = (g1 * g2) and

         A30: g1 in ( carr G9) and

         A31: g2 in ( carr N9);

        

         A32: g2 in ( Ker f) by A13, A31, STRUCT_0:def 5;

        (f . x) = ((f . g1) * (f . g2)) by A29, GROUP_6:def 6

        .= ((f . g1) * ( 1_ H)) by A32, Th47

        .= (f . g1) by GROUP_1:def 4;

        then (f . x) in (f .: the carrier of G9) by A27, A30, FUNCT_1:def 6;

        then x in (f " (f .: the carrier of G9)) by A27, A28, FUNCT_1:def 7;

        hence x in (f " the carrier of H9) by A12, A15, SUBSET_1: 3;

      end;

      then (f " the carrier of H9) = (( carr G9) * ( carr N)) by A21, TARSKI: 2;

      hence (f " the carrier of H99) = the carrier of (G9 "\/" N) by A14, A1, Th30;

      now

        assume that

         A33: f is onto and

         A34: G9 is normal;

        

         A35: G99 is normal by A34;

        now

          let h1 be Element of H;

          now

            let x be object;

            assume x in (h1 * H9);

            then

            consider h2 be Element of H such that

             A36: x = (h1 * h2) and

             A37: h2 in A by A12, GROUP_2: 27;

            set h29 = ((h1 * h2) * (h1 " ));

            h2 in (f .: the carrier of G9) by A15, A37;

            then

            consider g2 be object such that

             A38: g2 in ( dom f) and

             A39: g2 in the carrier of G99 and

             A40: (f . g2) = h2 by FUNCT_1:def 6;

            ( rng f) = the carrier of H by A33;

            then

            consider g1 be object such that

             A41: g1 in ( dom f) and

             A42: h1 = (f . g1) by FUNCT_1:def 3;

            reconsider g1, g2 as Element of G by A38, A41;

            set g29 = ((g1 * g2) * (g1 " ));

            g29 = ((((g1 " ) " ) * g2) * (g1 " ));

            then

             A43: g29 = (g2 |^ (g1 " )) by GROUP_3:def 2;

            g2 in G99 by A39, STRUCT_0:def 5;

            then g29 in (G99 |^ (g1 " )) by A43, GROUP_3: 58;

            then

             A44: g29 in the carrier of (G99 |^ (g1 " )) by STRUCT_0:def 5;

            (G99 |^ (g1 " )) is Subgroup of G99 by A35, GROUP_3: 122;

            then

             A45: the carrier of (G99 |^ (g1 " )) c= the carrier of G99 by GROUP_2:def 5;

            h29 = (((f . g1) * (f . g2)) * (f . (g1 " ))) by A40, A42, Lm13

            .= ((f . (g1 * g2)) * (f . (g1 " ))) by GROUP_6:def 6

            .= (f . g29) by GROUP_6:def 6;

            then h29 in (f .: the carrier of G99) by A27, A44, A45, FUNCT_1:def 6;

            then

             A46: h29 in A by A15;

            (h29 * h1) = ((h1 * h2) * ((h1 " ) * h1)) by GROUP_1:def 3

            .= ((h1 * h2) * ( 1_ H)) by GROUP_1:def 5

            .= x by A36, GROUP_1:def 4;

            hence x in (H9 * h1) by A12, A46, GROUP_2: 28;

          end;

          hence (h1 * H9) c= (H9 * h1);

        end;

        then for H1 be strict Subgroup of H st H1 = the multMagma of H99 holds H1 is normal by GROUP_3: 118;

        hence H99 is normal;

      end;

      hence thesis;

    end;

    theorem :: GROUP_9:80

    

     Th80: for G be strict GroupWithOperators of O, N be strict normal StableSubgroup of G, H be strict StableSubgroup of (G ./. N) st the carrier of G = (( nat_hom N) " the carrier of H) holds H = ( (Omega). (G ./. N))

    proof

      let G be strict GroupWithOperators of O;

      let N be strict normal StableSubgroup of G;

      reconsider N9 = the multMagma of N as strict normal Subgroup of G by Lm6;

      let H be strict StableSubgroup of (G ./. N);

      reconsider H9 = the multMagma of H as strict Subgroup of (G ./. N) by Lm15;

      

       A1: the carrier of H9 c= the carrier of (G ./. N) & the multF of H9 = (the multF of (G ./. N) || the carrier of H9) by GROUP_2:def 5;

      the carrier of (G ./. N) = the carrier of (G ./. N9) & the multF of (G ./. N) = the multF of (G ./. N9) by Def14, Def15;

      then

      reconsider H9 as strict Subgroup of (G ./. N9) by A1, GROUP_2:def 5;

      assume the carrier of G = (( nat_hom N) " the carrier of H);

      then

       A2: the carrier of G = (( nat_hom N9) " the carrier of H9) by Def20;

      now

        reconsider R = ( nat_hom N9) as Relation of the carrier of G, the carrier of (G ./. N9);

        let h be Element of (G ./. N9);

        thus h in H9 implies h in ( (Omega). (G ./. N9)) by STRUCT_0:def 5;

        assume h in ( (Omega). (G ./. N9));

        h in ( Left_Cosets N9);

        then

        consider g be Element of G such that

         A3: h = (g * N9) by GROUP_2:def 15;

        consider h9 be Element of (G ./. N9) such that

         A4: [g, h9] in R and

         A5: h9 in the carrier of H9 by A2, RELSET_1: 30;

        (( nat_hom N9) . g) = h9 by A4, FUNCT_1: 1;

        then h in the carrier of H9 by A3, A5, GROUP_6:def 8;

        hence h in H9 by STRUCT_0:def 5;

      end;

      then H9 = ( (Omega). (G ./. N9));

      then the carrier of H = ( Cosets N) by Def14;

      hence thesis by Lm4;

    end;

    theorem :: GROUP_9:81

    

     Th81: for G be strict GroupWithOperators of O, N be strict normal StableSubgroup of G, H be strict StableSubgroup of (G ./. N) st the carrier of N = (( nat_hom N) " the carrier of H) holds H = ( (1). (G ./. N))

    proof

      let G be strict GroupWithOperators of O;

      let N be strict normal StableSubgroup of G;

      reconsider N9 = the multMagma of N as strict normal Subgroup of G by Lm6;

      let H be strict StableSubgroup of (G ./. N);

      reconsider H9 = the multMagma of H as strict Subgroup of (G ./. N) by Lm15;

      

       A1: the carrier of H9 c= the carrier of (G ./. N) & the multF of H9 = (the multF of (G ./. N) || the carrier of H9) by GROUP_2:def 5;

      the carrier of (G ./. N) = the carrier of (G ./. N9) & the multF of (G ./. N) = the multF of (G ./. N9) by Def14, Def15;

      then

      reconsider H9 as strict Subgroup of (G ./. N9) by A1, GROUP_2:def 5;

      assume the carrier of N = (( nat_hom N) " the carrier of H);

      then

       A2: the carrier of N9 = (( nat_hom N9) " the carrier of H9) by Def20;

      assume not H = ( (1). (G ./. N));

      then not the carrier of H = {( 1_ (G ./. N))} by Def8;

      then

      consider h be object such that

       A3: not (h in the carrier of H iff h in {( 1_ (G ./. N))}) by TARSKI: 2;

      per cases by A3;

        suppose

         A4: h in the carrier of H & not h in {( 1_ (G ./. N))};

        then {h} c= the carrier of H by ZFMISC_1: 31;

        then

         A5: (( nat_hom N9) " {h}) c= the carrier of N9 by A2, RELAT_1: 143;

        

         A6: ( rng ( nat_hom N9)) = the carrier of ( Image ( nat_hom N9)) by GROUP_6: 44

        .= the carrier of (G ./. N9) by GROUP_6: 48;

        the carrier of H9 c= the carrier of (G ./. N9) by GROUP_2:def 5;

        then

        consider x be object such that

         A7: x in ( dom ( nat_hom N9)) and

         A8: (( nat_hom N9) . x) = h by A4, A6, FUNCT_1:def 3;

        (( nat_hom N9) . x) in {h} by A8, TARSKI:def 1;

        then x in (( nat_hom N9) " {h}) by A7, FUNCT_1:def 7;

        then

         A9: x in N9 by A5, STRUCT_0:def 5;

        h <> ( 1_ (G ./. N)) by A4, TARSKI:def 1;

        then

         A10: h <> ( carr N) by Th43;

        reconsider x as Element of G by A7;

        (x * N9) = h by A8, GROUP_6:def 8;

        hence contradiction by A10, A9, GROUP_2: 113;

      end;

        suppose not h in the carrier of H & h in {( 1_ (G ./. N))};

        then h = ( 1_ (G ./. N)) & not h in H by STRUCT_0:def 5, TARSKI:def 1;

        hence contradiction by Lm17;

      end;

    end;

    theorem :: GROUP_9:82

    

     Th82: for G,H be strict GroupWithOperators of O st (G,H) are_isomorphic & G is simple holds H is simple

    proof

      let G,H be strict GroupWithOperators of O;

      assume

       A1: (G,H) are_isomorphic ;

      assume

       A2: G is simple;

      assume

       A3: not H is simple;

      per cases by A3;

        suppose H is trivial;

        then G is trivial by A1, Th58;

        hence contradiction by A2;

      end;

        suppose ex H9 be strict normal StableSubgroup of H st H9 <> ( (Omega). H) & H9 <> ( (1). H);

        then

        consider H9 be strict normal StableSubgroup of H such that

         A4: H9 <> ( (Omega). H) and

         A5: H9 <> ( (1). H);

        consider f be Homomorphism of G, H such that

         A6: f is bijective by A1;

        reconsider H99 = the multMagma of H9 as strict normal Subgroup of H by Lm6;

         the multMagma of H9 <> the multMagma of H by A4, Lm4;

        then

        consider h be Element of H such that

         A7: not h in H99 by GROUP_2: 62;

        the carrier of H9 <> {( 1_ H)} by A5, Def8;

        then

        consider x be object such that

         A8: x in the carrier of H9 and

         A9: x <> ( 1_ H) by ZFMISC_1: 35;

        

         A10: x in H99 by A8, STRUCT_0:def 5;

        then x in H by GROUP_2: 40;

        then

        reconsider x as Element of H by STRUCT_0:def 5;

        consider y be Element of G such that

         A11: (f . y) = x by A6, Th52;

        set A = { g where g be Element of G : (f . g) in H99 };

        consider g be Element of G such that

         A12: (f . g) = h by A6, Th52;

        ( 1_ H) in H99 by GROUP_2: 46;

        then (f . ( 1_ G)) in H99 by Lm12;

        then ( 1_ G) in A;

        then

        reconsider A as non empty set;

        now

          let x be object;

          assume x in A;

          then ex g be Element of G st x = g & (f . g) in H99;

          hence x in the carrier of G;

        end;

        then

        reconsider A as Subset of G by TARSKI:def 3;

         A13:

        now

          let g1,g2 be Element of G;

          assume that

           A14: g1 in A and

           A15: g2 in A;

          consider b be Element of G such that

           A16: b = g2 and

           A17: (f . b) in H99 by A15;

          consider a be Element of G such that

           A18: a = g1 and

           A19: (f . a) in H99 by A14;

          set fb = (f . b);

          set fa = (f . a);

          (f . (a * b)) = ((f . a) * (f . b)) & (fa * fb) in H99 by A19, A17, GROUP_2: 50, GROUP_6:def 6;

          hence (g1 * g2) in A by A18, A16;

        end;

         A20:

        now

          let o be Element of O;

          let g be Element of G;

          assume g in A;

          then

          consider a be Element of G such that

           A21: a = g and

           A22: (f . a) in H99;

          (f . a) in the carrier of H99 by A22, STRUCT_0:def 5;

          then (f . a) in H9 by STRUCT_0:def 5;

          then ((H ^ o) . (f . g)) in H9 by A21, Lm9;

          then (f . ((G ^ o) . g)) in H9 by Def18;

          then (f . ((G ^ o) . g)) in the carrier of H9 by STRUCT_0:def 5;

          then (f . ((G ^ o) . g)) in H99 by STRUCT_0:def 5;

          hence ((G ^ o) . g) in A;

        end;

        now

          let g be Element of G;

          assume g in A;

          then

          consider a be Element of G such that

           A23: a = g and

           A24: (f . a) in H99;

          ((f . a) " ) in H99 by A24, GROUP_2: 51;

          then (f . (a " )) in H99 by Lm13;

          hence (g " ) in A by A23;

        end;

        then

        consider G99 be strict StableSubgroup of G such that

         A25: the carrier of G99 = A by A13, A20, Lm14;

        reconsider G9 = the multMagma of G99 as strict Subgroup of G by Lm15;

        now

          let g be Element of G;

          now

            let x be object;

            

             A26: (H99 |^ ((f . g) " )) = H99 by GROUP_3:def 13;

            assume x in (g * G9);

            then

            consider h be Element of G such that

             A27: x = (g * h) and

             A28: h in A by A25, GROUP_2: 27;

            set h9 = ((g * h) * (g " ));

            

             A29: (f . h9) = ((f . (g * h)) * (f . (g " ))) by GROUP_6:def 6

            .= (((f . g) * (f . h)) * (f . (g " ))) by GROUP_6:def 6

            .= (((((f . g) " ) " ) * (f . h)) * ((f . g) " )) by Lm13

            .= ((f . h) |^ ((f . g) " )) by GROUP_3:def 2;

            ex a be Element of G st a = h & (f . a) in H99 by A28;

            then (f . h9) in H99 by A26, A29, GROUP_3: 58;

            then

             A30: h9 in A;

            (h9 * g) = ((g * h) * ((g " ) * g)) by GROUP_1:def 3

            .= ((g * h) * ( 1_ G)) by GROUP_1:def 5

            .= x by A27, GROUP_1:def 4;

            hence x in (G9 * g) by A25, A30, GROUP_2: 28;

          end;

          hence (g * G9) c= (G9 * g);

        end;

        then for H be strict Subgroup of G st H = the multMagma of G99 holds H is normal by GROUP_3: 118;

        then

         A31: G99 is normal;

        

         A32: y <> ( 1_ G) by A9, A11, Lm12;

        y in the carrier of G99 by A25, A10, A11;

        then the carrier of G99 <> {( 1_ G)} by A32, TARSKI:def 1;

        then

         A33: G99 <> ( (1). G) by Def8;

        now

          assume g in A;

          then ex g9 be Element of G st g9 = g & (f . g9) in H99;

          hence contradiction by A7, A12;

        end;

        then G99 <> ( (Omega). G) by A25;

        hence contradiction by A2, A33, A31;

      end;

    end;

    theorem :: GROUP_9:83

    

     Th83: for G be GroupWithOperators of O, H be StableSubgroup of G, FG be FinSequence of the carrier of G, FH be FinSequence of the carrier of H, I be FinSequence of INT st FG = FH & ( len FG) = ( len I) holds ( Product (FG |^ I)) = ( Product (FH |^ I))

    proof

      let G be GroupWithOperators of O;

      let H be StableSubgroup of G;

      let FG be FinSequence of the carrier of G;

      let FH be FinSequence of the carrier of H;

      let I be FinSequence of INT ;

      assume

       A1: FG = FH & ( len FG) = ( len I);

      defpred P[ Nat] means for FG be FinSequence of the carrier of G, FH be FinSequence of the carrier of H, I be FinSequence of INT st ( len FG) = $1 & FG = FH & ( len FG) = ( len I) holds ( Product (FG |^ I)) = ( Product (FH |^ I));

       A2:

      now

        let n be Nat;

        assume

         A3: P[n];

        thus P[(n + 1)]

        proof

          let FG be FinSequence of the carrier of G;

          let FH be FinSequence of the carrier of H;

          let I be FinSequence of INT ;

          assume

           A4: ( len FG) = (n + 1);

          then

          consider FGn be FinSequence of the carrier of G, g be Element of G such that

           A5: FG = (FGn ^ <*g*>) by FINSEQ_2: 19;

          

           A6: ( len FG) = (( len FGn) + ( len <*g*>)) by A5, FINSEQ_1: 22;

          then

           A7: (n + 1) = (( len FGn) + 1) by A4, FINSEQ_1: 40;

          assume that

           A8: FG = FH and

           A9: ( len FG) = ( len I);

          consider FHn be FinSequence of the carrier of H, h be Element of H such that

           A10: FH = (FHn ^ <*h*>) by A4, A8, FINSEQ_2: 19;

          consider In be FinSequence of INT , i be Element of INT such that

           A11: I = (In ^ <*i*>) by A4, A9, FINSEQ_2: 19;

          set FG1 = <*g*>;

          set I1 = <*i*>;

          ( len I) = (( len In) + ( len <*i*>)) by A11, FINSEQ_1: 22;

          then

           A12: (n + 1) = (( len In) + 1) by A4, A9, FINSEQ_1: 40;

          

           A13: ( len FH) = (( len FHn) + ( len <*h*>)) by A10, FINSEQ_1: 22;

          

          then

           A14: (FH . (n + 1)) = ((FHn ^ <*h*>) . (( len FHn) + 1)) by A4, A8, A10, FINSEQ_1: 40

          .= h by FINSEQ_1: 42;

          

           A15: (n + 1) = (( len FHn) + 1) by A4, A8, A13, FINSEQ_1: 40;

          

           A16: (FG . (n + 1)) = ((FGn ^ <*g*>) . (( len FGn) + 1)) by A4, A5, A6, FINSEQ_1: 40

          .= g by FINSEQ_1: 42;

           A17:

          now

            reconsider H9 = H as Subgroup of G by Def7;

            reconsider h9 = h as Element of H9;

            (g |^ i) = (h9 |^ i) by A8, A16, A14, GROUP_4: 2;

            hence (g |^ i) = (h |^ i);

          end;

          ( len FG1) = 1 by FINSEQ_1: 40

          .= ( len I1) by FINSEQ_1: 40;

          

          then

           A18: ( Product (FG |^ I)) = ( Product ((FGn |^ In) ^ (FG1 |^ I1))) by A11, A5, A12, A7, GROUP_4: 19

          .= (( Product (FGn |^ In)) * ( Product (FG1 |^ I1))) by GROUP_4: 5;

          set FH1 = <*h*>;

          

           A19: ( len FH1) = 1 by FINSEQ_1: 40

          .= ( len I1) by FINSEQ_1: 40;

          

           A20: ( Product (FG1 |^ I1)) = ( Product ( <*g*> |^ <*( @ i)*>))

          .= ( Product <*(g |^ i)*>) by GROUP_4: 22

          .= (h |^ i) by A17, GROUP_4: 9

          .= ( Product <*(h |^ i)*>) by GROUP_4: 9

          .= ( Product ( <*h*> |^ <*( @ i)*>)) by GROUP_4: 22

          .= ( Product (FH1 |^ I1));

          FGn = FHn by A8, A5, A10, A16, A14, FINSEQ_1: 33;

          then ( Product (FGn |^ In)) = ( Product (FHn |^ In)) by A3, A12, A15;

          

          then ( Product (FG |^ I)) = (( Product (FHn |^ In)) * ( Product (FH1 |^ I1))) by A18, A20, Th3

          .= ( Product ((FHn |^ In) ^ (FH1 |^ I1))) by GROUP_4: 5

          .= ( Product ((FHn ^ FH1) |^ (In ^ I1))) by A12, A15, A19, GROUP_4: 19;

          hence thesis by A11, A10;

        end;

      end;

      

       A21: P[ 0 ]

      proof

        let FG be FinSequence of the carrier of G;

        let FH be FinSequence of the carrier of H;

        let I be FinSequence of INT ;

        assume

         A22: ( len FG) = 0 ;

        then ( len (FG |^ I)) = 0 by GROUP_4:def 3;

        then (FG |^ I) = ( <*> the carrier of G);

        then

         A23: ( Product (FG |^ I)) = ( 1_ G) by GROUP_4: 8;

        assume that

         A24: FG = FH and ( len FG) = ( len I);

        ( len (FH |^ I)) = 0 by A22, A24, GROUP_4:def 3;

        then (FH |^ I) = ( <*> the carrier of H);

        then ( Product (FH |^ I)) = ( 1_ H) by GROUP_4: 8;

        hence thesis by A23, Th4;

      end;

      for n be Nat holds P[n] from NAT_1:sch 2( A21, A2);

      hence thesis by A1;

    end;

    theorem :: GROUP_9:84

    

     Th84: for O,E1,E2 be set, A1 be Action of O, E1, A2 be Action of O, E2, F be FinSequence of O st E1 c= E2 & (for o be Element of O, f1 be Function of E1, E1, f2 be Function of E2, E2 st f1 = (A1 . o) & f2 = (A2 . o) holds f1 = (f2 | E1)) holds ( Product (F,A1)) = (( Product (F,A2)) | E1)

    proof

      let O,E1,E2 be set;

      let A1 be Action of O, E1;

      let A2 be Action of O, E2;

      let F be FinSequence of O;

      defpred P[ Nat] means for F be FinSequence of O st ( len F) = $1 holds ( Product (F,A1)) = (( Product (F,A2)) | E1);

      assume

       A1: E1 c= E2;

      

       A2: P[ 0 ]

      proof

        let F be FinSequence of O;

         A3:

        now

          let x be object;

          assume

           A4: x in ( dom ( id E1));

          then

           A5: x in E1;

          

          thus (( id E1) . x) = x by A4, FUNCT_1: 18

          .= (( id E2) . x) by A1, A5, FUNCT_1: 18;

        end;

        E1 = (E2 /\ E1) by A1, XBOOLE_1: 28;

        then ( dom ( id E1)) = (E2 /\ E1);

        then

         A6: ( dom ( id E1)) = (( dom ( id E2)) /\ E1);

        assume

         A7: ( len F) = 0 ;

        

        hence ( Product (F,A1)) = ( id E1) by Def3

        .= (( id E2) | E1) by A6, A3, FUNCT_1: 46

        .= (( Product (F,A2)) | E1) by A7, Def3;

      end;

      assume

       A8: for o be Element of O, f1 be Function of E1, E1, f2 be Function of E2, E2 st f1 = (A1 . o) & f2 = (A2 . o) holds f1 = (f2 | E1);

      per cases ;

        suppose O is empty;

        then ( len F) = 0 ;

        hence thesis by A2;

      end;

        suppose

         A9: O is non empty;

        

         A10: for k be Nat st P[k] holds P[(k + 1)]

        proof

          let k be Nat;

          assume

           A11: P[k];

          now

            let F be FinSequence of O;

            assume

             A12: ( len F) = (k + 1);

            then

            consider Fk be FinSequence of O, o be Element of O such that

             A13: F = (Fk ^ <*o*>) by FINSEQ_2: 19;

            ( len F) = (( len Fk) + ( len <*o*>)) by A13, FINSEQ_1: 22;

            then

             A14: (k + 1) = (( len Fk) + 1) by A12, FINSEQ_1: 39;

             A15:

            now

               {o} c= O by A9, ZFMISC_1: 31;

              then ( rng <*o*>) c= O by FINSEQ_1: 38;

              then

              reconsider Fo = <*o*> as FinSequence of O by FINSEQ_1:def 4;

              let x be object;

              assume

               A16: x in ( dom ( Product (F,A1)));

              then

               A17: x in E1;

              

               A18: o in O by A9;

              then o in ( dom A1) by FUNCT_2:def 1;

              then (A1 . o) in ( rng A1) by FUNCT_1: 3;

              then

              consider f1 be Function such that

               A19: f1 = (A1 . o) and

               A20: ( dom f1) = E1 and

               A21: ( rng f1) c= E1 by FUNCT_2:def 2;

              

               A22: ( Product (Fo,A1)) = f1 by A9, A19, Lm25;

              o in ( dom A2) by A18, FUNCT_2:def 1;

              then (A2 . o) in ( rng A2) by FUNCT_1: 3;

              then

              consider f2 be Function such that

               A23: f2 = (A2 . o) and

               A24: ( dom f2) = E2 and ( rng f2) c= E2 by FUNCT_2:def 2;

              

               A25: ( Product (Fo,A2)) = f2 by A9, A23, Lm25;

              

               A26: (f1 . x) in ( rng f1) by A16, A20, FUNCT_1: 3;

              

               A27: ( Product (F,A2)) = (( Product (Fk,A2)) * ( Product (Fo,A2))) by A9, A13, Lm28

              .= (( Product (Fk,A2)) * f2) by A9, A23, Lm25;

              ( Product (F,A1)) = (( Product (Fk,A1)) * ( Product (Fo,A1))) by A9, A13, Lm28

              .= (( Product (Fk,A1)) * f1) by A9, A19, Lm25;

              

              hence (( Product (F,A1)) . x) = (( Product (Fk,A1)) . (f1 . x)) by A16, A20, FUNCT_1: 13

              .= ((( Product (Fk,A2)) | E1) . (f1 . x)) by A11, A14

              .= (( Product (Fk,A2)) . (f1 . x)) by A21, A26, FUNCT_1: 49

              .= (( Product (Fk,A2)) . ((f2 | E1) . x)) by A8, A19, A23, A22, A25

              .= (( Product (Fk,A2)) . (f2 . x)) by A16, FUNCT_1: 49

              .= ((( Product (Fk,A2)) * f2) . x) by A1, A17, A24, FUNCT_1: 13

              .= ((( Product (F,A2)) | E1) . x) by A16, A27, FUNCT_1: 49;

            end;

            ( Product (F,A2)) in ( Funcs (E2,E2)) by FUNCT_2: 9;

            then ex f2 be Function st ( Product (F,A2)) = f2 & ( dom f2) = E2 & ( rng f2) c= E2 by FUNCT_2:def 2;

            

            then

             A28: ( dom (( Product (F,A2)) | E1)) = (E2 /\ E1) by RELAT_1: 61

            .= E1 by A1, XBOOLE_1: 28;

            ( Product (F,A1)) in ( Funcs (E1,E1)) by FUNCT_2: 9;

            then ex f1 be Function st ( Product (F,A1)) = f1 & ( dom f1) = E1 & ( rng f1) c= E1 by FUNCT_2:def 2;

            hence ( Product (F,A1)) = (( Product (F,A2)) | E1) by A28, A15, FUNCT_1: 2;

          end;

          hence thesis;

        end;

        

         A29: for k be Nat holds P[k] from NAT_1:sch 2( A2, A10);

        reconsider k = ( len F) as Element of NAT ;

        k = ( len F);

        hence thesis by A29;

      end;

    end;

    theorem :: GROUP_9:85

    

     Th85: for N1,N2 be strict StableSubgroup of H1, N19,N29 be strict StableSubgroup of G st N1 = N19 & N2 = N29 holds (N19 * N29) = (N1 * N2)

    proof

      let N1,N2 be strict StableSubgroup of H1;

      let N19,N29 be strict StableSubgroup of G;

      set X = { (g * h) where g,h be Element of G : g in ( carr N19) & h in ( carr N29) };

      set Y = { (g * h) where g,h be Element of H1 : g in ( carr N1) & h in ( carr N2) };

      assume

       A1: N1 = N19 & N2 = N29;

       A2:

      now

        N2 is Subgroup of H1 by Def7;

        then

         A3: the carrier of N2 c= the carrier of H1 by GROUP_2:def 5;

        let x be object;

        assume x in X;

        then

        consider g,h be Element of G such that

         A4: x = (g * h) and

         A5: g in ( carr N19) & h in ( carr N29);

        N1 is Subgroup of H1 by Def7;

        then the carrier of N1 c= the carrier of H1 by GROUP_2:def 5;

        then

        reconsider g, h as Element of H1 by A1, A5, A3;

        x = (g * h) by A4, Th3;

        hence x in Y by A1, A5;

      end;

      now

        let x be object;

        assume x in Y;

        then

        consider g,h be Element of H1 such that

         A6: x = (g * h) and

         A7: g in ( carr N1) & h in ( carr N2);

        reconsider g, h as Element of G by Th2;

        x = (g * h) by A6, Th3;

        hence x in X by A1, A7;

      end;

      hence thesis by A2, TARSKI: 2;

    end;

    theorem :: GROUP_9:86

    

     Th86: for N1,N2 be strict StableSubgroup of H1, N19,N29 be strict StableSubgroup of G st N1 = N19 & N2 = N29 holds (N19 "\/" N29) = (N1 "\/" N2)

    proof

      let N1,N2 be strict StableSubgroup of H1;

      reconsider S2 = ( the_stable_subgroup_of (N1 * N2)) as StableSubgroup of G by Th11;

      let N19,N29 be strict StableSubgroup of G;

      set S1 = ( the_stable_subgroup_of (N19 * N29));

      set X1 = { B where B be Subset of G : ex H be strict StableSubgroup of G st B = the carrier of H & (N19 * N29) c= ( carr H) };

      set X2 = { B where B be Subset of H1 : ex H be strict StableSubgroup of H1 st B = the carrier of H & (N1 * N2) c= ( carr H) };

      

       A1: (N19 "\/" N29) = ( the_stable_subgroup_of (N19 * N29)) & (N1 "\/" N2) = ( the_stable_subgroup_of (N1 * N2)) by Th29;

      

       A2: the carrier of ( the_stable_subgroup_of (N19 * N29)) = ( meet X1) & the carrier of ( the_stable_subgroup_of (N1 * N2)) = ( meet X2) by Th27;

      assume

       A3: N1 = N19 & N2 = N29;

      now

        let x be object;

        assume x in X2;

        then

        consider B be Subset of H1 such that

         A4: x = B and

         A5: ex H be strict StableSubgroup of H1 st B = the carrier of H & (N1 * N2) c= ( carr H);

        now

          consider H be strict StableSubgroup of H1 such that

           A6: B = the carrier of H & (N1 * N2) c= ( carr H) by A5;

          reconsider H as strict StableSubgroup of G by Th11;

          take H;

          thus B = the carrier of H & (N19 * N29) c= ( carr H) by A3, A6, Th85;

        end;

        hence x in X1 by A4;

      end;

      then

       A7: X2 c= X1;

      now

        set x9 = ( carr H1);

        reconsider x = x9 as set;

        take x;

        now

          set H = ( (Omega). H1);

          take H;

          thus x9 = the carrier of H;

          thus (N1 * N2) c= ( carr H);

        end;

        hence x in X2;

      end;

      then

       A8: ( meet X1) c= ( meet X2) by A7, SETFAM_1: 6;

      now

        let x be object;

        assume

         A9: x in the carrier of ( the_stable_subgroup_of (N1 * N2));

        ( the_stable_subgroup_of (N1 * N2)) is Subgroup of H1 by Def7;

        then the carrier of ( the_stable_subgroup_of (N1 * N2)) c= the carrier of H1 by GROUP_2:def 5;

        then

        reconsider g = x as Element of H1 by A9;

        g in ( the_stable_subgroup_of (N1 * N2)) by A9, STRUCT_0:def 5;

        then

        consider F be FinSequence of the carrier of H1, I be FinSequence of INT , C be Subset of H1 such that

         A10: C = ( the_stable_subset_generated_by ((N1 * N2),the action of H1)) and

         A11: ( len F) = ( len I) and

         A12: ( rng F) c= C and

         A13: ( Product (F |^ I)) = g by Th24;

        now

          N2 is Subgroup of H1 by Def7;

          then ( 1_ H1) in N2 by GROUP_2: 46;

          then

           A14: ( 1_ H1) in ( carr N2) by STRUCT_0:def 5;

          let x be object;

          assume

           A15: x in ( the_stable_subset_generated_by ((N1 * N2),the action of H1));

          then

          reconsider a = x as Element of H1;

          N1 is Subgroup of H1 by Def7;

          then ( 1_ H1) in N1 by GROUP_2: 46;

          then

           A16: ( 1_ H1) in ( carr N1) by STRUCT_0:def 5;

          ( 1_ H1) = (( 1_ H1) * ( 1_ H1)) by GROUP_1:def 4;

          then

           A17: ( 1_ H1) in (( carr N1) * ( carr N2)) by A16, A14;

          then

          consider F be FinSequence of O, h be Element of (N1 * N2) such that

           A18: (( Product (F,the action of H1)) . h) = a by A15, Lm30;

          H1 is Subgroup of G by Def7;

          then

           A19: the carrier of H1 c= the carrier of G by GROUP_2:def 5;

          then

          reconsider a as Element of G;

          

           A20: h in (N1 * N2) by A17;

          reconsider h as Element of (N19 * N29) by A3, Th85;

          now

            let o be Element of O;

            let f1 be Function of the carrier of H1, the carrier of H1;

            let f2 be Function of the carrier of G, the carrier of G;

            assume that

             A21: f1 = (the action of H1 . o) and

             A22: f2 = (the action of G . o);

            per cases ;

              suppose o in O;

              then (H1 ^ o) = f1 & (G ^ o) = f2 by A21, A22, Def6;

              hence f1 = (f2 | the carrier of H1) by Def7;

            end;

              suppose not o in O;

              then not o in ( dom the action of H1);

              hence f1 = (f2 | the carrier of H1) by A21, FUNCT_1:def 2;

            end;

          end;

          then ( Product (F,the action of H1)) = (( Product (F,the action of G)) | the carrier of H1) by A19, Th84;

          then

           A23: (( Product (F,the action of G)) . h) = a by A18, A20, FUNCT_1: 49;

          (N19 * N29) is non empty by A3, A20, Th85;

          hence x in ( the_stable_subset_generated_by ((N19 * N29),the action of G)) by A23, Lm30;

        end;

        then ( the_stable_subset_generated_by ((N1 * N2),the action of H1)) c= ( the_stable_subset_generated_by ((N19 * N29),the action of G));

        then

         A24: ( rng F) c= ( the_stable_subset_generated_by ((N19 * N29),the action of G)) by A10, A12;

        reconsider g as Element of G by Th2;

        H1 is Subgroup of G by Def7;

        then the carrier of H1 c= the carrier of G by GROUP_2:def 5;

        then ( rng F) c= the carrier of G;

        then

        reconsider F as FinSequence of the carrier of G by FINSEQ_1:def 4;

        ( Product (F |^ I)) = g by A11, A13, Th83;

        then

         A25: g in ( the_stable_subgroup_of (N19 * N29)) by A11, A24, Th24;

        assume not x in the carrier of ( the_stable_subgroup_of (N19 * N29));

        hence contradiction by A25, STRUCT_0:def 5;

      end;

      then ( meet X2) c= ( meet X1) by A2;

      then the carrier of S1 = the carrier of S2 by A2, A8, XBOOLE_0:def 10;

      hence thesis by A1, Lm4;

    end;

    theorem :: GROUP_9:87

    

     Th87: for N1,N2 be strict StableSubgroup of G st N1 is normal StableSubgroup of H1 & N2 is normal StableSubgroup of H1 holds (N1 "\/" N2) is normal StableSubgroup of H1

    proof

      let N1,N2 be strict StableSubgroup of G;

      assume

       A1: N1 is normal StableSubgroup of H1 & N2 is normal StableSubgroup of H1;

      then

      reconsider N19 = N1, N29 = N2 as StableSubgroup of H1;

      (N1 "\/" N2) = (N19 "\/" N29) by Th86;

      hence thesis by A1, Th32;

    end;

    theorem :: GROUP_9:88

    

     Th88: for f be Homomorphism of G, H holds for g be Homomorphism of H, I holds the carrier of ( Ker (g * f)) = (f " the carrier of ( Ker g))

    proof

      let f be Homomorphism of G, H;

      let g be Homomorphism of H, I;

       A1:

      now

        let x be object;

        assume

         A2: x in (f " the carrier of ( Ker g));

        then (f . x) in the carrier of ( Ker g) by FUNCT_1:def 7;

        then (f . x) in { b where b be Element of H : (g . b) = ( 1_ I) } by Def21;

        then

         A3: ex b be Element of H st b = (f . x) & (g . b) = ( 1_ I);

        x in ( dom f) by A2, FUNCT_1:def 7;

        then ( 1_ I) = ((g * f) . x) by A3, FUNCT_1: 13;

        then x in { a9 where a9 be Element of G : ((g * f) . a9) = ( 1_ I) } by A2;

        hence x in the carrier of ( Ker (g * f)) by Def21;

      end;

      

       A4: ( dom f) = the carrier of G by FUNCT_2:def 1;

      now

        let x be object;

        assume x in the carrier of ( Ker (g * f));

        then x in { a where a be Element of G : ((g * f) . a) = ( 1_ I) } by Def21;

        then

        consider a be Element of G such that

         A5: x = a and

         A6: ((g * f) . a) = ( 1_ I);

        reconsider b = (f . a) as Element of H;

        (g . b) = ( 1_ I) by A4, A6, FUNCT_1: 13;

        then (f . x) in { b9 where b9 be Element of H : (g . b9) = ( 1_ I) } by A5;

        then (f . x) in the carrier of ( Ker g) by Def21;

        hence x in (f " the carrier of ( Ker g)) by A4, A5, FUNCT_1:def 7;

      end;

      hence thesis by A1, TARSKI: 2;

    end;

    theorem :: GROUP_9:89

    

     Th89: for G9 be StableSubgroup of G, H9 be StableSubgroup of H, f be Homomorphism of G, H st the carrier of H9 = (f .: the carrier of G9) or the carrier of G9 = (f " the carrier of H9) holds (f | the carrier of G9) is Homomorphism of G9, H9

    proof

      let G9 be StableSubgroup of G;

      let H9 be StableSubgroup of H;

      let f be Homomorphism of G, H;

      set g = (f | the carrier of G9);

      G9 is Subgroup of G by Def7;

      then

       A1: the carrier of G9 c= the carrier of G by GROUP_2:def 5;

      then

       A2: the carrier of G9 c= ( dom f) by FUNCT_2:def 1;

      then

       A3: ( dom g) = the carrier of G9 by RELAT_1: 62;

      assume

       A4: the carrier of H9 = (f .: the carrier of G9) or the carrier of G9 = (f " the carrier of H9);

      

       A5: for x st x in the carrier of G9 holds (f . x) in the carrier of H9

      proof

        let x;

        assume

         A6: x in the carrier of G9;

        per cases by A4;

          suppose

           A7: the carrier of H9 = (f .: the carrier of G9);

          assume not (f . x) in the carrier of H9;

          hence contradiction by A2, A6, A7, FUNCT_1:def 6;

        end;

          suppose the carrier of G9 = (f " the carrier of H9);

          hence thesis by A6, FUNCT_1:def 7;

        end;

      end;

      now

        let y be object;

        assume y in ( rng g);

        then

        consider x be object such that

         A8: x in ( dom g) and

         A9: y = (g . x) by FUNCT_1:def 3;

        

         A10: x in the carrier of G9 by A2, A8, RELAT_1: 62;

        then y = (f . x) by A9, FUNCT_1: 49;

        hence y in the carrier of H9 by A5, A10;

      end;

      then ( rng g) c= the carrier of H9;

      then

      reconsider g as Function of G9, H9 by A3, RELSET_1: 4;

       A11:

      now

        let a9,b9 be Element of G9;

        reconsider a = a9, b = b9 as Element of G by A1;

        

         A12: (f . a) = (g . a9) & (f . b) = (g . b9) by FUNCT_1: 49;

        

        thus (g . (a9 * b9)) = (f . (a9 * b9)) by FUNCT_1: 49

        .= (f . (a * b)) by Th3

        .= ((f . a) * (f . b)) by GROUP_6:def 6

        .= ((g . a9) * (g . b9)) by A12, Th3;

      end;

      now

        let o be Element of O;

        let a9 be Element of G9;

        reconsider a = a9 as Element of G by A1;

        

        thus (g . ((G9 ^ o) . a9)) = (f . ((G9 ^ o) . a9)) by FUNCT_1: 49

        .= (f . (((G ^ o) | the carrier of G9) . a9)) by Def7

        .= (f . ((G ^ o) . a)) by FUNCT_1: 49

        .= ((H ^ o) . (f . a)) by Def18

        .= ((H ^ o) . (g . a9)) by FUNCT_1: 49

        .= (((H ^ o) | the carrier of H9) . (g . a9)) by FUNCT_1: 49

        .= ((H9 ^ o) . (g . a9)) by Def7;

      end;

      hence thesis by A11, Def18, GROUP_6:def 6;

    end;

    theorem :: GROUP_9:90

    

     Th90: for G,H be strict GroupWithOperators of O, N,L,G9 be strict StableSubgroup of G, f be Homomorphism of G, H st N = ( Ker f) & L is strict normal StableSubgroup of G9 holds (L "\/" (G9 /\ N)) is normal StableSubgroup of G9 & (L "\/" N) is normal StableSubgroup of (G9 "\/" N) & for N1 be strict normal StableSubgroup of (G9 "\/" N), N2 be strict normal StableSubgroup of G9 st N1 = (L "\/" N) & N2 = (L "\/" (G9 /\ N)) holds (((G9 "\/" N) ./. N1),(G9 ./. N2)) are_isomorphic

    proof

      let G,H be strict GroupWithOperators of O;

      let N,L,G9 be strict StableSubgroup of G;

      reconsider N9 = (G9 /\ N) as StableSubgroup of G9 by Lm33;

      reconsider Gs9 = the multMagma of G9 as strict Subgroup of G by Lm15;

      let f be Homomorphism of G, H;

      reconsider L99 = L as Subgroup of G by Def7;

      assume

       A1: N = ( Ker f);

      then

      consider H9 be strict StableSubgroup of H such that

       A2: the carrier of H9 = (f .: the carrier of G9) and

       A3: (f " the carrier of H9) = the carrier of (G9 "\/" N) and f is onto & G9 is normal implies H9 is normal by Th79;

      reconsider f99 = (f | the carrier of (G9 "\/" N)) as Homomorphism of (G9 "\/" N), H9 by A3, Th89;

      reconsider Ns = the multMagma of N as strict normal Subgroup of G by A1, Lm6;

      (( carr Gs9) * Ns) = (Ns * ( carr Gs9)) by GROUP_3: 120;

      then

       A4: (G9 * N) = (N * G9);

       A5:

      now

        let y be object;

        assume y in (f .: the carrier of G9);

        then

        consider x be object such that

         A6: x in ( dom f) and

         A7: x in the carrier of G9 and

         A8: y = (f . x) by FUNCT_1:def 6;

        reconsider x as Element of G by A6;

        consider x9 be set such that

         A9: x9 = (x * ( 1_ G));

        

         A10: x9 in ( dom f) by A6, A9, GROUP_1:def 4;

        

         A11: y = ((f . x) * ( 1_ H)) by A8, GROUP_1:def 4

        .= ((f . x) * (f . ( 1_ G))) by Lm12

        .= (f . x9) by A9, GROUP_6:def 6;

        (f . ( 1_ G)) = ( 1_ H) by Lm12;

        then ( 1_ G) in ( Ker f) by Th47;

        then ( 1_ G) in ( carr N) by A1, STRUCT_0:def 5;

        then x9 in (G9 * N) by A7, A9;

        hence y in (f .: (G9 * N)) by A10, A11, FUNCT_1:def 6;

      end;

      

       A12: ( dom f) = the carrier of G by FUNCT_2:def 1;

      now

        let y be object;

        assume y in (f .: (G9 * N));

        then

        consider x be object such that

         A13: x in ( dom f) and

         A14: x in (G9 * N) and

         A15: y = (f . x) by FUNCT_1:def 6;

        reconsider x as Element of G by A13;

        consider g1,g2 be Element of G such that

         A16: x = (g1 * g2) and

         A17: g1 in ( carr G9) and

         A18: g2 in ( carr N) by A14;

        

         A19: g2 in N by A18, STRUCT_0:def 5;

        y = ((f . g1) * (f . g2)) by A15, A16, GROUP_6:def 6

        .= ((f . g1) * ( 1_ H)) by A1, A19, Th47

        .= (f . g1) by GROUP_1:def 4;

        hence y in (f .: the carrier of G9) by A12, A17, FUNCT_1:def 6;

      end;

      then (f .: the carrier of G9) = (f .: (G9 * N)) by A5, TARSKI: 2;

      then

       A20: (f99 .: the carrier of (G9 "\/" N)) = (f .: the carrier of (G9 "\/" N)) & the carrier of H9 = (f .: the carrier of (G9 "\/" N)) by A2, A4, Th30, RELAT_1: 129;

       A21:

      now

        let x be object;

        assume x in (f99 " (f .: the carrier of L));

        then

         A22: x in (the carrier of (G9 "\/" N) /\ (f " (f .: the carrier of L))) by FUNCT_1: 70;

        then x in (f " (f .: the carrier of L)) by XBOOLE_0:def 4;

        then (f . x) in (f .: the carrier of L) by FUNCT_1:def 7;

        then

        consider g1 be object such that

         A23: g1 in ( dom f) and

         A24: g1 in the carrier of L and

         A25: (f . x) = (f . g1) by FUNCT_1:def 6;

        reconsider g1, g2 = x as Element of G by A22, A23;

        consider g3 be Element of G such that

         A26: g2 = (g1 * g3) by GROUP_1: 15;

        (f . g2) = ((f . g2) * (f . g3)) by A25, A26, GROUP_6:def 6;

        then (f . g3) = ( 1_ H) by GROUP_1: 7;

        then g3 in ( Ker f) by Th47;

        then g3 in the carrier of N by A1, STRUCT_0:def 5;

        hence x in (L * N) by A24, A26;

      end;

      reconsider f9 = (f | the carrier of G9) as Homomorphism of G9, H9 by A2, Th89;

       A27:

      now

        let x be object;

        assume x in the carrier of N9;

        then

         A28: x in (( carr G9) /\ ( carr N)) by Def25;

        then

        reconsider a9 = x as Element of G9 by XBOOLE_0:def 4;

        reconsider a99 = a9 as Element of G by Th2;

        x in ( carr N) by A28, XBOOLE_0:def 4;

        then x in N by STRUCT_0:def 5;

        then (f . a99) = ( 1_ H) by A1, Th47;

        then (f . a9) = ( 1_ H9) by Th4;

        then (f9 . a9) = ( 1_ H9) by FUNCT_1: 49;

        hence x in { a where a be Element of G9 : (f9 . a) = ( 1_ H9) };

      end;

      assume

       A29: L is strict normal StableSubgroup of G9;

      then

      reconsider L9 = L as strict StableSubgroup of G9;

      reconsider N1 = (L "\/" N) as StableSubgroup of (G9 "\/" N) by A29, Th38;

      (( carr L99) * Ns) = (Ns * ( carr L99)) by GROUP_3: 120;

      then

       A30: (L * N) = (N * L);

      now

        let x be object;

        assume x in { a where a be Element of G9 : (f9 . a) = ( 1_ H9) };

        then

        consider a be Element of G9 such that

         A31: x = a and

         A32: (f9 . a) = ( 1_ H9);

        reconsider a as Element of G by Th2;

        (f . a) = ( 1_ H9) by A32, FUNCT_1: 49;

        then (f . a) = ( 1_ H) by Th4;

        then x in N by A1, A31, Th47;

        then x in ( carr N) by STRUCT_0:def 5;

        then x in (( carr G9) /\ ( carr N)) by A31, XBOOLE_0:def 4;

        hence x in the carrier of N9 by Def25;

      end;

      then the carrier of N9 = { a where a be Element of G9 : (f9 . a) = ( 1_ H9) } by A27, TARSKI: 2;

      then

       A33: N9 = ( Ker f9) by Def21;

      then

      consider H99 be strict StableSubgroup of H9 such that

       A34: the carrier of H99 = (f9 .: the carrier of L9) and

       A35: (f9 " the carrier of H99) = the carrier of (L9 "\/" N9) and

       A36: f9 is onto & L9 is normal implies H99 is normal by Th79;

      consider N2 be strict StableSubgroup of G9 such that

       A37: the carrier of N2 = (f9 " the carrier of H99) and

       A38: H99 is normal implies N9 is normal StableSubgroup of N2 & N2 is normal by A33, Th78;

      (f9 .: the carrier of G9) = (f .: the carrier of G9) & H9 is strict StableSubgroup of H9 by Lm3, RELAT_1: 129;

      then ( Image f9) = H9 by A2, Def22;

      then

       A39: ( rng f9) = the carrier of H9 by Th49;

      then

      reconsider H99 as normal StableSubgroup of H9 by A29, A36;

      

       A40: N2 = (L9 "\/" N9) by A35, A37, Lm4;

      hence (L "\/" (G9 /\ N)) is normal StableSubgroup of G9 by A29, A36, A38, A39, Th86;

      set l = ( nat_hom H99);

      set f1 = (l * f99);

      

       A41: N2 = (L "\/" (G9 /\ N)) by A40, Th86;

      

       A42: (L "\/" N) is StableSubgroup of (G9 "\/" N) by A29, Th38;

       A43:

      now

        let x be object;

        assume

         A44: x in (L * N);

        then

        consider g1,g2 be Element of G such that

         A45: x = (g1 * g2) and

         A46: g1 in ( carr L) and

         A47: g2 in ( carr N);

        

         A48: g2 in N by A47, STRUCT_0:def 5;

        (f . x) = ((f . g1) * (f . g2)) by A45, GROUP_6:def 6

        .= ((f . g1) * ( 1_ H)) by A1, A48, Th47

        .= (f . g1) by GROUP_1:def 4;

        then

         A49: (f . x) in (f .: the carrier of L) by A12, A46, FUNCT_1:def 6;

        (L "\/" N) is Subgroup of (G9 "\/" N) by A42, Def7;

        then

         A50: the carrier of (L "\/" N) c= the carrier of (G9 "\/" N) by GROUP_2:def 5;

        

         A51: x in the carrier of (L "\/" N) by A30, A44, Th30;

        then x in (G9 "\/" N) by A50, STRUCT_0:def 5;

        then x in G by Th1;

        then x in ( dom f) by A12, STRUCT_0:def 5;

        then x in (f " (f .: the carrier of L)) by A49, FUNCT_1:def 7;

        then x in (the carrier of (G9 "\/" N) /\ (f " (f .: the carrier of L))) by A51, A50, XBOOLE_0:def 4;

        hence x in (f99 " (f .: the carrier of L)) by FUNCT_1: 70;

      end;

      L is Subgroup of G9 by A29, Def7;

      then the carrier of L c= the carrier of G9 by GROUP_2:def 5;

      then (f9 .: the carrier of L) = (f .: the carrier of L) by RELAT_1: 129;

      then (f99 " (f9 .: the carrier of L)) = (L * N) by A21, A43, TARSKI: 2;

      then

       A52: (f99 " the carrier of H99) = the carrier of N1 by A34, A30, Th30;

      

       A53: (f99 " the carrier of ( Ker l)) = (f99 " the carrier of H99) by Th48;

      then the carrier of ( Ker f1) = the carrier of N1 by A52, Th88;

      hence (L "\/" N) is normal StableSubgroup of (G9 "\/" N) by Lm4;

      

       A54: ( Ker f1) = N1 by A52, A53, Lm4, Th88;

      now

        set f2 = (l * f9);

        let N19 be strict normal StableSubgroup of (G9 "\/" N);

        let N29 be strict normal StableSubgroup of G9;

        assume

         A55: N19 = (L "\/" N);

        (f99 .: the carrier of (G9 "\/" N)) = (f9 .: the carrier of G9) & (f1 .: the carrier of (G9 "\/" N)) = (l .: (f99 .: the carrier of (G9 "\/" N))) by A2, A20, RELAT_1: 126, RELAT_1: 129;

        then

         A56: (f1 .: the carrier of (G9 "\/" N)) = (f2 .: the carrier of G9) by RELAT_1: 126;

        

         A57: (f9 " the carrier of ( Ker l)) = (f9 " the carrier of H99) by Th48;

        assume N29 = (L "\/" (G9 /\ N));

        then

         A58: N29 = ( Ker f2) by A37, A41, A57, Lm4, Th88;

        the carrier of ( Image f1) = (f1 .: the carrier of (G9 "\/" N)) by Def22

        .= the carrier of ( Image f2) by A56, Def22;

        then

         A59: ( Image f1) = ( Image f2) by Lm4;

        (((G9 "\/" N) ./. ( Ker f1)),( Image f1)) are_isomorphic & (( Image f2),(G9 ./. ( Ker f2))) are_isomorphic by Th59;

        hence (((G9 "\/" N) ./. N19),(G9 ./. N29)) are_isomorphic by A54, A55, A59, A58, Th55;

      end;

      hence thesis;

    end;

    begin

    theorem :: GROUP_9:91

    

     Th91: for H,K,H9,K9 be strict StableSubgroup of G, JH be normal StableSubgroup of (H9 "\/" (H /\ K)), HK be normal StableSubgroup of (H /\ K) st H9 is normal StableSubgroup of H & K9 is normal StableSubgroup of K & JH = (H9 "\/" (H /\ K9)) & HK = ((H9 /\ K) "\/" (K9 /\ H)) holds (((H9 "\/" (H /\ K)) ./. JH),((H /\ K) ./. HK)) are_isomorphic

    proof

      let H,K,H9,K9 be strict StableSubgroup of G;

      reconsider GG = H as GroupWithOperators of O;

      set G9 = (H /\ K);

      set L = (H /\ K9);

      reconsider G9 as strict StableSubgroup of GG by Lm33;

      let JH be normal StableSubgroup of (H9 "\/" (H /\ K));

      let HK be normal StableSubgroup of (H /\ K);

      assume that

       A1: H9 is normal StableSubgroup of H and

       A2: K9 is normal StableSubgroup of K;

      

       A3: L is normal StableSubgroup of G9 by A2, Th60;

      reconsider N9 = H9 as normal StableSubgroup of GG by A1;

      assume that

       A4: JH = (H9 "\/" (H /\ K9)) and

       A5: HK = ((H9 /\ K) "\/" (K9 /\ H));

      reconsider N = N9 as StableSubgroup of GG;

      set N1 = (G9 /\ N);

      

       A6: (G9 "\/" N) = ((H /\ K) "\/" H9) by Th86

      .= (H9 "\/" (H /\ K));

      reconsider L as StableSubgroup of GG by A3, Th11;

      N1 = ((H /\ K) /\ H9) by Th39;

      

      then

       A7: (L "\/" N1) = ((H /\ K9) "\/" ((H /\ K) /\ H9)) by Th86

      .= (((H9 /\ H) /\ K) "\/" (K9 /\ H)) by Th20

      .= HK by A1, A5, Lm21;

      reconsider HH = (GG ./. N9) as GroupWithOperators of O;

      reconsider f = ( nat_hom N9) as Homomorphism of GG, HH;

      

       A8: N = ( Ker f) by Th48;

      (L "\/" N) = ((H /\ K9) "\/" H9) by Th86

      .= JH by A4;

      hence thesis by A3, A7, A8, A6, Th90;

    end;

    theorem :: GROUP_9:92

    

     Th92: for H,K,H9,K9 be strict StableSubgroup of G st H9 is normal StableSubgroup of H & K9 is normal StableSubgroup of K holds (H9 "\/" (H /\ K9)) is normal StableSubgroup of (H9 "\/" (H /\ K))

    proof

      let H,K,H9,K9 be strict StableSubgroup of G;

      reconsider GG = H as GroupWithOperators of O;

      reconsider G9 = (H /\ K) as strict StableSubgroup of GG by Lm33;

      assume that

       A1: H9 is normal StableSubgroup of H and

       A2: K9 is normal StableSubgroup of K;

      reconsider N9 = H9 as normal StableSubgroup of GG by A1;

      reconsider N = N9 as StableSubgroup of GG;

      reconsider HH = (GG ./. N9) as GroupWithOperators of O;

      reconsider f = ( nat_hom N9) as Homomorphism of GG, HH;

      set L = (H /\ K9);

      

       A3: L is strict normal StableSubgroup of G9 by A2, Th60;

      then

      reconsider L as strict StableSubgroup of GG by Th11;

      

       A4: N = ( Ker f) by Th48;

      

       A5: (G9 "\/" N) = ((H /\ K) "\/" H9) by Th86

      .= (H9 "\/" (H /\ K));

      (L "\/" N) = ((H /\ K9) "\/" H9) by Th86

      .= (H9 "\/" (H /\ K9));

      hence thesis by A3, A4, A5, Th90;

    end;

    ::$Notion-Name

    theorem :: GROUP_9:93

    

     Th93: for H,K,H9,K9 be strict StableSubgroup of G, JH be normal StableSubgroup of (H9 "\/" (H /\ K)), JK be normal StableSubgroup of (K9 "\/" (K /\ H)) st JH = (H9 "\/" (H /\ K9)) & JK = (K9 "\/" (K /\ H9)) & H9 is normal StableSubgroup of H & K9 is normal StableSubgroup of K holds (((H9 "\/" (H /\ K)) ./. JH),((K9 "\/" (K /\ H)) ./. JK)) are_isomorphic

    proof

      let H,K,H9,K9 be strict StableSubgroup of G;

      let JH be normal StableSubgroup of (H9 "\/" (H /\ K));

      let JK be normal StableSubgroup of (K9 "\/" (K /\ H));

      assume that

       A1: JH = (H9 "\/" (H /\ K9)) and

       A2: JK = (K9 "\/" (K /\ H9));

      set HK = ((H9 /\ K) "\/" (K9 /\ H));

      assume

       A3: H9 is normal StableSubgroup of H;

      then

       A4: (H9 /\ K) is normal StableSubgroup of (H /\ K) by Th60;

      assume

       A5: K9 is normal StableSubgroup of K;

      then (K9 /\ H) is normal StableSubgroup of (H /\ K) by Th60;

      then

      reconsider HK as normal StableSubgroup of (H /\ K) by A4, Th87;

      HK = ((K9 /\ H) "\/" (H9 /\ K));

      then

       A6: (((K9 "\/" (K /\ H)) ./. JK),((H /\ K) ./. HK)) are_isomorphic by A2, A3, A5, Th91;

      (((H9 "\/" (H /\ K)) ./. JH),((H /\ K) ./. HK)) are_isomorphic by A1, A3, A5, Th91;

      hence thesis by A6, Th55;

    end;

    begin

    definition

      let O be set;

      let G be GroupWithOperators of O;

      let IT be FinSequence of ( the_stable_subgroups_of G);

      :: GROUP_9:def28

      attr IT is composition_series means

      : Def28: (IT . 1) = ( (Omega). G) & (IT . ( len IT)) = ( (1). G) & for i be Nat st i in ( dom IT) & (i + 1) in ( dom IT) holds for H1,H2 be StableSubgroup of G st H1 = (IT . i) & H2 = (IT . (i + 1)) holds H2 is normal StableSubgroup of H1;

    end

    registration

      let O be set;

      let G be GroupWithOperators of O;

      cluster composition_series for FinSequence of ( the_stable_subgroups_of G);

      existence

      proof

        take H = <*( (Omega). G), ( (1). G)*>;

        ( (Omega). G) is Element of ( the_stable_subgroups_of G) & ( (1). G) is Element of ( the_stable_subgroups_of G) by Def11;

        then

        reconsider H as FinSequence of ( the_stable_subgroups_of G) by FINSEQ_2: 13;

        

         A1: (H . ( len H)) = (H . 2) by FINSEQ_1: 44

        .= ( (1). G) by FINSEQ_1: 44;

        

         A2: for i be Nat st i in ( dom H) & (i + 1) in ( dom H) holds for H1,H2 be StableSubgroup of G st H1 = (H . i) & H2 = (H . (i + 1)) holds H2 is normal StableSubgroup of H1

        proof

          let i be Nat;

          assume

           A3: i in ( dom H);

          assume

           A4: (i + 1) in ( dom H);

          ( len H) = 2 by FINSEQ_1: 44;

          then

           A5: ( dom H) = {1, 2} by FINSEQ_1: 2, FINSEQ_1:def 3;

          per cases by A3, A5, TARSKI:def 2;

            suppose

             A6: i = 1;

            let H1,H2 be StableSubgroup of G;

            assume H1 = (H . i);

            assume H2 = (H . (i + 1));

            then

             A7: H2 = ( (1). G) by A6, FINSEQ_1: 44;

            then

            reconsider H2 as StableSubgroup of H1 by Th16;

            now

              let H be strict Subgroup of H1;

              reconsider H1 as Subgroup of G by Def7;

              assume the multMagma of H2 = H;

              then the carrier of H = {( 1_ G)} by A7, Def8;

              then the carrier of H = {( 1_ H1)} by GROUP_2: 44;

              then H = ( (1). H1) by GROUP_2:def 7;

              hence H is normal;

            end;

            hence thesis by Def10;

          end;

            suppose i = 2;

            hence thesis by A4, A5, TARSKI:def 2;

          end;

        end;

        (H . 1) = ( (Omega). G) by FINSEQ_1: 44;

        hence thesis by A1, A2, Def28;

      end;

    end

    definition

      let O be set;

      let G be GroupWithOperators of O;

      mode CompositionSeries of G is composition_series FinSequence of ( the_stable_subgroups_of G);

    end

    definition

      let O be set;

      let G be GroupWithOperators of O;

      let s1,s2 be CompositionSeries of G;

      :: GROUP_9:def29

      pred s1 is_finer_than s2 means ex x be set st x c= ( dom s1) & s2 = (s1 * ( Sgm x));

      reflexivity

      proof

        now

          let s1 be CompositionSeries of G;

          set x = ( dom s1);

          reconsider x as set;

          take x;

          thus x c= ( dom s1);

          set i = ( len s1);

          ( Sgm x) = ( Sgm ( Seg i)) by FINSEQ_1:def 3

          .= ( idseq i) by FINSEQ_3: 48;

          hence s1 = (s1 * ( Sgm x)) by FINSEQ_2: 54;

        end;

        hence thesis;

      end;

    end

    definition

      let O be set;

      let G be GroupWithOperators of O;

      let IT be CompositionSeries of G;

      :: GROUP_9:def30

      attr IT is strictly_decreasing means for i be Nat st i in ( dom IT) & (i + 1) in ( dom IT) holds for H be StableSubgroup of G, N be normal StableSubgroup of H st H = (IT . i) & N = (IT . (i + 1)) holds not (H ./. N) is trivial;

    end

    definition

      let O be set;

      let G be GroupWithOperators of O;

      let IT be CompositionSeries of G;

      :: GROUP_9:def31

      attr IT is jordan_holder means IT is strictly_decreasing & not ex s be CompositionSeries of G st s <> IT & s is strictly_decreasing & s is_finer_than IT;

    end

    definition

      let O be set;

      let G1,G2 be GroupWithOperators of O;

      let s1 be CompositionSeries of G1;

      let s2 be CompositionSeries of G2;

      :: GROUP_9:def32

      pred s1 is_equivalent_with s2 means ( len s1) = ( len s2) & for n be Nat st (n + 1) = ( len s1) holds ex p be Permutation of ( Seg n) st for H1 be StableSubgroup of G1, H2 be StableSubgroup of G2, N1 be normal StableSubgroup of H1, N2 be normal StableSubgroup of H2, i,j be Nat st 1 <= i & i <= n & j = (p . i) & H1 = (s1 . i) & H2 = (s2 . j) & N1 = (s1 . (i + 1)) & N2 = (s2 . (j + 1)) holds ((H1 ./. N1),(H2 ./. N2)) are_isomorphic ;

    end

    definition

      let O be set;

      let G be GroupWithOperators of O;

      let s be CompositionSeries of G;

      :: GROUP_9:def33

      func the_series_of_quotients_of s -> FinSequence means

      : Def33: ( len s) = (( len it ) + 1) & for i be Nat st i in ( dom it ) holds for H be StableSubgroup of G, N be normal StableSubgroup of H st H = (s . i) & N = (s . (i + 1)) holds (it . i) = (H ./. N) if ( len s) > 1

      otherwise it = {} ;

      existence

      proof

        now

          set i = (( len s) - 1);

          assume ( len s) > 1;

          then (( len s) - 1) > (1 - 1) by XREAL_1: 9;

          then

          reconsider i as Element of NAT by INT_1: 3;

          defpred P[ set, object] means for H be StableSubgroup of G, N be normal StableSubgroup of H, j be Nat st $1 in ( Seg i) & j = $1 & H = (s . j) & N = (s . (j + 1)) holds $2 = (H ./. N);

          

           A1: for k be Nat st k in ( Seg i) holds ex x be object st P[k, x]

          proof

            let k be Nat;

            reconsider k1 = k as Element of NAT by ORDINAL1:def 12;

            assume

             A2: k in ( Seg i);

            then

             A3: 1 <= k by FINSEQ_1: 1;

            k <= i by A2, FINSEQ_1: 1;

            then

             A4: (k + 1) <= ((( len s) - 1) + 1) by XREAL_1: 6;

            ( 0 + k) <= (1 + k) by XREAL_1: 6;

            then k <= ( len s) by A4, XXREAL_0: 2;

            then k1 in ( Seg ( len s)) by A3;

            then

             A5: k in ( dom s) by FINSEQ_1:def 3;

            (1 + 1) <= (k + 1) by A3, XREAL_1: 6;

            then 1 <= (k + 1) by XXREAL_0: 2;

            then (k1 + 1) in ( Seg ( len s)) by A4;

            then

             A6: (k + 1) in ( dom s) by FINSEQ_1:def 3;

            then

            reconsider H = (s . k), N = (s . (k + 1)) as Element of ( the_stable_subgroups_of G) by A5, FINSEQ_2: 11;

            reconsider H, N as StableSubgroup of G by Def11;

            reconsider N as normal StableSubgroup of H by A5, A6, Def28;

            take (H ./. N);

            thus thesis;

          end;

          consider f be FinSequence such that

           A7: ( dom f) = ( Seg i) & for k be Nat st k in ( Seg i) holds P[k, (f . k)] from FINSEQ_1:sch 1( A1);

          take f;

          ( len f) = i by A7, FINSEQ_1:def 3;

          hence ( len s) = (( len f) + 1);

          let j be Nat;

          assume

           A8: j in ( dom f);

          let H be StableSubgroup of G;

          let N be normal StableSubgroup of H;

          assume

           A9: H = (s . j);

          assume N = (s . (j + 1));

          hence (f . j) = (H ./. N) by A7, A8, A9;

        end;

        hence thesis;

      end;

      uniqueness

      proof

        let f1,f2 be FinSequence;

        now

          assume ( len s) > 1;

          assume

           A10: ( len s) = (( len f1) + 1);

          assume

           A11: for i be Nat st i in ( dom f1) holds for H1 be StableSubgroup of G, N1 be normal StableSubgroup of H1 st H1 = (s . i) & N1 = (s . (i + 1)) holds (f1 . i) = (H1 ./. N1);

          assume

           A12: ( len s) = (( len f2) + 1);

          assume

           A13: for i be Nat st i in ( dom f2) holds for H1 be StableSubgroup of G, N1 be normal StableSubgroup of H1 st H1 = (s . i) & N1 = (s . (i + 1)) holds (f2 . i) = (H1 ./. N1);

          for k be Nat st 1 <= k & k <= ( len f1) holds (f1 . k) = (f2 . k)

          proof

            let k be Nat;

            reconsider k1 = k as Element of NAT by ORDINAL1:def 12;

            assume that

             A14: 1 <= k and

             A15: k <= ( len f1);

            

             A16: (k + 1) <= ((( len s) - 1) + 1) by A10, A15, XREAL_1: 6;

            ( 0 + k) <= (1 + k) by XREAL_1: 6;

            then k <= ( len s) by A16, XXREAL_0: 2;

            then k1 in ( Seg ( len s)) by A14;

            then

             A17: k in ( dom s) by FINSEQ_1:def 3;

            (1 + 1) <= (k + 1) by A14, XREAL_1: 6;

            then 1 <= (k + 1) by XXREAL_0: 2;

            then (k1 + 1) in ( Seg ( len s)) by A16;

            then

             A18: (k + 1) in ( dom s) by FINSEQ_1:def 3;

            then

            reconsider H1 = (s . k), N1 = (s . (k + 1)) as Element of ( the_stable_subgroups_of G) by A17, FINSEQ_2: 11;

            reconsider H1, N1 as StableSubgroup of G by Def11;

            reconsider N1 as normal StableSubgroup of H1 by A17, A18, Def28;

            

             A19: k1 in ( Seg ( len f1)) by A14, A15;

            then k in ( dom f1) by FINSEQ_1:def 3;

            then

             A20: (f1 . k) = (H1 ./. N1) by A11;

            k in ( dom f2) by A10, A12, A19, FINSEQ_1:def 3;

            hence thesis by A13, A20;

          end;

          hence f1 = f2 by A10, A12;

        end;

        hence thesis;

      end;

      consistency ;

    end

    definition

      let O be set;

      let f1,f2 be FinSequence;

      let p be Permutation of ( dom f1);

      :: GROUP_9:def34

      pred f1,f2 are_equivalent_under p,O means ( len f1) = ( len f2) & for H1,H2 be GroupWithOperators of O, i,j be Nat st i in ( dom f1) & j = ((p " ) . i) & H1 = (f1 . i) & H2 = (f2 . j) holds (H1,H2) are_isomorphic ;

    end

    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 :: GROUP_9:94

    

     Th94: i in ( dom s1) & (i + 1) in ( dom s1) & (s1 . i) = (s1 . (i + 1)) & fs = ( Del (s1,i)) implies fs is composition_series

    proof

      assume

       A1: i in ( dom s1);

      then

      consider k be Nat such that

       A2: ( len s1) = (k + 1) and

       A3: ( len ( Del (s1,i))) = k by FINSEQ_3: 104;

      assume (i + 1) in ( dom s1);

      then (i + 1) in ( Seg ( len s1)) by FINSEQ_1:def 3;

      then

       A4: (i + 1) <= ( len s1) by FINSEQ_1: 1;

      assume

       A5: (s1 . i) = (s1 . (i + 1));

      assume

       A6: fs = ( Del (s1,i));

      

       A7: i in ( Seg ( len s1)) by A1, FINSEQ_1:def 3;

      then

       A8: 1 <= i by FINSEQ_1: 1;

      then (1 + 1) <= (i + 1) by XREAL_1: 6;

      then (1 + 1) <= (( len fs) + 1) by A6, A4, A2, A3, XXREAL_0: 2;

      then

       A9: 1 <= ( len fs) by XREAL_1: 6;

      per cases by A9, XXREAL_0: 1;

        suppose

         A10: ( len fs) = 1;

         A11:

        now

          let n be Nat;

          assume n in ( dom fs);

          then n in ( Seg 1) by A10, FINSEQ_1:def 3;

          then

           A12: n = 1 by FINSEQ_1: 2, TARSKI:def 1;

          assume

           A13: (n + 1) in ( dom fs);

          let H1, H2;

          assume that H1 = (fs . n) and H2 = (fs . (n + 1));

          2 in ( Seg 1) by A10, A12, A13, FINSEQ_1:def 3;

          hence H2 is normal StableSubgroup of H1 by FINSEQ_1: 2, TARSKI:def 1;

        end;

        

         A14: (s1 . 1) = ( (Omega). G) by Def28;

        

         A15: 1 <= i by A7, FINSEQ_1: 1;

        

         A16: i <= 1 by A6, A4, A2, A3, A10, XREAL_1: 6;

        then

         A17: i = 1 by A15, XXREAL_0: 1;

        ( dom s1) = ( Seg 2) by A6, A2, A3, A10, FINSEQ_1:def 3;

        then 1 in ( dom s1);

        then

         A18: i in ( dom s1) by A15, A16, XXREAL_0: 1;

        i <= 1 by A6, A4, A2, A3, A10, XREAL_1: 6;

        

        then

         A19: (fs . ( len fs)) = (s1 . (1 + 1)) by A6, A2, A3, A10, A18, FINSEQ_3: 111

        .= ( (1). G) by A6, A2, A3, A10, Def28;

        (s1 . 2) = ( (1). G) by A6, A2, A3, A10, Def28;

        hence thesis by A5, A10, A17, A14, A19, A11;

      end;

        suppose

         A20: ( len fs) > 1;

        

         A21: (fs . 1) = ( (Omega). G)

        proof

          per cases by A8, XXREAL_0: 1;

            suppose

             A22: i = 1;

            then (fs . 1) = (s1 . (1 + 1)) by A1, A6, A2, A3, A20, FINSEQ_3: 111;

            hence thesis by A5, A22, Def28;

          end;

            suppose

             A23: i > 1;

            reconsider i as Element of NAT by INT_1: 3;

            (fs . 1) = (s1 . 1) by A23, A6, FINSEQ_3: 110;

            hence thesis by Def28;

          end;

        end;

         A24:

        now

          let n be Nat;

          assume that

           A25: n in ( dom fs) and

           A26: (n + 1) in ( dom fs);

          

           A27: n in ( Seg ( len fs)) by A25, FINSEQ_1:def 3;

          then

           A28: n <= k by A6, A3, FINSEQ_1: 1;

          reconsider n1 = (n + 1) as Nat;

          

           A29: (n + 1) in ( Seg ( len fs)) by A26, FINSEQ_1:def 3;

          then

           A30: n1 <= k by A6, A3, FINSEQ_1: 1;

          

           A31: ( 0 + ( len fs)) < (1 + ( len fs)) by XREAL_1: 6;

          then

           A32: ( Seg ( len fs)) c= ( Seg ( len s1)) by A6, A2, A3, FINSEQ_1: 5;

          then n in ( Seg ( len s1)) by A27;

          then

           A33: n in ( dom s1) by FINSEQ_1:def 3;

          n1 in ( Seg ( len s1)) by A29, A32;

          then

           A34: n1 in ( dom s1) by FINSEQ_1:def 3;

          n1 <= ( len fs) by A29, FINSEQ_1: 1;

          then n1 < ( len s1) by A6, A2, A3, A31, XXREAL_0: 2;

          then (n1 + 1) <= (k + 1) by A2, NAT_1: 13;

          then ( Seg (n1 + 1)) c= ( Seg ( len s1)) by A2, FINSEQ_1: 5;

          then

           A35: ( Seg (n1 + 1)) c= ( dom s1) by FINSEQ_1:def 3;

          

           A36: (n1 + 1) in ( Seg (n1 + 1)) by FINSEQ_1: 4;

          let H1, H2;

          assume

           A37: H1 = (fs . n);

          assume

           A38: H2 = (fs . (n + 1));

          reconsider i, n as Nat;

          per cases ;

            suppose

             A39: n < i;

            then

             A40: n1 <= i by NAT_1: 13;

            reconsider n9 = n, i as Element of NAT by INT_1: 3;

            

             A41: (( Del (s1,i)) . n9) = (s1 . n9) by A39, FINSEQ_3: 110;

            per cases by A40, XXREAL_0: 1;

              suppose

               A42: n1 < i;

              reconsider n19 = n1, i as Element of NAT ;

              (( Del (s1,i)) . n19) = (s1 . n19) by A42, FINSEQ_3: 110;

              hence H2 is normal StableSubgroup of H1 by A6, A37, A38, A33, A34, A41, Def28;

            end;

              suppose

               A43: n1 = i;

              then (( Del (s1,i)) . n1) = (s1 . (n1 + 1)) by A1, A2, A30, FINSEQ_3: 111;

              hence H2 is normal StableSubgroup of H1 by A5, A6, A37, A38, A33, A34, A41, A43, Def28;

            end;

          end;

            suppose

             A44: n >= i;

            reconsider n9 = n, i as Element of NAT by INT_1: 3;

            

             A45: (( Del (s1,i)) . n9) = (s1 . (n9 + 1)) by A1, A2, A28, A44, FINSEQ_3: 111;

            reconsider n19 = n1, i, k as Element of NAT by INT_1: 3;

            ( 0 + n) <= (n + 1) by XREAL_1: 6;

            then

             A46: i <= n19 by A44, XXREAL_0: 2;

            n19 <= k by A6, A3, A29, FINSEQ_1: 1;

            then (( Del (s1,i)) . n19) = (s1 . (n19 + 1)) by A1, A2, A46, FINSEQ_3: 111;

            hence H2 is normal StableSubgroup of H1 by A6, A37, A38, A34, A35, A36, A45, Def28;

          end;

        end;

        i <= ( len fs) by A6, A4, A2, A3, XREAL_1: 6;

        then (fs . ( len fs)) = (s1 . ( len s1)) by A1, A6, A2, A3, FINSEQ_3: 111;

        then (fs . ( len fs)) = ( (1). G) by Def28;

        hence thesis by A21, A24;

      end;

    end;

    theorem :: GROUP_9:95

    

     Th95: s1 is_finer_than s2 implies ex n st ( len s1) = (( len s2) + n)

    proof

      set n = (( len s1) - ( len s2));

      assume s1 is_finer_than s2;

      then

      consider x such that

       A1: x c= ( dom s1) and

       A2: s2 = (s1 * ( Sgm x));

      

       A3: x c= ( Seg ( len s1)) by A1, FINSEQ_1:def 3;

      reconsider x as finite set by A1;

      now

        let y1 be object;

        assume y1 in ( dom s2);

        then y1 in ( dom ( Sgm x)) by A2, FUNCT_1: 11;

        then

         A4: y1 in ( Seg ( card x)) by A3, FINSEQ_3: 40;

        ( card x) <= ( card ( dom s1)) by A1, NAT_1: 43;

        then ( Seg ( card x)) c= ( Seg ( card ( dom s1))) by FINSEQ_1: 5;

        then y1 in ( Seg ( card ( dom s1))) by A4;

        then y1 in ( Seg ( card ( Seg ( len s1)))) by FINSEQ_1:def 3;

        then y1 in ( Seg ( len s1)) by FINSEQ_1: 57;

        hence y1 in ( dom s1) by FINSEQ_1:def 3;

      end;

      then ( dom s2) c= ( dom s1);

      then ( Seg ( len s2)) c= ( dom s1) by FINSEQ_1:def 3;

      then ( Seg ( len s2)) c= ( Seg ( len s1)) by FINSEQ_1:def 3;

      then ( len s2) <= ( len s1) by FINSEQ_1: 5;

      then (( len s2) - ( len s2)) <= (( len s1) - ( len s2)) by XREAL_1: 9;

      then n in NAT by INT_1: 3;

      then

      reconsider n as Nat;

      take n;

      thus thesis;

    end;

    theorem :: GROUP_9:96

    

     Th96: ( len s2) = ( len s1) & s2 is_finer_than s1 implies s1 = s2

    proof

      reconsider X = ( Seg ( len s2)) as finite set;

      assume ( len s2) = ( len s1);

      

      then

       A1: ( dom s1) = ( Seg ( len s2)) by FINSEQ_1:def 3

      .= ( dom s2) by FINSEQ_1:def 3;

      assume s2 is_finer_than s1;

      then

      consider x such that

       A2: x c= ( dom s2) and

       A3: s1 = (s2 * ( Sgm x));

      set y = (X \ x);

      

       A4: x c= ( Seg ( len s2)) by A2, FINSEQ_1:def 3;

      then x = ( rng ( Sgm x)) by FINSEQ_1:def 13;

      then

       A5: ( dom (s2 * ( Sgm x))) = ( dom ( Sgm x)) by A2, RELAT_1: 27;

      reconsider x, y as finite set by A2;

      ( dom ( Sgm x)) = ( Seg ( len s2)) by A3, A1, A5, FINSEQ_1:def 3;

      then ( len ( Sgm x)) = ( len s2) by FINSEQ_1:def 3;

      then

       A6: ( card x) = ( len s2) by A4, FINSEQ_3: 39;

      

       A7: X = (X \/ x) by A4, XBOOLE_1: 12

      .= (x \/ y) by XBOOLE_1: 39;

      ( card (x \/ y)) = (( card x) + ( card y)) by CARD_2: 40, XBOOLE_1: 79;

      then ( len s2) = (( card x) + ( card y)) by A7, FINSEQ_1: 57;

      then y = {} by A6;

      then ( Sgm x) = ( idseq ( len s2)) by A7, FINSEQ_3: 48;

      hence thesis by A3, FINSEQ_2: 54;

    end;

    theorem :: GROUP_9:97

    

     Th97: not s1 is empty & s2 is_finer_than s1 implies not s2 is empty;

    theorem :: GROUP_9:98

    s1 is_finer_than s2 & s1 is jordan_holder & s2 is jordan_holder implies s1 = s2;

    

     Lm35: for P,R be Relation holds P = (( rng P) |` R) iff (P ~ ) = ((R ~ ) | ( dom (P ~ )))

    proof

      let P,R be Relation;

      hereby

        assume

         A1: P = (( rng P) |` R);

        now

          let x,y be object;

          hereby

            assume

             A2: [x, y] in (P ~ );

            then [y, x] in P by RELAT_1:def 7;

            then [y, x] in R by A1, RELAT_1:def 12;

            then

             A3: [x, y] in (R ~ ) by RELAT_1:def 7;

            x in ( dom (P ~ )) by A2, XTUPLE_0:def 12;

            hence [x, y] in ((R ~ ) | ( dom (P ~ ))) by A3, RELAT_1:def 11;

          end;

          assume

           A4: [x, y] in ((R ~ ) | ( dom (P ~ )));

          then [x, y] in (R ~ ) by RELAT_1:def 11;

          then

           A5: [y, x] in R by RELAT_1:def 7;

          x in ( dom (P ~ )) by A4, RELAT_1:def 11;

          then x in ( rng P) by RELAT_1: 20;

          then [y, x] in (( rng P) |` R) by A5, RELAT_1:def 12;

          hence [x, y] in (P ~ ) by A1, RELAT_1:def 7;

        end;

        hence (P ~ ) = ((R ~ ) | ( dom (P ~ )));

      end;

      assume

       A6: (P ~ ) = ((R ~ ) | ( dom (P ~ )));

      now

        let x,y be object;

        hereby

          assume [x, y] in P;

          then

           A7: [y, x] in (P ~ ) by RELAT_1:def 7;

          then [y, x] in (R ~ ) by A6, RELAT_1:def 11;

          then

           A8: [x, y] in R by RELAT_1:def 7;

          y in ( dom (P ~ )) by A6, A7, RELAT_1:def 11;

          then y in ( rng P) by RELAT_1: 20;

          hence [x, y] in (( rng P) |` R) by A8, RELAT_1:def 12;

        end;

        assume

         A9: [x, y] in (( rng P) |` R);

        then [x, y] in R by RELAT_1:def 12;

        then

         A10: [y, x] in (R ~ ) by RELAT_1:def 7;

        y in ( rng P) by A9, RELAT_1:def 12;

        then y in ( dom (P ~ )) by RELAT_1: 20;

        then [y, x] in ((R ~ ) | ( dom (P ~ ))) by A10, RELAT_1:def 11;

        hence [x, y] in P by A6, RELAT_1:def 7;

      end;

      hence thesis;

    end;

    

     Lm36: for X be set, P,R be Relation holds (P * (R | X)) = ((X |` P) * R)

    proof

      let X be set;

      let P,R be Relation;

       A1:

      now

        let x be object;

        assume

         A2: x in ((X |` P) * R);

        then

        consider y,z be object such that

         A3: x = [y, z] by RELAT_1:def 1;

        consider w be object such that

         A4: [y, w] in (X |` P) and

         A5: [w, z] in R by A2, A3, RELAT_1:def 8;

        w in X by A4, RELAT_1:def 12;

        then

         A6: [w, z] in (R | X) by A5, RELAT_1:def 11;

         [y, w] in P by A4, RELAT_1:def 12;

        hence x in (P * (R | X)) by A3, A6, RELAT_1:def 8;

      end;

      now

        let x be object;

        assume

         A7: x in (P * (R | X));

        then

        consider y,z be object such that

         A8: x = [y, z] by RELAT_1:def 1;

        consider w be object such that

         A9: [y, w] in P and

         A10: [w, z] in (R | X) by A7, A8, RELAT_1:def 8;

        w in X by A10, RELAT_1:def 11;

        then

         A11: [y, w] in (X |` P) by A9, RELAT_1:def 12;

         [w, z] in R by A10, RELAT_1:def 11;

        hence x in ((X |` P) * R) by A8, A11, RELAT_1:def 8;

      end;

      hence thesis by A1;

    end;

    

     Lm37: for n be Nat, X be set, f be PartFunc of REAL , REAL st X c= ( Seg n) & X c= ( dom f) & (f | X) is increasing & (f .: X) c= ( NAT \ { 0 }) holds ( Sgm (f .: X)) = (f * ( Sgm X))

    proof

      let n be Nat;

      let X be set;

      let f be PartFunc of REAL , REAL ;

      assume

       A1: X c= ( Seg n);

      then

       A2: ( rng ( Sgm X)) = X by FINSEQ_1:def 13;

      assume

       A3: X c= ( dom f);

      assume

       A4: (f | X) is increasing;

      assume

       A5: (f .: X) c= ( NAT \ { 0 });

      per cases ;

        suppose

         A6: X misses ( dom f);

        then

         A7: (f .: X) = {} by RELAT_1: 118;

        then (f .: X) c= ( Seg 0 );

        then ( Sgm (f .: X)) = {} by A7, FINSEQ_1: 51;

        hence thesis by A2, A6, RELAT_1: 44;

      end;

        suppose

         A8: X meets ( dom f);

        reconsider X9 = X as finite set by A1;

        set fX = (f .: X);

        reconsider f9 = f as Function;

        

         AA: (f9 .: X9) is finite;

        fX c= ( NAT \ { 0 }) by A5;

        then

        reconsider fX as finite non empty natural-membered set by A8, AA, RELAT_1: 118;

        reconsider k = ( max fX) as Nat by TARSKI: 1;

        set fs = (f * ( Sgm X));

        ( rng ( Sgm X)) c= ( dom f) by A1, A3, FINSEQ_1:def 13;

        then

        reconsider fs as FinSequence by FINSEQ_1: 16;

        (f .: ( rng ( Sgm X))) c= ( NAT \ { 0 }) by A1, A5, FINSEQ_1:def 13;

        then

         A9: ( rng fs) c= ( NAT \ { 0 }) by RELAT_1: 127;

        ( rng fs) c= NAT by A9, XBOOLE_1: 1;

        then

        reconsider fs as FinSequence of NAT by FINSEQ_1:def 4;

        now

          let x be object;

          assume

           A10: x in (f .: X);

          then

          reconsider k9 = x as Nat by A5;

           not k9 in { 0 } by A5, A10, XBOOLE_0:def 5;

          then k9 <> 0 by TARSKI:def 1;

          then ( 0 + 1) < (k9 + 1) by XREAL_1: 6;

          then

           A11: 1 <= k9 by NAT_1: 13;

          k9 <= k by A10, XXREAL_2:def 8;

          hence x in ( Seg k) by A11;

        end;

        then

         A12: (f .: X) c= ( Seg k);

         A13:

        now

          

           A14: ( dom fs) = ( Seg ( len fs)) by FINSEQ_1:def 3;

          let l,m,k1,k2 be Nat;

          assume that

           A15: 1 <= l and

           A16: l < m and

           A17: m <= ( len fs);

          set k19 = (( Sgm X) . l);

          l <= ( len fs) by A16, A17, XXREAL_0: 2;

          then

           A18: l in ( dom fs) by A15, A14;

          then l in ( dom ( Sgm X)) by FUNCT_1: 11;

          then

           A19: k19 in X by A2, FUNCT_1: 3;

          set k29 = (( Sgm X) . m);

          1 <= m by A15, A16, XXREAL_0: 2;

          then

           A20: m in ( dom fs) by A17, A14;

          then

           A21: m in ( dom ( Sgm X)) by FUNCT_1: 11;

          then

           A22: k29 in X by A2, FUNCT_1: 3;

          reconsider k19, k29 as Nat;

          m in ( Seg ( len ( Sgm X))) by A21, FINSEQ_1:def 3;

          then m <= ( len ( Sgm X)) by FINSEQ_1: 1;

          then

           A23: k19 < k29 by A1, A15, A16, FINSEQ_1:def 13;

          reconsider k19, k29 as Element of NAT by ORDINAL1:def 12;

          reconsider k19, k29 as Element of REAL by XREAL_0:def 1;

          (( Sgm X) . l) in ( dom f) by A18, FUNCT_1: 11;

          then

           A24: k19 in (X /\ ( dom f)) by A19, XBOOLE_0:def 4;

          assume that

           A25: k1 = (fs . l) and

           A26: k2 = (fs . m);

          

           A27: k2 = (f . (( Sgm X) . m)) by A26, A20, FUNCT_1: 12;

          (( Sgm X) . m) in ( dom f) by A20, FUNCT_1: 11;

          then

           A28: k29 in (X /\ ( dom f)) by A22, XBOOLE_0:def 4;

          k1 = (f . (( Sgm X) . l)) by A25, A18, FUNCT_1: 12;

          hence k1 < k2 by A4, A27, A23, A24, A28, RFUNCT_2: 20;

        end;

        ( rng fs) = (f .: X) by A2, RELAT_1: 127;

        hence thesis by A12, A13, FINSEQ_1:def 13;

      end;

    end;

    

     Lm38: y c= ( Seg (n + 1)) & i in ( Seg (n + 1)) & not i in y implies ex x st ( Sgm x) = ((( Sgm (( Seg (n + 1)) \ {i})) " ) * ( Sgm y)) & x c= ( Seg n)

    proof

      set x1 = { k where k be Element of NAT : k in y & k < i };

      set x2 = { (k - 1) where k be Element of NAT : k in y & k > i };

      set x = (x1 \/ x2);

      set f1 = ( id x1);

      assume

       A1: y c= ( Seg (n + 1));

      then

       A2: y = ( rng ( Sgm y)) by FINSEQ_1:def 13;

      assume

       A3: i in ( Seg (n + 1));

      then

       A4: 1 <= i by FINSEQ_1: 1;

      

       A5: i <= (n + 1) by A3, FINSEQ_1: 1;

       A6:

      now

        let z be object;

        assume

         A7: z in x;

        per cases by A7, XBOOLE_0:def 3;

          suppose z in x1;

          then

           A8: ex k be Element of NAT st k = z & k in y & k < i;

          then

          reconsider z9 = z as Element of NAT ;

          z9 < (n + 1) by A5, A8, XXREAL_0: 2;

          then

           A9: z9 <= n by NAT_1: 13;

          1 <= z9 by A1, A8, FINSEQ_1: 1;

          hence z in ( Seg n) by A9;

        end;

          suppose z in x2;

          then

          consider k be Element of NAT such that

           A10: (k - 1) = z and

           A11: k in y and

           A12: k > i;

          reconsider z9 = z as Integer by A10;

          1 < k by A4, A12, XXREAL_0: 2;

          then (1 + 1) < (k + 1) by XREAL_1: 6;

          then 2 <= k by NAT_1: 13;

          then

           A13: (2 - 1) <= (k - 1) by XREAL_1: 9;

          then

          reconsider z9 as Element of NAT by A10, INT_1: 3;

          k <= (n + 1) by A1, A11, FINSEQ_1: 1;

          then (k - 1) <= ((n + 1) - 1) by XREAL_1: 9;

          then z9 <= n by A10;

          hence z in ( Seg n) by A10, A13;

        end;

      end;

      then

       A14: x c= ( Seg n);

      then

      reconsider x9 = x, y9 = y as finite set by A1;

      set f2 = { [(k - 1), k] where k be Element of NAT : k in y9 & k > i };

      now

        let x be object;

        assume x in f2;

        then

        consider k be Element of NAT such that

         A15: [(k - 1), k] = x and k in y9 and k > i;

        reconsider y = (k - 1), z = k as object;

        take y, z;

        thus x = [y, z] by A15;

      end;

      then

      reconsider f2 as Relation by RELAT_1:def 1;

      set f = (f1 \/ f2);

       A16:

      now

        let x be object;

        assume x in x2;

        then

        consider k be Element of NAT such that

         A17: (k - 1) = x & k in y9 & k > i;

        reconsider y = k as set;

         [x, y] in f2 by A17;

        hence x in ( dom f2) by XTUPLE_0:def 12;

      end;

      now

        let x be object;

        assume x in ( dom f2);

        then

        consider y be object such that

         A18: [x, y] in f2 by XTUPLE_0:def 12;

        consider k be Element of NAT such that

         A19: [(k - 1), k] = [x, y] and

         A20: k in y9 & k > i by A18;

        (k - 1) = x by A19, XTUPLE_0: 1;

        hence x in x2 by A20;

      end;

      then

       A21: ( dom f2) = x2 by A16, TARSKI: 2;

       A22:

      now

        let x,y1,y2 be object;

        assume

         A23: [x, y1] in f;

        assume

         A24: [x, y2] in f;

        

         A25: y1 is set & y2 is set by TARSKI: 1;

        per cases by A23, XBOOLE_0:def 3;

          suppose

           A26: [x, y1] in f1;

          then

           A27: x in ( dom f1) by XTUPLE_0:def 12;

          then (f1 . x) = x by FUNCT_1: 17;

          then

           A28: y1 = x by A26, A27, FUNCT_1:def 2, A25;

          per cases by A24, XBOOLE_0:def 3;

            suppose

             A29: [x, y2] in f1;

            then

             A30: x in ( dom f1) by XTUPLE_0:def 12;

            then (f1 . x) = x by FUNCT_1: 17;

            hence y1 = y2 by A28, A29, A30, FUNCT_1:def 2, A25;

          end;

            suppose

             A31: [x, y2] in f2;

            x in x1 by A27;

            then

            consider k9 be Element of NAT such that

             A32: k9 = x and k9 in y and

             A33: k9 < i;

            x in x2 by A21, A31, XTUPLE_0:def 12;

            then ex k be Element of NAT st (k - 1) = x & k in y & k > i;

            then (k9 + 1) > i by A32;

            hence y1 = y2 by A33, NAT_1: 13;

          end;

        end;

          suppose [x, y1] in f2;

          then

          consider k be Element of NAT such that

           A34: [(k - 1), k] = [x, y1] and k in y9 and

           A35: k > i;

          

           A36: (k - 1) = x by A34, XTUPLE_0: 1;

          per cases by A24, XBOOLE_0:def 3;

            suppose [x, y2] in f1;

            then x in ( dom f1) by XTUPLE_0:def 12;

            then x in x1;

            then

            consider k9 be Element of NAT such that

             A37: k9 = x and k9 in y and

             A38: k9 < i;

            k9 = (k - 1) by A34, A37, XTUPLE_0: 1;

            then (k9 + 1) > i by A35;

            hence y1 = y2 by A38, NAT_1: 13;

          end;

            suppose [x, y2] in f2;

            then

            consider k9 be Element of NAT such that

             A39: [(k9 - 1), k9] = [x, y2] and k9 in y9 and k9 > i;

            (k9 - 1) = x by A39, XTUPLE_0: 1;

            hence y1 = y2 by A34, A36, A39, XTUPLE_0: 1;

          end;

        end;

      end;

       A40:

      now

        let x,y1,y2 be object;

        assume [x, y1] in f2;

        then

        consider k be Element of NAT such that

         A41: [(k - 1), k] = [x, y1] and k in y9 and k > i;

        

         A42: (k - 1) = x by A41, XTUPLE_0: 1;

        assume [x, y2] in f2;

        then

        consider k9 be Element of NAT such that

         A43: [(k9 - 1), k9] = [x, y2] and k9 in y9 and k9 > i;

        (k9 - 1) = x by A43, XTUPLE_0: 1;

        hence y1 = y2 by A41, A43, A42, XTUPLE_0: 1;

      end;

      reconsider f as Function by A22, FUNCT_1:def 1;

       A44:

      now

        let x be object;

        

         A45: f1 c= f by XBOOLE_1: 7;

        ( dom f) = (( dom f1) \/ ( dom f2)) by XTUPLE_0: 23;

        then

         A46: ( dom f1) c= ( dom f) by XBOOLE_1: 7;

        assume

         A47: x in ( dom f1);

        then [x, (f1 . x)] in f1 by FUNCT_1:def 2;

        hence (f . x) = (f1 . x) by A47, A46, A45, FUNCT_1:def 2;

      end;

      reconsider f2 as Function by A40, FUNCT_1:def 1;

      assume

       A48: not i in y;

       A49:

      now

        let z be object;

        set k = z;

        assume

         A50: z in y9;

        then k in ( Seg (n + 1)) by A1;

        then

        reconsider k as Element of NAT ;

        per cases ;

          suppose k <= i;

          then k < i by A48, A50, XXREAL_0: 1;

          then z in x1 by A50;

          then z in ( rng f1);

          then z in (( rng f1) \/ ( rng f2)) by XBOOLE_0:def 3;

          hence z in ( rng f) by RELAT_1: 12;

        end;

          suppose

           A51: k > i;

          set x99 = (k - 1);

           [x99, z] in f2 by A50, A51;

          then z in ( rng f2) by XTUPLE_0:def 13;

          then z in (( rng f1) \/ ( rng f2)) by XBOOLE_0:def 3;

          hence z in ( rng f) by RELAT_1: 12;

        end;

      end;

      now

        let z be object;

        assume z in ( rng f);

        then

         A52: z in (( rng f1) \/ ( rng f2)) by RELAT_1: 12;

        per cases by A52, XBOOLE_0:def 3;

          suppose z in ( rng f1);

          then z in x1;

          then ex k be Element of NAT st k = z & k in y & k < i;

          hence z in y9;

        end;

          suppose z in ( rng f2);

          then

          consider x99 be object such that

           A53: [x99, z] in f2 by XTUPLE_0:def 13;

          ex k be Element of NAT st [(k - 1), k] = [x99, z] & k in y9 & k > i by A53;

          hence z in y9 by XTUPLE_0: 1;

        end;

      end;

      then

       A54: ( rng f) = y9 by A49, TARSKI: 2;

      now

        let a,b be object;

        hereby

          assume

           A55: [a, b] in f;

          per cases by A55, XBOOLE_0:def 3;

            suppose

             A56: [a, b] in f1;

            reconsider i9 = i, n9 = n as Element of NAT by ORDINAL1:def 12;

            

             A57: a = b by A56, RELAT_1:def 10;

            a in x1 by A56, RELAT_1:def 10;

            then

            consider a9 be Element of NAT such that

             A58: a9 = a and

             A59: a9 in y and

             A60: a9 < i;

            

             A61: 1 <= a9 by A1, A59, FINSEQ_1: 1;

            i <= (n + 1) by A3, FINSEQ_1: 1;

            then a9 < (n + 1) by A60, XXREAL_0: 2;

            then a9 <= n by NAT_1: 13;

            then

             A62: a in ( Seg n) by A58, A61;

            then a in ( Seg ( len ( Sgm (( Seg (n + 1)) \ {i})))) by A3, FINSEQ_3: 107;

            then

             A63: a in ( dom ( Sgm (( Seg (n + 1)) \ {i}))) by FINSEQ_1:def 3;

            a9 = (( Sgm (( Seg (n9 + 1)) \ {i9})) . a9) by A3, A58, A60, A61, A62, FINSEQ_3: 108;

            then [a, b] in ( Sgm (( Seg (n + 1)) \ {i})) by A57, A58, A63, FUNCT_1: 1;

            hence [a, b] in (( rng f) |` ( Sgm (( Seg (n + 1)) \ {i}))) by A54, A57, A58, A59, RELAT_1:def 12;

          end;

            suppose

             A64: [a, b] in f2;

            reconsider i9 = i, n9 = n as Element of NAT by ORDINAL1:def 12;

            consider b9 be Element of NAT such that

             A65: [a, b] = [(b9 - 1), b9] and

             A66: b9 in y9 and

             A67: b9 > i by A64;

            

             A68: a = (b9 - 1) by A65, XTUPLE_0: 1;

            reconsider a9 = (b9 - 1) as Integer;

            (i + 1) <= b9 by A67, NAT_1: 13;

            then

             A69: ((i + 1) - 1) <= (b9 - 1) by XREAL_1: 9;

            then

             A70: 1 <= a9 by A4, XXREAL_0: 2;

            reconsider a9 as Element of NAT by A69, INT_1: 3;

            b9 <= (n + 1) by A1, A66, FINSEQ_1: 1;

            then

             A71: (b9 - 1) <= ((n + 1) - 1) by XREAL_1: 9;

            then

             A72: a9 in ( Seg n) by A70;

            then a in ( Seg n) by A65, XTUPLE_0: 1;

            then a in ( Seg ( len ( Sgm (( Seg (n + 1)) \ {i})))) by A3, FINSEQ_3: 107;

            then

             A73: a in ( dom ( Sgm (( Seg (n + 1)) \ {i}))) by FINSEQ_1:def 3;

            (a9 + 1) = (( Sgm (( Seg (n9 + 1)) \ {i9})) . a9) by A3, A71, A69, A72, FINSEQ_3: 108;

            then [a, b] in ( Sgm (( Seg (n + 1)) \ {i})) by A65, A68, A73, FUNCT_1: 1;

            hence [a, b] in (( rng f) |` ( Sgm (( Seg (n + 1)) \ {i}))) by A54, A65, A66, RELAT_1:def 12;

          end;

        end;

        assume

         A74: [a, b] in (( rng f) |` ( Sgm (( Seg (n + 1)) \ {i})));

        then

         A75: [a, b] in ( Sgm (( Seg (n + 1)) \ {i})) by RELAT_1:def 12;

        then

         A76: a in ( dom ( Sgm (( Seg (n + 1)) \ {i}))) by XTUPLE_0:def 12;

        b in ( rng f) by A74, RELAT_1:def 12;

        then b in ( Seg (n + 1)) by A1, A54;

        then

        reconsider a9 = a, b9 = b as Element of NAT by A76;

        

         A77: a in ( Seg ( len ( Sgm (( Seg (n + 1)) \ {i})))) by A76, FINSEQ_1:def 3;

        then

         A78: 1 <= a9 by FINSEQ_1: 1;

        

         A79: b in y by A54, A74, RELAT_1:def 12;

        

         A80: a in ( Seg n) by A3, A77, FINSEQ_3: 107;

        reconsider i, n as Element of NAT by ORDINAL1:def 12;

        

         A81: a9 <= n by A80, FINSEQ_1: 1;

        per cases ;

          suppose

           A82: a9 < i;

          then (( Sgm (( Seg (n + 1)) \ {i})) . a9) = a9 by A3, A80, A78, FINSEQ_3: 108;

          then

           A83: b = a by A75, FUNCT_1: 1;

          then a9 in x1 by A79, A82;

          then [a, b] in ( id x1) by A83, RELAT_1:def 10;

          hence [a, b] in f by XBOOLE_0:def 3;

        end;

          suppose

           A84: i <= a9;

          then (( Sgm (( Seg (n + 1)) \ {i})) . a9) = (a9 + 1) by A3, A80, A81, FINSEQ_3: 108;

          then

           A85: b9 = (a9 + 1) by A75, FUNCT_1: 1;

          then

           A86: b9 > i by A84, NAT_1: 13;

          

           A87: a = (b9 - 1) by A85;

          b9 in y9 by A54, A74, RELAT_1:def 12;

          then [a, b] in f2 by A86, A87;

          hence [a, b] in f by XBOOLE_0:def 3;

        end;

      end;

      then

       A88: f = (( rng f) |` ( Sgm (( Seg (n + 1)) \ {i})));

      reconsider g = (f " ) as PartFunc of ( dom (f " )), ( rng (f " )) by RELSET_1: 4;

       A89:

      now

        let x be set;

        

         A90: f2 c= f by XBOOLE_1: 7;

        ( dom f) = (( dom f1) \/ ( dom f2)) by XTUPLE_0: 23;

        then

         A91: ( dom f2) c= ( dom f) by XBOOLE_1: 7;

        assume

         A92: x in ( dom f2);

        then [x, (f2 . x)] in f2 by FUNCT_1:def 2;

        hence (f . x) = (f2 . x) by A92, A91, A90, FUNCT_1:def 2;

      end;

      now

        let y1,y2 be object;

        assume y1 in ( dom f);

        then

         A93: y1 in (( dom f1) \/ ( dom f2)) by XTUPLE_0: 23;

        assume y2 in ( dom f);

        then

         A94: y2 in (( dom f1) \/ ( dom f2)) by XTUPLE_0: 23;

        assume

         A95: (f . y1) = (f . y2);

        per cases by A93, XBOOLE_0:def 3;

          suppose

           A96: y1 in ( dom f1);

          then

           A97: (f1 . y1) = y1 by FUNCT_1: 17;

          then

           A98: (f . y1) = y1 by A44, A96;

          per cases by A94, XBOOLE_0:def 3;

            suppose

             A99: y2 in ( dom f1);

            then (f1 . y2) = y2 by FUNCT_1: 17;

            hence y1 = y2 by A44, A95, A98, A99;

          end;

            suppose

             A100: y2 in ( dom f2);

            then (f . y2) = (f2 . y2) by A89;

            then [y2, (f . y2)] in f2 by A100, FUNCT_1:def 2;

            then

             A101: ex k be Element of NAT st [(k - 1), k] = [y2, (f . y2)] & k in y9 & k > i;

            (f . y1) = (f1 . y1) by A44, A96;

            then (f . y1) in x1 by A96, A97;

            then ex k9 be Element of NAT st k9 = (f . y1) & k9 in y & k9 < i;

            hence y1 = y2 by A95, A101, XTUPLE_0: 1;

          end;

        end;

          suppose

           A102: y1 in ( dom f2);

          then (f . y1) = (f2 . y1) by A89;

          then [y1, (f . y1)] in f2 by A102, FUNCT_1:def 2;

          then

          consider k be Element of NAT such that

           A103: [(k - 1), k] = [y1, (f . y1)] and k in y9 and

           A104: k > i;

          

           A105: k = (f . y1) by A103, XTUPLE_0: 1;

          per cases by A94, XBOOLE_0:def 3;

            suppose

             A106: y2 in ( dom f1);

            then (f1 . y2) = y2 by FUNCT_1: 17;

            then (f . y2) in ( dom f1) by A44, A106;

            then (f . y2) in x1;

            then ex k9 be Element of NAT st k9 = (f . y2) & k9 in y & k9 < i;

            hence y1 = y2 by A95, A103, A104, XTUPLE_0: 1;

          end;

            suppose

             A107: y2 in ( dom f2);

            then (f . y2) = (f2 . y2) by A89;

            then [y2, (f . y2)] in f2 by A107, FUNCT_1:def 2;

            then

            consider k be Element of NAT such that

             A108: [(k - 1), k] = [y2, (f . y2)] and k in y9 and k > i;

            k = (f . y2) by A108, XTUPLE_0: 1;

            hence y1 = y2 by A95, A103, A105, A108, XTUPLE_0: 1;

          end;

        end;

      end;

      then

       A109: f is one-to-one by FUNCT_1:def 4;

      then (f " ) = (f ~ ) by FUNCT_1:def 5;

      then

       A110: (f " ) = ((( Sgm (( Seg (n + 1)) \ {i})) ~ ) | ( dom (f " ))) by A88, Lm35;

      ( dom f1) = x1;

      then

       A111: ( dom f) = x9 by A21, XTUPLE_0: 23;

      then ( dom f) c= NAT by A14, XBOOLE_1: 1;

      then ( rng g) c= NAT by A109, FUNCT_1: 33;

      then

       A112: ( rng g) c= REAL by NUMBERS: 19;

      ( rng f) c= NAT by A1, A54, XBOOLE_1: 1;

      then ( dom g) c= NAT by A109, FUNCT_1: 33;

      then ( dom g) c= REAL by NUMBERS: 19;

      then

      reconsider g as PartFunc of REAL , REAL by A112, RELSET_1: 7;

      

       A113: ( dom (f " )) = y by A109, A54, FUNCT_1: 33;

      now

        let r1,r2 be Real;

        

         A114: g = ((f1 \/ f2) ~ ) by A109, FUNCT_1:def 5

        .= ((f1 ~ ) \/ (f2 ~ )) by RELAT_1: 23;

        assume r1 in (y /\ ( dom g));

        then

         A115: [r1, (g . r1)] in g by A113, FUNCT_1: 1;

        assume r2 in (y /\ ( dom g));

        then

         A116: [r2, (g . r2)] in g by A113, FUNCT_1: 1;

        assume

         A117: r1 < r2;

        per cases by A115, A114, XBOOLE_0:def 3;

          suppose [r1, (g . r1)] in (f1 ~ );

          then

           A118: [r1, (g . r1)] in ( id x1);

          then

           A119: r1 = (g . r1) by RELAT_1:def 10;

          r1 in x1 by A118, RELAT_1:def 10;

          then

           A120: ex k9 be Element of NAT st (g . r1) = k9 & k9 in y & k9 < i by A119;

          per cases by A116, A114, XBOOLE_0:def 3;

            suppose [r2, (g . r2)] in (f1 ~ );

            then [r2, (g . r2)] in ( id x1);

            hence (g . r1) < (g . r2) by A117, A119, RELAT_1:def 10;

          end;

            suppose [r2, (g . r2)] in (f2 ~ );

            then [(g . r2), r2] in f2 by RELAT_1:def 7;

            then

            consider k99 be Element of NAT such that

             A121: [(k99 - 1), k99] = [(g . r2), r2] and k99 in y9 and

             A122: k99 > i;

            reconsider k999 = (g . r2), i9 = (i - 1) as Integer by A121, XTUPLE_0: 1;

            (k99 - 1) = (g . r2) by A121, XTUPLE_0: 1;

            then (i - 1) < (g . r2) by A122, XREAL_1: 9;

            then (i9 + 1) <= k999 by INT_1: 7;

            hence (g . r1) < (g . r2) by A120, XXREAL_0: 2;

          end;

        end;

          suppose [r1, (g . r1)] in (f2 ~ );

          then [(g . r1), r1] in f2 by RELAT_1:def 7;

          then

          consider k9 be Element of NAT such that

           A123: [(k9 - 1), k9] = [(g . r1), r1] and k9 in y9 and

           A124: k9 > i;

          

           A125: (k9 - 1) = (g . r1) by A123, XTUPLE_0: 1;

          

           A126: r1 = k9 by A123, XTUPLE_0: 1;

          per cases by A116, A114, XBOOLE_0:def 3;

            suppose [r2, (g . r2)] in (f1 ~ );

            then [r2, (g . r2)] in ( id x1);

            then r2 in x1 by RELAT_1:def 10;

            then ex k99 be Element of NAT st r2 = k99 & k99 in y & k99 < i;

            hence (g . r1) < (g . r2) by A117, A124, A126, XXREAL_0: 2;

          end;

            suppose [r2, (g . r2)] in (f2 ~ );

            then [(g . r2), r2] in f2 by RELAT_1:def 7;

            then

            consider k99 be Element of NAT such that

             A127: [(k99 - 1), k99] = [(g . r2), r2] and k99 in y9 and k99 > i;

            (k99 - 1) = (g . r2) & r2 = k99 by A127, XTUPLE_0: 1;

            hence (g . r1) < (g . r2) by A117, A125, A126, XREAL_1: 9;

          end;

        end;

      end;

      then

       A128: (g | y) is increasing by RFUNCT_2: 20;

      

       A129: ( rng (f " )) = x by A109, A111, FUNCT_1: 33;

      then

       A130: x = ((f " ) .: y) by A113, RELAT_1: 113;

      now

        let x9 be object;

        assume

         A131: x9 in (g .: y);

        then not x9 = 0 by A14, A130, FINSEQ_1: 1;

        then

         A132: not x9 in { 0 } by TARSKI:def 1;

        x9 in ( Seg n) by A6, A130, A131;

        hence x9 in ( NAT \ { 0 }) by A132, XBOOLE_0:def 5;

      end;

      then

       A133: (g .: y) c= ( NAT \ { 0 });

      take x;

      ( Sgm (( Seg (n + 1)) \ {i})) is one-to-one by FINSEQ_3: 92, XBOOLE_1: 36;

      then

       A134: (( Sgm (( Seg (n + 1)) \ {i})) " ) = (( Sgm (( Seg (n + 1)) \ {i})) ~ ) by FUNCT_1:def 5;

      ( Sgm x) = ( Sgm (g .: y)) by A113, A129, RELAT_1: 113

      .= (((( Sgm (( Seg (n + 1)) \ {i})) " ) | y) * ( Sgm y)) by A1, A113, A128, A133, A134, A110, Lm37

      .= ((( Sgm (( Seg (n + 1)) \ {i})) " ) * (y |` ( Sgm y))) by Lm36

      .= ((( Sgm (( Seg (n + 1)) \ {i})) " ) * ( Sgm y)) by A2;

      hence ( Sgm x) = ((( Sgm (( Seg (n + 1)) \ {i})) " ) * ( Sgm y));

      thus thesis by A6;

    end;

    theorem :: GROUP_9:99

    

     Th99: i in ( dom s1) & (i + 1) in ( dom s1) & (s1 . i) = (s1 . (i + 1)) & s19 = ( Del (s1,i)) & s2 is jordan_holder & s1 is_finer_than s2 implies s19 is_finer_than s2

    proof

      assume that

       A1: i in ( dom s1) and

       A2: (i + 1) in ( dom s1);

      

       A3: i in ( Seg ( len s1)) by A1, FINSEQ_1:def 3;

      then

       A4: 1 <= i by FINSEQ_1: 1;

      set k = (( len s1) - 1);

      assume

       A5: (s1 . i) = (s1 . (i + 1));

      reconsider k as Integer;

      assume

       A6: s19 = ( Del (s1,i));

      assume

       A7: s2 is jordan_holder;

      i <= ( len s1) by A3, FINSEQ_1: 1;

      then 1 <= ( len s1) by A4, XXREAL_0: 2;

      then (1 - 1) <= (( len s1) - 1) by XREAL_1: 9;

      then

      reconsider k as Element of NAT by INT_1: 3;

      

       A8: ( dom s1) = ( Seg (k + 1)) by FINSEQ_1:def 3;

      assume s1 is_finer_than s2;

      then

      consider z be set such that

       A9: z c= ( dom s1) and

       A10: s2 = (s1 * ( Sgm z));

      

       A11: (i + 1) in ( Seg ( len s1)) by A2, FINSEQ_1:def 3;

      now

        per cases ;

          suppose

           A12: not i in z;

          set y = z;

          take y;

          thus y c= ( Seg (k + 1)) by A9, FINSEQ_1:def 3;

          thus not i in y by A12;

          thus s2 = (s1 * ( Sgm y)) by A10;

        end;

          suppose

           A13: i in z;

          now

            let x be object;

            assume

             A14: x in ( {(i + 1)} /\ {i});

            then x in {i} by XBOOLE_0:def 4;

            then

             A15: x = i by TARSKI:def 1;

            x in {(i + 1)} by A14, XBOOLE_0:def 4;

            then x = (i + 1) by TARSKI:def 1;

            hence contradiction by A15;

          end;

          then ( {(i + 1)} /\ {i}) = {} by XBOOLE_0:def 1;

          then

           A16: {(i + 1)} misses {i} by XBOOLE_0:def 7;

          reconsider y = ((z \/ {(i + 1)}) \ {i}) as set;

          take y;

           {(i + 1)} c= ( Seg (k + 1)) by A11, ZFMISC_1: 31;

          then

           A17: (z \/ {(i + 1)}) c= ( Seg (k + 1)) by A9, A8, XBOOLE_1: 8;

          hence

           A18: y c= ( Seg (k + 1));

          then y c= ( dom s1) by FINSEQ_1:def 3;

          then

           A19: ( rng ( Sgm y)) c= ( dom s1) by A18, FINSEQ_1:def 13;

          reconsider y9 = y, z as finite set by A9;

          

           A20: ( dom ( Sgm y9)) = ( Seg ( card y9)) by A17, FINSEQ_3: 40, XBOOLE_1: 1;

          i in (z \/ {(i + 1)}) by A13, XBOOLE_0:def 3;

          then {i} c= (z \/ {(i + 1)}) by ZFMISC_1: 31;

          then ( card ((z \/ {(i + 1)}) \ {i})) = (( card (z \/ {(i + 1)})) - ( card {i})) by CARD_2: 44;

          then

           A21: ( card y9) = (( card (z \/ {(i + 1)})) - 1) by CARD_1: 30;

           A22:

          now

            

             A23: ( 0 + i) < (1 + i) by XREAL_1: 6;

            assume (i + 1) in z;

            then (i + 1) in ( rng ( Sgm z)) by A9, A8, FINSEQ_1:def 13;

            then

            consider x99 be object such that

             A24: x99 in ( dom ( Sgm z)) and

             A25: (i + 1) = (( Sgm z) . x99) by FUNCT_1:def 3;

            i in ( rng ( Sgm z)) by A9, A8, A13, FINSEQ_1:def 13;

            then

            consider x9 be object such that

             A26: x9 in ( dom ( Sgm z)) and

             A27: i = (( Sgm z) . x9) by FUNCT_1:def 3;

            reconsider x9, x99 as Element of NAT by A26, A24;

            

             A28: ( dom ( Sgm z)) = ( Seg ( len ( Sgm z))) by FINSEQ_1:def 3;

            then

             A29: x9 <= ( len ( Sgm z)) by A26, FINSEQ_1: 1;

            1 <= x99 by A24, A28, FINSEQ_1: 1;

            then x9 < x99 by A9, A8, A27, A25, A23, A29, FINSEQ_3: 41;

            then

            reconsider l = (x99 - x9) as Element of NAT by INT_1: 5;

            per cases ;

              suppose l = 0 ;

              hence contradiction by A27, A25, A23;

            end;

              suppose

               A30: 0 < l;

              set x999 = (x9 + 1);

              ( 0 + 1) < (l + 1) by A30, XREAL_1: 6;

              then ((x9 + 1) - x9) <= (x99 - x9) by NAT_1: 13;

              then

               A31: x999 <= x99 by XREAL_1: 9;

              x99 <= ( len ( Sgm z)) by A24, A28, FINSEQ_1: 1;

              then

               A32: x999 <= ( len ( Sgm z)) by A31, XXREAL_0: 2;

              

               A33: (1 + x9) > ( 0 + x9) & 1 <= x9 by A26, A28, FINSEQ_1: 1, XREAL_1: 6;

              then 1 <= x999 by XXREAL_0: 2;

              then x999 in ( dom ( Sgm z)) by A28, A32;

              then

              reconsider k3 = (( Sgm z) . x999) as Element of NAT by FINSEQ_2: 11;

              i < k3 by A9, A8, A27, A33, A32, FINSEQ_1:def 13;

              then

               A34: (i + 1) <= k3 by NAT_1: 13;

              

               A35: 1 <= x999 & x999 < x99 & x99 <= ( len ( Sgm z)) or x999 = x99 by A24, A28, A31, A33, FINSEQ_1: 1, XXREAL_0: 1, XXREAL_0: 2;

              then

               A36: (x9 + 1) in ( dom s2) by A2, A9, A10, A8, A24, A25, A34, FINSEQ_1:def 13, FUNCT_1: 11;

              

               A37: s2 is strictly_decreasing by A7;

              

               A38: x9 in ( dom s2) by A1, A10, A26, A27, FUNCT_1: 11;

              then

              reconsider H1 = (s2 . x9), H2 = (s2 . (x9 + 1)) as Element of ( the_stable_subgroups_of G) by A36, FINSEQ_2: 11;

              reconsider H1, H2 as StableSubgroup of G by Def11;

              reconsider H1 as GroupWithOperators of O;

              reconsider H2 as normal StableSubgroup of H1 by A38, A36, Def28;

              (s2 . x9) = (s1 . (( Sgm z) . x9)) by A10, A26, FUNCT_1: 13

              .= (s2 . (x9 + 1)) by A5, A9, A10, A8, A27, A24, A25, A35, A34, FINSEQ_1:def 13, FUNCT_1: 13;

              then the carrier of H1 = the carrier of H2;

              then (H1 ./. H2) is trivial by Th77;

              hence contradiction by A38, A36, A37;

            end;

          end;

          then ( card (z \/ {(i + 1)})) = (( card z) + 1) by CARD_2: 41;

          then

           A39: ( dom ( Sgm y9)) = ( dom ( Sgm z)) by A9, A8, A21, A20, FINSEQ_3: 40;

          set z2 = { x where x be Element of NAT : x in z & (i + 1) < x };

          set z1 = { x where x be Element of NAT : x in z & x < i };

           A40:

          now

            let x be object;

            assume x in ((z1 \/ {i}) \/ z2);

            then x in (z1 \/ {i}) or x in z2 by XBOOLE_0:def 3;

            then x in z1 or x in {i} or x in z2 by XBOOLE_0:def 3;

            then

            consider x9,x99 be Element of NAT such that

             A41: x = x9 & x9 in z & x9 < i or x in {i} or x = x99 & x99 in z & (i + 1) < x99;

            per cases by A41;

              suppose x = x9 & x9 in z & x9 < i;

              hence x in z;

            end;

              suppose x in {i};

              hence x in z by A13, TARSKI:def 1;

            end;

              suppose x = x99 & x99 in z & (i + 1) < x99;

              hence x in z;

            end;

          end;

          

           A42: z c= ( Seg (k + 1)) by A9, FINSEQ_1:def 3;

           A43:

          now

            let x be object;

            assume

             A44: x in z;

            then x in ( Seg (k + 1)) by A42;

            then

            reconsider x9 = x as Element of NAT ;

            x9 <= i or (i + 1) <= x9 by NAT_1: 13;

            then x9 < i or x9 = i or (i + 1) < x9 by A22, A44, XXREAL_0: 1;

            then x in z1 or x in {i} or x in z2 by A44, TARSKI:def 1;

            then x in (z1 \/ {i}) or x in z2 by XBOOLE_0:def 3;

            hence x in ((z1 \/ {i}) \/ z2) by XBOOLE_0:def 3;

          end;

          then

           A45: z = ((z1 \/ {i}) \/ z2) by A40, TARSKI: 2;

          then z2 c= z by XBOOLE_1: 7;

          then

           A46: z2 c= ( Seg (k + 1)) by A42;

          z1 c= z by A45, XBOOLE_1: 7, XBOOLE_1: 11;

          then

           A47: z1 c= ( Seg (k + 1)) by A42;

          now

            let x be object;

            assume

             A48: x in (z2 /\ {i});

            then x in z2 by XBOOLE_0:def 4;

            then

            consider x9 be Element of NAT such that

             A49: x9 = x and x9 in z and

             A50: (i + 1) < x9;

            x in {i} by A48, XBOOLE_0:def 4;

            then x9 = i by A49, TARSKI:def 1;

            then ((i + 1) - i) < (i - i) by A50, XREAL_1: 9;

            then 1 < 0 ;

            hence contradiction;

          end;

          then (z2 /\ {i}) = {} by XBOOLE_0:def 1;

          then

           A51: z2 misses {i} by XBOOLE_0:def 7;

          now

            let x be object;

            assume

             A52: x in (z1 /\ {i});

            then x in z1 by XBOOLE_0:def 4;

            then

             A53: ex x9 be Element of NAT st x9 = x & x9 in z & x9 < i;

            x in {i} by A52, XBOOLE_0:def 4;

            hence contradiction by A53, TARSKI:def 1;

          end;

          then (z1 /\ {i}) = {} by XBOOLE_0:def 1;

          then

           A54: z1 misses {i} by XBOOLE_0:def 7;

          

           A55: y = ((((z1 \/ {i}) \/ z2) \/ {(i + 1)}) \ {i}) by A43, A40, TARSKI: 2

          .= ((((z1 \/ {i}) \/ z2) \ {i}) \/ ( {(i + 1)} \ {i})) by XBOOLE_1: 42

          .= ((((z1 \/ {i}) \/ z2) \ {i}) \/ {(i + 1)}) by A16, XBOOLE_1: 83

          .= ((((z1 \/ {i}) \ {i}) \/ (z2 \ {i})) \/ {(i + 1)}) by XBOOLE_1: 42

          .= ((((z1 \/ {i}) \ {i}) \/ z2) \/ {(i + 1)}) by A51, XBOOLE_1: 83

          .= ((((z1 \ {i}) \/ ( {i} \ {i})) \/ z2) \/ {(i + 1)}) by XBOOLE_1: 42

          .= ((((z1 \ {i}) \/ {} ) \/ z2) \/ {(i + 1)}) by XBOOLE_1: 37

          .= (((z1 \/ {} ) \/ z2) \/ {(i + 1)}) by A54, XBOOLE_1: 83

          .= ((z1 \/ {(i + 1)}) \/ z2) by XBOOLE_1: 4;

          then {(i + 1)} c= y by XBOOLE_1: 7, XBOOLE_1: 11;

          then

           A56: {(i + 1)} c= ( Seg (k + 1)) by A18;

          z2 c= y by A55, XBOOLE_1: 7;

          then

           A57: z2 c= ( Seg (k + 1)) by A18;

          now

            assume i in y;

            then not i in {i} by XBOOLE_0:def 5;

            hence contradiction by TARSKI:def 1;

          end;

          hence not i in y;

           A58:

          now

            let m,n be Nat;

            assume m in (z1 \/ {i});

            then m in z1 or m in {i} by XBOOLE_0:def 3;

            then

             A59: ex x9 be Element of NAT st (m = x9 & x9 in z & x9 < i or m in {i});

            assume n in z2;

            then

             A60: ex x99 be Element of NAT st n = x99 & x99 in z & (i + 1) < x99;

            ( 0 + i) < (1 + i) by XREAL_1: 6;

            then m < (i + 1) by A59, TARSKI:def 1, XXREAL_0: 2;

            hence m < n by A60, XXREAL_0: 2;

          end;

           A61:

          now

            let m,n be Nat;

            assume m in z1;

            then

             A62: ex x9 be Element of NAT st m = x9 & x9 in z & x9 < i;

            assume n in {i};

            hence m < n by A62, TARSKI:def 1;

          end;

           A63:

          now

            let m,n be Nat;

            assume m in (z1 \/ {(i + 1)});

            then m in z1 or m in {(i + 1)} by XBOOLE_0:def 3;

            then

             A64: ex x9 be Element of NAT st (m = x9 & x9 in z & x9 < i or m in {(i + 1)});

            assume n in z2;

            then

             A65: ex x99 be Element of NAT st n = x99 & x99 in z & (i + 1) < x99;

            ( 0 + i) < (1 + i) by XREAL_1: 6;

            then m < (i + 1) or m = (i + 1) by A64, TARSKI:def 1, XXREAL_0: 2;

            hence m < n by A65, XXREAL_0: 2;

          end;

           A66:

          now

            let m,n be Nat;

            

             A67: ( 0 + i) < (1 + i) by XREAL_1: 6;

            assume m in z1;

            then

             A68: ex x9 be Element of NAT st m = x9 & x9 in z & x9 < i;

            assume n in {(i + 1)};

            then n = (i + 1) by TARSKI:def 1;

            hence m < n by A68, A67, XXREAL_0: 2;

          end;

          z1 c= y by A55, XBOOLE_1: 7, XBOOLE_1: 11;

          then z1 c= ( Seg (k + 1)) by A18;

          then

           A69: ( Sgm (z1 \/ {(i + 1)})) = (( Sgm z1) ^ ( Sgm {(i + 1)})) by A56, A66, FINSEQ_3: 42;

          (z1 \/ {i}) c= z by A45, XBOOLE_1: 7;

          then (z1 \/ {i}) c= ( Seg (k + 1)) by A42;

          then

           A70: ( Sgm z) = (( Sgm (z1 \/ {i})) ^ ( Sgm z2)) by A45, A46, A58, FINSEQ_3: 42;

           {i} c= z by A45, XBOOLE_1: 7, XBOOLE_1: 11;

          then {i} c= ( Seg (k + 1)) by A42;

          then

           A71: ( Sgm (z1 \/ {i})) = (( Sgm z1) ^ ( Sgm {i})) by A47, A61, FINSEQ_3: 42;

          then

           A72: ( Sgm z) = ((( Sgm z1) ^ <*i*>) ^ ( Sgm z2)) by A4, A70, FINSEQ_3: 44;

          (z1 \/ {(i + 1)}) c= y by A55, XBOOLE_1: 7;

          then (z1 \/ {(i + 1)}) c= ( Seg (k + 1)) by A18;

          then

           A73: ( Sgm y) = (( Sgm (z1 \/ {(i + 1)})) ^ ( Sgm z2)) by A55, A57, A63, FINSEQ_3: 42;

          then

           A74: ( Sgm y) = ((( Sgm z1) ^ <*(i + 1)*>) ^ ( Sgm z2)) by A69, FINSEQ_3: 44;

           A75:

          now

            let x;

            

             A76: ( len (( Sgm z1) ^ <*i*>)) = (( len ( Sgm z1)) + ( len <*i*>)) by FINSEQ_1: 22

            .= (( len ( Sgm z1)) + 1) by FINSEQ_1: 40

            .= (( len ( Sgm z1)) + ( len <*(i + 1)*>)) by FINSEQ_1: 40

            .= ( len (( Sgm z1) ^ <*(i + 1)*>)) by FINSEQ_1: 22;

            assume

             A77: x in ( dom ( Sgm z));

            then

            reconsider x9 = x as Element of NAT ;

            

             A78: ( dom (( Sgm z1) ^ <*i*>)) = ( Seg ( len (( Sgm z1) ^ <*i*>))) by FINSEQ_1:def 3

            .= ( dom (( Sgm z1) ^ <*(i + 1)*>)) by A76, FINSEQ_1:def 3;

            per cases by A72, A77, FINSEQ_1: 25;

              suppose

               A79: x9 in ( dom (( Sgm z1) ^ <*i*>));

              per cases by A79, FINSEQ_1: 25;

                suppose

                 A80: x9 in ( dom ( Sgm z1));

                

                then

                 A81: (( Sgm z1) . x9) = ((( Sgm z1) ^ <*i*>) . x9) by FINSEQ_1:def 7

                .= (((( Sgm z1) ^ <*i*>) ^ ( Sgm z2)) . x9) by A79, FINSEQ_1:def 7

                .= (( Sgm z) . x9) by A4, A70, A71, FINSEQ_3: 44;

                (( Sgm z1) . x9) = ((( Sgm z1) ^ <*(i + 1)*>) . x9) by A80, FINSEQ_1:def 7

                .= (((( Sgm z1) ^ <*(i + 1)*>) ^ ( Sgm z2)) . x9) by A78, A79, FINSEQ_1:def 7

                .= (( Sgm y) . x9) by A73, A69, FINSEQ_3: 44;

                hence (( Sgm z) . x) <> i implies (( Sgm y) . x) = (( Sgm z) . x) by A81;

                thus (( Sgm z) . x) = i implies (( Sgm y) . x) = (i + 1)

                proof

                  assume (( Sgm z) . x) = i;

                  then i in ( rng ( Sgm z1)) by A80, A81, FUNCT_1: 3;

                  then i in z1 by A47, FINSEQ_1:def 13;

                  then ex x999 be Element of NAT st x999 = i & x999 in z & x999 < i;

                  hence thesis;

                end;

              end;

                suppose ex x99 be Nat st x99 in ( dom <*i*>) & x9 = (( len ( Sgm z1)) + x99);

                then

                consider x99 be Nat such that

                 A82: x99 in ( dom <*i*>) and

                 A83: x9 = (( len ( Sgm z1)) + x99);

                

                 A84: x99 in ( Seg 1) by A82, FINSEQ_1: 38;

                then

                 A85: x99 = 1 by FINSEQ_1: 2, TARSKI:def 1;

                

                then i = ( <*i*> . x99) by FINSEQ_1: 40

                .= ((( Sgm z1) ^ <*i*>) . x9) by A82, A83, FINSEQ_1:def 7

                .= (((( Sgm z1) ^ <*i*>) ^ ( Sgm z2)) . x9) by A79, FINSEQ_1:def 7

                .= (( Sgm z) . x9) by A4, A70, A71, FINSEQ_3: 44;

                hence (( Sgm z) . x) <> i implies (( Sgm y) . x) = (( Sgm z) . x);

                thus (( Sgm z) . x) = i implies (( Sgm y) . x) = (i + 1)

                proof

                  assume (( Sgm z) . x) = i;

                  

                   A86: x99 in ( dom <*(i + 1)*>) by A84, FINSEQ_1: 38;

                  (i + 1) = ( <*(i + 1)*> . x99) by A85, FINSEQ_1: 40

                  .= ((( Sgm z1) ^ <*(i + 1)*>) . x9) by A83, A86, FINSEQ_1:def 7

                  .= (((( Sgm z1) ^ <*(i + 1)*>) ^ ( Sgm z2)) . x9) by A78, A79, FINSEQ_1:def 7;

                  hence thesis by A73, A69, FINSEQ_3: 44;

                end;

              end;

            end;

              suppose ex x99 be Nat st x99 in ( dom ( Sgm z2)) & x9 = (( len (( Sgm z1) ^ <*i*>)) + x99);

              then

              consider x99 be Nat such that

               A87: x99 in ( dom ( Sgm z2)) and

               A88: x9 = (( len (( Sgm z1) ^ <*i*>)) + x99);

              (( Sgm y) . x9) = (( Sgm z2) . x99) by A74, A76, A87, A88, FINSEQ_1:def 7;

              hence (( Sgm z) . x) <> i implies (( Sgm y) . x) = (( Sgm z) . x) by A72, A87, A88, FINSEQ_1:def 7;

              thus (( Sgm z) . x) = i implies (( Sgm y) . x) = (i + 1)

              proof

                assume (( Sgm z) . x) = i;

                then (( Sgm z2) . x99) = i by A72, A87, A88, FINSEQ_1:def 7;

                then i in ( rng ( Sgm z2)) by A87, FUNCT_1: 3;

                then i in z2 by A57, FINSEQ_1:def 13;

                then ex x999 be Element of NAT st x999 = i & x999 in z & (i + 1) < x999;

                then ((i + 1) - i) < (i - i) by XREAL_1: 9;

                then 1 < 0 ;

                hence thesis;

              end;

            end;

          end;

          ( rng ( Sgm z)) c= ( dom s1) by A9, A8, FINSEQ_1:def 13;

          then

           A89: ( dom (s1 * ( Sgm z))) = ( dom ( Sgm z)) by RELAT_1: 27;

          then

           A90: ( dom (s1 * ( Sgm y))) = ( dom (s1 * ( Sgm z))) by A39, A19, RELAT_1: 27;

          now

            let x be object;

            assume

             A91: x in ( dom (s1 * ( Sgm y)));

            then

             A92: x in ( dom ( Sgm z)) by A39, A19, RELAT_1: 27;

            

             A93: x in ( dom (s1 * ( Sgm z))) by A39, A19, A89, A91, RELAT_1: 27;

            per cases ;

              suppose

               A94: (( Sgm z) . x) = i;

              ((s1 * ( Sgm y)) . x) = (s1 . (( Sgm y) . x)) by A91, FUNCT_1: 12

              .= (s1 . (( Sgm z) . x)) by A5, A75, A92, A94

              .= ((s1 * ( Sgm z)) . x) by A90, A91, FUNCT_1: 12;

              hence ((s1 * ( Sgm y)) . x) = ((s1 * ( Sgm z)) . x);

            end;

              suppose

               A95: (( Sgm z) . x) <> i;

              ((s1 * ( Sgm y)) . x) = (s1 . (( Sgm y) . x)) by A91, FUNCT_1: 12

              .= (s1 . (( Sgm z) . x)) by A75, A92, A95

              .= ((s1 * ( Sgm z)) . x) by A93, FUNCT_1: 12;

              hence ((s1 * ( Sgm y)) . x) = ((s1 * ( Sgm z)) . x);

            end;

          end;

          hence s2 = (s1 * ( Sgm y)) by A10, A39, A19, A89, FUNCT_1: 2, RELAT_1: 27;

        end;

      end;

      then

      consider y be set such that

       A96: y c= ( Seg (k + 1)) and

       A97: not i in y and

       A98: s2 = (s1 * ( Sgm y));

      now

        consider x such that

         A99: ( Sgm x) = ((( Sgm (( Seg (k + 1)) \ {i})) " ) * ( Sgm y)) and

         A100: x c= ( Seg k) by A3, A96, A97, Lm38;

        take x;

        ex m be Nat st ( len s1) = (m + 1) & ( len ( Del (s1,i))) = m by A1, FINSEQ_3: 104;

        hence x c= ( dom s19) by A6, A100, FINSEQ_1:def 3;

        set f = ( Sgm (( Seg (k + 1)) \ {i}));

        set X = ( dom f);

        set Y = ( rng f);

        reconsider f as Function of X, Y by FUNCT_2: 1;

        

         A101: f is one-to-one by FINSEQ_3: 92, XBOOLE_1: 36;

        (( Seg (k + 1)) \ {i}) c= ( Seg (k + 1)) by XBOOLE_1: 36;

        then

         A102: ( rng f) = (( Seg (k + 1)) \ {i}) by FINSEQ_1:def 13;

        now

          let x9 be object;

          assume

           A103: x9 in y;

          then not x9 in {i} by A97, TARSKI:def 1;

          hence x9 in ( rng f) by A96, A102, A103, XBOOLE_0:def 5;

        end;

        then y c= ( rng f);

        then

         A104: ( rng ( Sgm y)) c= ( rng f) by A96, FINSEQ_1:def 13;

         A105:

        now

          1 <= i by A3, FINSEQ_1: 1;

          then

           A106: (1 + 1) <= (i + 1) by XREAL_1: 6;

          (i + 1) <= ( len s1) by A11, FINSEQ_1: 1;

          then 2 <= ( len s1) by A106, XXREAL_0: 2;

          then ( Seg 2) c= ( Seg (k + 1)) by FINSEQ_1: 5;

          then

           A107: (( Seg 2) \ {i}) c= ( rng f) by A102, XBOOLE_1: 33;

          assume

           A108: ( rng f) = {} ;

          per cases by A108, A107, XBOOLE_1: 3, ZFMISC_1: 58;

            suppose ( Seg 2) = {} ;

            hence contradiction;

          end;

            suppose ( Seg 2) = {i};

            hence contradiction by FINSEQ_1: 2, ZFMISC_1: 5;

          end;

        end;

        (s19 * ( Sgm x)) = ((s1 * f) * ( Sgm x)) by A6, FINSEQ_1:def 3

        .= (((s1 * f) * (f " )) * ( Sgm y)) by A99, RELAT_1: 36

        .= ((s1 * (f * (f " ))) * ( Sgm y)) by RELAT_1: 36

        .= ((s1 * ( id ( rng f))) * ( Sgm y)) by A101, A105, FUNCT_2: 29

        .= (s1 * (( id ( rng f)) * ( Sgm y))) by RELAT_1: 36

        .= (s1 * ( Sgm y)) by A104, RELAT_1: 53;

        hence s2 = (s19 * ( Sgm x)) by A98;

      end;

      hence thesis;

    end;

    theorem :: GROUP_9:100

    

     Th100: ( len s1) > 1 & s2 <> s1 & s2 is strictly_decreasing & s2 is_finer_than s1 implies ex i, j st i in ( dom s1) & i in ( dom s2) & (i + 1) in ( dom s1) & (i + 1) in ( dom s2) & j in ( dom s2) & (i + 1) < j & (s1 . i) = (s2 . i) & (s1 . (i + 1)) <> (s2 . (i + 1)) & (s1 . (i + 1)) = (s2 . j)

    proof

      assume ( len s1) > 1;

      then ( len s1) >= (1 + 1) by NAT_1: 13;

      then ( Seg 2) c= ( Seg ( len s1)) by FINSEQ_1: 5;

      then

       A1: ( Seg 2) c= ( dom s1) by FINSEQ_1:def 3;

      assume

       A2: s2 <> s1;

      assume

       A3: s2 is strictly_decreasing;

      assume

       A4: s2 is_finer_than s1;

      then

      consider n such that

       A5: ( len s2) = (( len s1) + n) by Th95;

      n <> 0 by A2, A4, A5, Th96;

      then

       A6: ( 0 + ( len s1)) < (n + ( len s1)) by XREAL_1: 6;

      then ( Seg ( len s1)) c= ( Seg ( len s2)) by A5, FINSEQ_1: 5;

      then ( Seg ( len s1)) c= ( dom s2) by FINSEQ_1:def 3;

      then

       A7: ( dom s1) c= ( dom s2) by FINSEQ_1:def 3;

      now

        set fX = { k where k be Element of NAT : k in ( dom s1) & (s1 . k) = (s2 . k) };

        

         A8: 1 in ( Seg 2);

        (s1 . 1) = ( (Omega). G) & (s2 . 1) = ( (Omega). G) by Def28;

        then

         A9: 1 in fX by A1, A8;

        now

          let x be object;

          assume x in fX;

          then ex k be Element of NAT st x = k & k in ( dom s1) & (s1 . k) = (s2 . k);

          hence x in ( dom s1);

        end;

        then fX c= ( dom s1);

        then

        reconsider fX as finite non empty real-membered set by A9;

        set i = ( max fX);

        i in fX by XXREAL_2:def 8;

        then

         A10: ex k be Element of NAT st i = k & k in ( dom s1) & (s1 . k) = (s2 . k);

        then

        reconsider i as Element of NAT ;

        take i;

        thus i in ( dom s1) & (s1 . i) = (s2 . i) by A10;

         A11:

        now

          assume not (i + 1) in ( dom s1);

          then

           A12: not (i + 1) in ( Seg ( len s1)) by FINSEQ_1:def 3;

          per cases by A12;

            suppose 1 > (i + 1);

            then (1 - 1) > ((i + 1) - 1) by XREAL_1: 9;

            then 0 > i;

            hence contradiction;

          end;

            suppose

             A13: (i + 1) > ( len s1);

            i in ( Seg ( len s1)) by A10, FINSEQ_1:def 3;

            then

             A14: i <= ( len s1) by FINSEQ_1: 1;

            i >= ( len s1) by A13, NAT_1: 13;

            then

             A15: i = ( len s1) by A14, XXREAL_0: 1;

            then ( 0 + 1) <= (i + 1) & (i + 1) <= ( len s2) by A5, A6, NAT_1: 13;

            then (i + 1) in ( Seg ( len s2));

            then

             A16: (i + 1) in ( dom s2) by FINSEQ_1:def 3;

            then

            reconsider H1 = (s2 . i), H2 = (s2 . (i + 1)) as Element of ( the_stable_subgroups_of G) by A10, FINSEQ_2: 11;

            reconsider H1, H2 as StableSubgroup of G by Def11;

            

             A17: (s2 . i) = ( (1). G) by A10, A15, Def28;

            then

             A18: the carrier of H1 = {( 1_ G)} by Def8;

            reconsider H2 as normal StableSubgroup of H1 by A7, A10, A16, Def28;

            ( 1_ G) in H2 by Lm17;

            then ( 1_ G) in the carrier of H2 by STRUCT_0:def 5;

            then

             A19: {( 1_ G)} c= the carrier of H2 by ZFMISC_1: 31;

            H2 is Subgroup of ( (1). G) by A17, Def7;

            then the carrier of H2 c= the carrier of ( (1). G) by GROUP_2:def 5;

            then the carrier of H2 c= {( 1_ G)} by Def8;

            then the carrier of H2 = {( 1_ G)} by A19, XBOOLE_0:def 10;

            then (H1 ./. H2) is trivial by A18, Th77;

            hence contradiction by A3, A7, A10, A16;

          end;

        end;

        hence (i + 1) in ( dom s1);

        now

          

           A20: (1 + i) > ( 0 + i) by XREAL_1: 6;

          assume (s1 . (i + 1)) = (s2 . (i + 1));

          then

          consider k be Element of NAT such that

           A21: k > i and

           A22: k in ( dom s1) & (s1 . k) = (s2 . k) by A11, A20;

          k in fX by A22;

          hence contradiction by A21, XXREAL_2:def 8;

        end;

        hence (s1 . (i + 1)) <> (s2 . (i + 1));

      end;

      then

      consider i such that

       A23: i in ( dom s1) and

       A24: (i + 1) in ( dom s1) and

       A25: (s1 . i) = (s2 . i) and

       A26: (s1 . (i + 1)) <> (s2 . (i + 1));

      now

        consider x such that

         A27: x c= ( dom s2) and

         A28: s1 = (s2 * ( Sgm x)) by A4;

        set j = (( Sgm x) . (i + 1));

        

         A29: x c= ( Seg ( len s2)) by A27, FINSEQ_1:def 3;

        

         A30: (i + 1) in ( dom ( Sgm x)) by A24, A28, FUNCT_1: 11;

        then j in ( rng ( Sgm x)) by FUNCT_1: 3;

        then j in x by A29, FINSEQ_1:def 13;

        then

         A31: j in ( Seg ( len s2)) by A29;

        then

        reconsider j as Element of NAT ;

        

         A32: (i + 1) <= j by A29, A30, FINSEQ_3: 152;

        take j;

        thus j in ( dom s2) by A31, FINSEQ_1:def 3;

        thus (s1 . (i + 1)) = (s2 . j) by A24, A28, FUNCT_1: 12;

        j <> (i + 1) by A24, A26, A28, FUNCT_1: 12;

        hence (i + 1) < j by A32, XXREAL_0: 1;

      end;

      then

      consider j such that

       A33: j in ( dom s2) & (i + 1) < j and

       A34: (s1 . (i + 1)) = (s2 . j);

      take i, j;

      thus i in ( dom s1) & i in ( dom s2) by A7, A23;

      thus (i + 1) in ( dom s1) & (i + 1) in ( dom s2) by A7, A24;

      thus j in ( dom s2) & (i + 1) < j by A33;

      thus (s1 . i) = (s2 . i) & (s1 . (i + 1)) <> (s2 . (i + 1)) by A25, A26;

      thus thesis by A34;

    end;

    theorem :: GROUP_9:101

    

     Th101: i in ( dom s1) & j in ( dom s1) & i <= j & H1 = (s1 . i) & H2 = (s1 . j) implies H2 is StableSubgroup of H1

    proof

      assume that

       A1: i in ( dom s1) and

       A2: j in ( dom s1);

      defpred P[ Nat] means for n, H2 st (i + $1) in ( dom s1) & H2 = (s1 . (i + $1)) holds H2 is StableSubgroup of H1;

      assume

       A3: i <= j;

      assume that

       A4: H1 = (s1 . i) and

       A5: H2 = (s1 . j);

      

       A6: for n st P[n] holds P[(n + 1)]

      proof

        let n;

        assume

         A7: P[n];

        set H2 = (s1 . (i + n));

        per cases ;

          suppose

           A8: (i + n) in ( dom s1);

          then

          reconsider H2 as Element of ( the_stable_subgroups_of G) by FINSEQ_2: 11;

          reconsider H2 as StableSubgroup of G by Def11;

          

           A9: H2 is StableSubgroup of H1 by A7, A8;

          now

            let k be Element of NAT ;

            let H3;

            assume (i + (n + 1)) in ( dom s1);

            then

             A10: ((i + n) + 1) in ( dom s1);

            assume H3 = (s1 . (i + (n + 1)));

            then H3 is StableSubgroup of H2 by A8, A10, Def28;

            hence H3 is StableSubgroup of H1 by A9, Th11;

          end;

          hence thesis;

        end;

          suppose not (i + n) in ( dom s1);

          then

           A11: not (i + n) in ( Seg ( len s1)) by FINSEQ_1:def 3;

          per cases by A11;

            suppose (i + n) < ( 0 + 1);

            then n = 0 by NAT_1: 13;

            hence thesis by A1, A4, Def28;

          end;

            suppose

             A12: (i + n) > ( len s1);

            

             A13: (1 + ( len s1)) > ( 0 + ( len s1)) by XREAL_1: 6;

            ((i + n) + 1) > (( len s1) + 1) by A12, XREAL_1: 6;

            then ((i + n) + 1) > ( len s1) by A13, XXREAL_0: 2;

            then not ((i + n) + 1) in ( Seg ( len s1)) by FINSEQ_1: 1;

            hence thesis by FINSEQ_1:def 3;

          end;

        end;

      end;

      

       A14: P[ 0 ] by A4, Th10;

      

       A15: for n holds P[n] from NAT_1:sch 2( A14, A6);

      set n = (j - i);

      (i - i) <= (j - i) by A3, XREAL_1: 9;

      then

      reconsider n as Element of NAT by INT_1: 3;

      reconsider n as Nat;

      j = (i + n);

      hence thesis by A2, A5, A15;

    end;

    theorem :: GROUP_9:102

    

     Th102: y in ( rng ( the_series_of_quotients_of s1)) implies y is strict GroupWithOperators of O

    proof

      assume

       A1: y in ( rng ( the_series_of_quotients_of s1));

      set f1 = ( the_series_of_quotients_of s1);

      

       A2: ( len f1) = 0 or ( len f1) >= ( 0 + 1) by NAT_1: 13;

      per cases by A2;

        suppose ( len f1) = 0 ;

        then f1 = {} ;

        hence thesis by A1;

      end;

        suppose ( len f1) >= 1;

        then

         A3: ( len s1) > 1 by Def33, CARD_1: 27;

        then

         A4: ( len s1) = (( len f1) + 1) by Def33;

        consider i be object such that

         A5: i in ( dom f1) and

         A6: (f1 . i) = y by A1, FUNCT_1:def 3;

        reconsider i as Nat by A5;

        

         A7: i in ( Seg ( len f1)) by A5, FINSEQ_1:def 3;

        then

         A8: 1 <= i by FINSEQ_1: 1;

        1 <= i by A7, FINSEQ_1: 1;

        then (1 + 1) <= (i + 1) by XREAL_1: 6;

        then

         A9: 1 <= (i + 1) by XXREAL_0: 2;

        

         A10: i <= ( len f1) by A7, FINSEQ_1: 1;

        then ( 0 + i) <= (1 + i) & (i + 1) <= (( len f1) + 1) by XREAL_1: 6;

        then i <= ( len s1) by A4, XXREAL_0: 2;

        then i in ( Seg ( len s1)) by A8;

        then

         A11: i in ( dom s1) by FINSEQ_1:def 3;

        then (s1 . i) in ( the_stable_subgroups_of G) by FINSEQ_2: 11;

        then

        reconsider H1 = (s1 . i) as strict StableSubgroup of G by Def11;

        (i + 1) <= (( len f1) + 1) by A10, XREAL_1: 6;

        then (i + 1) <= ( len s1) by A3, Def33;

        then (i + 1) in ( Seg ( len s1)) by A9;

        then

         A12: (i + 1) in ( dom s1) by FINSEQ_1:def 3;

        then (s1 . (i + 1)) in ( the_stable_subgroups_of G) by FINSEQ_2: 11;

        then

        reconsider N1 = (s1 . (i + 1)) as strict StableSubgroup of G by Def11;

        reconsider N1 as normal StableSubgroup of H1 by A11, A12, Def28;

        y = (H1 ./. N1) by A3, A5, A6, Def33;

        hence thesis;

      end;

    end;

    theorem :: GROUP_9:103

    

     Th103: i in ( dom ( the_series_of_quotients_of s1)) & (for H st H = (( the_series_of_quotients_of s1) . i) holds H is trivial) implies i in ( dom s1) & (i + 1) in ( dom s1) & (s1 . i) = (s1 . (i + 1))

    proof

      assume

       A1: i in ( dom ( the_series_of_quotients_of s1));

      set f1 = ( the_series_of_quotients_of s1);

      assume

       A2: for H st H = (( the_series_of_quotients_of s1) . i) holds H is trivial;

      

       A3: ( len f1) = 0 or ( len f1) >= ( 0 + 1) by NAT_1: 13;

      per cases by A3, XXREAL_0: 1;

        suppose ( len f1) = 0 ;

        then f1 = {} ;

        hence thesis by A1;

      end;

        suppose

         A4: ( len f1) = 1;

        (f1 . i) in ( rng f1) by A1, FUNCT_1: 3;

        then

        reconsider H = (f1 . i) as strict GroupWithOperators of O by Th102;

        set H1 = ( (Omega). G);

        

         A5: H is trivial by A2;

        

         A6: ( len s1) > 1 by A4, Def33, CARD_1: 27;

        then

         A7: ( len s1) = (( len f1) + 1) by Def33;

        then

         A8: (s1 . 2) = ( (1). G) by A4, Def28;

        i in ( Seg 1) by A1, A4, FINSEQ_1:def 3;

        then

         A9: i = 1 by FINSEQ_1: 2, TARSKI:def 1;

        then i in ( Seg 2);

        hence i in ( dom s1) by A4, A7, FINSEQ_1:def 3;

        reconsider N1 = ( (1). G) as StableSubgroup of H1 by Th16;

        

         A10: (s1 . 1) = ( (Omega). G) by Def28;

        

         A11: ( (1). G) = ( (1). H1) by Th15;

        then

        reconsider N1 as normal StableSubgroup of H1;

        

         A12: (H1,(H1 ./. N1)) are_isomorphic by A11, Th56;

        (i + 1) in ( Seg 2) by A9;

        hence (i + 1) in ( dom s1) by A4, A7, FINSEQ_1:def 3;

        for H1, N1 st H1 = (s1 . i) & N1 = (s1 . (i + 1)) holds (f1 . i) = (H1 ./. N1) by A1, A6, Def33;

        then (H1 ./. N1) is trivial by A10, A8, A9, A5;

        hence thesis by A10, A8, A9, A11, A12, Th42, Th58;

      end;

        suppose

         A13: ( len f1) > 1;

        (f1 . i) in ( rng f1) by A1, FUNCT_1: 3;

        then

        reconsider H = (f1 . i) as strict GroupWithOperators of O by Th102;

        

         A14: i in ( Seg ( len f1)) by A1, FINSEQ_1:def 3;

        then

         A15: 1 <= i by FINSEQ_1: 1;

        1 <= i by A14, FINSEQ_1: 1;

        then (1 + 1) <= (i + 1) by XREAL_1: 6;

        then

         A16: 1 <= (i + 1) by XXREAL_0: 2;

        

         A17: i <= ( len f1) by A14, FINSEQ_1: 1;

        then

         A18: ( 0 + i) <= (1 + i) & (i + 1) <= (( len f1) + 1) by XREAL_1: 6;

        

         A19: ( len s1) > 1 by A13, Def33, CARD_1: 27;

        then ( len s1) = (( len f1) + 1) by Def33;

        then i <= ( len s1) by A18, XXREAL_0: 2;

        then

         A20: i in ( Seg ( len s1)) by A15;

        hence i in ( dom s1) by FINSEQ_1:def 3;

        (i + 1) <= (( len f1) + 1) by A17, XREAL_1: 6;

        then (i + 1) <= ( len s1) by A19, Def33;

        then

         A21: (i + 1) in ( Seg ( len s1)) by A16;

        hence (i + 1) in ( dom s1) by FINSEQ_1:def 3;

        

         A22: (i + 1) in ( dom s1) by A21, FINSEQ_1:def 3;

        then (s1 . (i + 1)) in ( the_stable_subgroups_of G) by FINSEQ_2: 11;

        then

        reconsider N1 = (s1 . (i + 1)) as strict StableSubgroup of G by Def11;

        

         A23: i in ( dom s1) by A20, FINSEQ_1:def 3;

        then (s1 . i) in ( the_stable_subgroups_of G) by FINSEQ_2: 11;

        then

        reconsider H1 = (s1 . i) as strict StableSubgroup of G by Def11;

        reconsider N1 as normal StableSubgroup of H1 by A23, A22, Def28;

        H is trivial by A2;

        then (H1 ./. N1) is trivial by A1, A19, Def33;

        hence thesis by Th76;

      end;

    end;

    theorem :: GROUP_9:104

    

     Th104: i in ( dom s1) & (i + 1) in ( dom s1) & (s1 . i) = (s1 . (i + 1)) & s2 = ( Del (s1,i)) implies ( the_series_of_quotients_of s2) = ( Del (( the_series_of_quotients_of s1),i))

    proof

      set f1 = ( the_series_of_quotients_of s1);

      assume

       A1: i in ( dom s1);

      then

      consider k be Nat such that

       A2: ( len s1) = (k + 1) and

       A3: ( len ( Del (s1,i))) = k by FINSEQ_3: 104;

      assume (i + 1) in ( dom s1);

      then (i + 1) in ( Seg ( len s1)) by FINSEQ_1:def 3;

      then

       A4: (i + 1) <= ( len s1) by FINSEQ_1: 1;

      assume

       A5: (s1 . i) = (s1 . (i + 1));

      

       A6: i in ( Seg ( len s1)) by A1, FINSEQ_1:def 3;

      then 1 <= i by FINSEQ_1: 1;

      then

       A7: (1 + 1) <= (i + 1) by XREAL_1: 6;

      then 2 <= ( len s1) by A4, XXREAL_0: 2;

      then

       A8: 1 < ( len s1) by XXREAL_0: 2;

      then

       A9: ( len s1) = (( len f1) + 1) by Def33;

      assume

       A10: s2 = ( Del (s1,i));

      then (1 + 1) <= (( len s2) + 1) by A7, A4, A2, A3, XXREAL_0: 2;

      then

       A11: 1 <= ( len s2) by XREAL_1: 6;

      per cases by A11, XXREAL_0: 1;

        suppose

         A12: ( len s2) = 1;

        then 1 in ( Seg ( len f1)) by A10, A2, A3, A9;

        then 1 in ( dom f1) by FINSEQ_1:def 3;

        then

         A13: ex k1 be Nat st ( len f1) = (k1 + 1) & ( len ( Del (f1,1))) = k1 by FINSEQ_3: 104;

        

         A14: 1 <= i by A6, FINSEQ_1: 1;

        

         A15: ( the_series_of_quotients_of s2) = {} by A12, Def33;

        i <= 1 by A10, A4, A2, A3, A12, XREAL_1: 6;

        then ( len ( Del (f1,i))) = 0 by A10, A2, A3, A9, A12, A13, A14, XXREAL_0: 1;

        hence thesis by A15;

      end;

        suppose

         A16: ( len s2) > 1;

        ((i + 1) - 1) <= (( len s1) - 1) & 1 <= i by A6, A4, FINSEQ_1: 1, XREAL_1: 9;

        then i in ( Seg ( len f1)) by A9;

        then

         A17: i in ( dom f1) by FINSEQ_1:def 3;

        then

        consider k1 be Nat such that

         A18: ( len f1) = (k1 + 1) and

         A19: ( len ( Del (f1,i))) = k1 by FINSEQ_3: 104;

        now

          let n;

          set n1 = (n + 1);

          assume n in ( dom ( Del (f1,i)));

          then

           A20: n in ( Seg ( len ( Del (f1,i)))) by FINSEQ_1:def 3;

          then

           A21: n <= k1 by A19, FINSEQ_1: 1;

          then

           A22: n1 <= k by A2, A9, A18, XREAL_1: 6;

          1 <= n by A20, FINSEQ_1: 1;

          then (1 + 1) <= (n + 1) by XREAL_1: 6;

          then 1 <= n1 by XXREAL_0: 2;

          then n1 in ( Seg ( len f1)) by A2, A9, A22;

          then

           A23: n1 in ( dom f1) by FINSEQ_1:def 3;

          reconsider n1 as Nat;

          let H1, N1;

          assume

           A24: H1 = (s2 . n);

          ( 0 + n) < (1 + n) by XREAL_1: 6;

          then

           A25: n <= k by A22, XXREAL_0: 2;

          ((( len f1) - ( len ( Del (f1,i)))) + ( len ( Del (f1,i)))) > ( 0 + ( len ( Del (f1,i)))) by A18, A19, XREAL_1: 6;

          then ( Seg ( len ( Del (f1,i)))) c= ( Seg ( len f1)) by FINSEQ_1: 5;

          then n in ( Seg ( len f1)) by A20;

          then

           A26: n in ( dom f1) by FINSEQ_1:def 3;

          assume

           A27: N1 = (s2 . (n + 1));

          per cases ;

            suppose

             A28: n < i;

            then

             A29: n1 <= i by NAT_1: 13;

            per cases by A29, XXREAL_0: 1;

              suppose

               A30: n1 < i;

              reconsider n9 = n as Element of NAT by INT_1: 3;

              

               A31: (s1 . (n9 + 1)) = N1 by A10, A27, A30, FINSEQ_3: 110;

              (s1 . n9) = H1 by A10, A24, A28, FINSEQ_3: 110;

              then (f1 . n) = (H1 ./. N1) by A8, A26, A31, Def33;

              hence (( Del (f1,i)) . n) = (H1 ./. N1) by A28, FINSEQ_3: 110;

            end;

              suppose n1 = i;

              then (s1 . n) = H1 & (s1 . (n + 1)) = N1 by A1, A5, A10, A2, A24, A27, A22, A28, FINSEQ_3: 110, FINSEQ_3: 111;

              then (f1 . n) = (H1 ./. N1) by A8, A26, Def33;

              hence (( Del (f1,i)) . n) = (H1 ./. N1) by A28, FINSEQ_3: 110;

            end;

          end;

            suppose

             A32: n >= i;

            reconsider n19 = n1 as Element of NAT ;

            ( 0 + i) < (1 + i) & (n + 1) >= (i + 1) by A32, XREAL_1: 6;

            then n1 >= i by XXREAL_0: 2;

            then

             A33: (s1 . (n19 + 1)) = N1 by A1, A10, A2, A27, A22, FINSEQ_3: 111;

            (s1 . n19) = H1 by A1, A10, A2, A24, A25, A32, FINSEQ_3: 111;

            then (f1 . n1) = (H1 ./. N1) by A8, A23, A33, Def33;

            hence (( Del (f1,i)) . n) = (H1 ./. N1) by A17, A18, A21, A32, FINSEQ_3: 111;

          end;

        end;

        hence thesis by A10, A2, A3, A9, A16, A18, A19, Def33;

      end;

    end;

    theorem :: GROUP_9:105

    f1 = ( the_series_of_quotients_of s1) & i in ( dom f1) & (for H st H = (f1 . i) holds H is trivial) implies ( Del (s1,i)) is CompositionSeries of G & for s2 st s2 = ( Del (s1,i)) holds ( the_series_of_quotients_of s2) = ( Del (f1,i))

    proof

      assume

       A1: f1 = ( the_series_of_quotients_of s1);

      assume

       A2: i in ( dom f1);

      assume

       A3: for H st H = (f1 . i) holds H is trivial;

      then

       A4: (s1 . i) = (s1 . (i + 1)) by A1, A2, Th103;

      

       A5: i in ( dom s1) & (i + 1) in ( dom s1) by A1, A2, A3, Th103;

      hence ( Del (s1,i)) is CompositionSeries of G by A4, Th94, FINSEQ_3: 105;

      let s2;

      assume s2 = ( Del (s1,i));

      hence thesis by A1, A5, A4, Th104;

    end;

    theorem :: GROUP_9:106

    

     Th106: i in ( dom f1) & (ex p be Permutation of ( dom f1) st (f1,f2) are_equivalent_under (p,O) & j = ((p " ) . i)) implies ex p9 be Permutation of ( dom ( Del (f1,i))) st (( Del (f1,i)),( Del (f2,j))) are_equivalent_under (p9,O)

    proof

      

       A1: ( len f1) = 0 or ( len f1) >= ( 0 + 1) by NAT_1: 13;

      assume

       A2: i in ( dom f1);

      given p be Permutation of ( dom f1) such that

       A3: (f1,f2) are_equivalent_under (p,O) and

       A4: j = ((p " ) . i);

      

       A5: ( len f1) = ( len f2) by A3;

      ( rng (p " )) c= ( dom f1);

      then

       A6: ( rng (p " )) c= ( Seg ( len f1)) by FINSEQ_1:def 3;

      ((p " ) . i) in ( rng (p " )) by A2, FUNCT_2: 4;

      then ((p " ) . i) in ( Seg ( len f1)) by A6;

      then

       A7: j in ( dom f2) by A4, A5, FINSEQ_1:def 3;

      then

       A8: ex k2 be Nat st ( len f2) = (k2 + 1) & ( len ( Del (f2,j))) = k2 by FINSEQ_3: 104;

      consider k1 be Nat such that

       A9: ( len f1) = (k1 + 1) and

       A10: ( len ( Del (f1,i))) = k1 by A2, FINSEQ_3: 104;

      per cases by A1, XXREAL_0: 1;

        suppose

         A11: ( len f1) = 0 ;

        set p9 = the Permutation of ( dom ( Del (f1,i)));

        take p9;

        thus thesis by A9, A11;

      end;

        suppose

         A12: ( len f1) = 1;

        reconsider p9 = {} as Function of ( dom {} ), ( rng {} ) by FUNCT_2: 1;

        reconsider p9 as Function of {} , {} ;

        

         A13: p9 is onto;

        ( Del (f1,i)) = {} by A9, A10, A12;

        then

        reconsider p9 as Permutation of ( dom ( Del (f1,i))) by A13;

        take p9;

        thus thesis by A5, A9, A10, A8;

      end;

        suppose

         A14: ( len f1) > 1;

        set Y = (( dom f2) \ {j});

         A15:

        now

          assume Y = {} ;

          then

           A16: ( dom f2) c= {j} by XBOOLE_1: 37;

           {j} c= ( dom f2) by A7, ZFMISC_1: 31;

          then

           A17: ( dom f2) = {j} by A16, XBOOLE_0:def 10;

          consider k be Nat such that

           A18: ( dom f2) = ( Seg k) by FINSEQ_1:def 2;

          k in NAT by ORDINAL1:def 12;

          then k = ( len f2) by A18, FINSEQ_1:def 3;

          then k >= (1 + 1) by A5, A14, NAT_1: 13;

          then ( Seg 2) c= ( Seg k) by FINSEQ_1: 5;

          then {1, 2} = {j} by A17, A18, FINSEQ_1: 2, ZFMISC_1: 21;

          hence contradiction by ZFMISC_1: 5;

        end;

        set X = (( dom f1) \ {i});

        set p9 = (((( Sgm X) " ) * p) * ( Sgm Y));

        Y c= ( dom f2) by XBOOLE_1: 36;

        then

         A19: Y c= ( Seg ( len f2)) by FINSEQ_1:def 3;

        X c= ( dom f1) by XBOOLE_1: 36;

        then

         A20: X c= ( Seg ( len f1)) by FINSEQ_1:def 3;

        then

         A21: ( rng ( Sgm X)) = X by FINSEQ_1:def 13;

        Y c= ( dom f2) by XBOOLE_1: 36;

        then Y c= ( Seg ( len f2)) by FINSEQ_1:def 3;

        then

         A22: ( Sgm Y) is one-to-one & ( rng ( Sgm Y)) = Y by FINSEQ_1:def 13, FINSEQ_3: 92;

        

         A23: ( dom f1) = ( Seg ( len f1)) by FINSEQ_1:def 3

        .= ( dom f2) by A3, FINSEQ_1:def 3;

        

         A24: (p . j) = ((p * (p " )) . i) by A2, A4, FUNCT_2: 15

        .= (( id ( dom f1)) . i) by FUNCT_2: 61

        .= i by A2, FUNCT_1: 18;

        

         A25: p9 is Permutation of ( dom ( Del (f1,i))) & (p9 " ) = (((( Sgm Y) " ) * (p " )) * ( Sgm X))

        proof

          set R6 = p;

          set R5 = (p " );

          set R4 = ( Sgm X);

          set R3 = (( Sgm X) " );

          set R2 = ( Sgm Y);

          set R1 = (( Sgm Y) " );

          set p99 = (((( Sgm Y) " ) * (p " )) * ( Sgm X));

          

           A26: {i} c= ( dom f1) by A2, ZFMISC_1: 31;

          

           A27: (X \/ {i}) = (( dom f1) \/ {i}) by XBOOLE_1: 39

          .= ( dom f1) by A26, XBOOLE_1: 12;

          ( card (X \/ {i})) = (( card X) + ( card {i})) by CARD_2: 40, XBOOLE_1: 79;

          

          then

           A28: (( card X) + 1) = ( card (X \/ {i})) by CARD_1: 30

          .= ( card ( Seg ( len f1))) by A27, FINSEQ_1:def 3

          .= (k1 + 1) by A9, FINSEQ_1: 57;

          

           A29: {j} c= ( dom f2) by A7, ZFMISC_1: 31;

          

           A30: (Y \/ {j}) = (( dom f2) \/ {j}) by XBOOLE_1: 39

          .= ( dom f2) by A29, XBOOLE_1: 12;

          

           A31: ( Sgm X) is one-to-one by A20, FINSEQ_3: 92;

          then

           A32: ( dom (( Sgm X) " )) = X by A21, FUNCT_1: 33;

          then ( dom (( Sgm X) " )) c= ( dom f1) by XBOOLE_1: 36;

          then

           A33: ( dom (( Sgm X) " )) c= ( rng p) by FUNCT_2:def 3;

           A34:

          now

            let x be object;

            assume

             A35: x in Y;

            ( dom f1) = ( dom p) by A2, FUNCT_2:def 1;

            then

             A36: x in ( dom p) by A23, A35, XBOOLE_0:def 5;

             not x in {j} by A35, XBOOLE_0:def 5;

            then x <> j by TARSKI:def 1;

            then (p . x) <> i by A7, A23, A24, A36, FUNCT_2: 56;

            then

             A37: not (p . x) in {i} by TARSKI:def 1;

            ( dom f1) = ( rng p) by FUNCT_2:def 3;

            then (p . x) in ( dom f1) by A36, FUNCT_1: 3;

            then (p . x) in X by A37, XBOOLE_0:def 5;

            hence x in ( dom ((( Sgm X) " ) * p)) by A32, A36, FUNCT_1: 11;

          end;

          now

            let x be object;

            assume

             A38: x in ( dom ((( Sgm X) " ) * p));

            then (p . x) in ( dom (( Sgm X) " )) by FUNCT_1: 11;

            then (p . x) in X by A21, A31, FUNCT_1: 33;

            then not (p . x) in {i} by XBOOLE_0:def 5;

            then (p . x) <> i by TARSKI:def 1;

            then

             A39: not x in {j} by A24, TARSKI:def 1;

            x in ( dom p) by A38, FUNCT_1: 11;

            hence x in Y by A23, A39, XBOOLE_0:def 5;

          end;

          then ( dom ((( Sgm X) " ) * p)) = Y by A34, TARSKI: 2;

          then

           A40: ( dom ((( Sgm X) " ) * p)) = ( rng ( Sgm Y)) by A19, FINSEQ_1:def 13;

          

          then ( rng (((( Sgm X) " ) * p) * ( Sgm Y))) = ( rng ((( Sgm X) " ) * p)) by RELAT_1: 28

          .= ( rng (( Sgm X) " )) by A33, RELAT_1: 28

          .= ( dom ( Sgm X)) by A31, FUNCT_1: 33;

          then

           A41: ( rng p9) = ( Seg k1) by A20, A28, FINSEQ_3: 40;

          ( card (Y \/ {j})) = (( card Y) + ( card {j})) by CARD_2: 40, XBOOLE_1: 79;

          

          then (( card Y) + 1) = ( card (Y \/ {j})) by CARD_1: 30

          .= ( card ( Seg ( len f2))) by A30, FINSEQ_1:def 3

          .= (k1 + 1) by A3, A9, FINSEQ_1: 57;

          then ( dom ( Sgm Y)) = ( Seg k1) by A19, FINSEQ_3: 40;

          then

           A42: ( dom p9) = ( Seg k1) by A40, RELAT_1: 27;

          

           A43: ( dom ( Del (f1,i))) = ( Seg k1) by A10, FINSEQ_1:def 3;

          then

          reconsider p9 as Function of ( dom ( Del (f1,i))), ( dom ( Del (f1,i))) by A41, A42, FUNCT_2: 1;

          

           A44: p9 is onto by A43, A41;

          ( Sgm Y) is one-to-one by A19, FINSEQ_3: 92;

          then

          reconsider p9 as Permutation of ( dom ( Del (f1,i))) by A31, A44;

          set R7 = p9;

          reconsider R1, R2, R3, R4, R5, R6, R7, p9, p99 as Function;

          

           A45: R3 = (R4 ~ ) by A31, FUNCT_1:def 5;

          

           A46: ( Sgm Y) is one-to-one & R5 = (R6 ~ ) by A19, FINSEQ_3: 92, FUNCT_1:def 5;

          reconsider R1, R2, R3, R4, R5, R6, R7 as Relation;

          (p9 " ) = (R7 ~ ) by FUNCT_1:def 5

          .= (((R6 * R3) ~ ) * (R2 ~ )) by RELAT_1: 35

          .= (((R3 ~ ) * (R6 ~ )) * (R2 ~ )) by RELAT_1: 35

          .= ((((R4 ~ ) ~ ) * R5) * R1) by A45, A46, FUNCT_1:def 5

          .= p99 by RELAT_1: 36;

          hence thesis;

        end;

        then

        reconsider p9 as Permutation of ( dom ( Del (f1,i)));

        take p9;

        

         A47: ( Sgm Y) is Function of ( dom ( Sgm Y)), ( rng ( Sgm Y)) by FUNCT_2: 1;

        now

          let H1,H2 be GroupWithOperators of O, l be Nat, n;

          assume

           A48: l in ( dom ( Del (f1,i)));

          set n1 = (( Sgm Y) . n);

          reconsider n1 as Nat;

          

           A49: (( Sgm Y) * (p9 " )) = (( Sgm Y) * ((( Sgm Y) " ) * ((p " ) * ( Sgm X)))) by A25, RELAT_1: 36

          .= ((( Sgm Y) * (( Sgm Y) " )) * ((p " ) * ( Sgm X))) by RELAT_1: 36

          .= (( id Y) * ((p " ) * ( Sgm X))) by A22, A15, A47, FUNCT_2: 29

          .= ((( id Y) * (p " )) * ( Sgm X)) by RELAT_1: 36

          .= ((Y |` (p " )) * ( Sgm X)) by RELAT_1: 92;

          assume

           A50: n = ((p9 " ) . l);

          

           A51: l in ( dom (p9 " )) by A48, FUNCT_2:def 1;

          then n in ( rng (p9 " )) by A50, FUNCT_1: 3;

          then n in ( dom ( Del (f1,i)));

          then n in ( Seg ( len ( Del (f2,j)))) by A5, A9, A10, A8, FINSEQ_1:def 3;

          then

           A52: n in ( dom ( Del (f2,j))) by FINSEQ_1:def 3;

          set l1 = (( Sgm X) . l);

          

           A53: ( dom ( Del (f1,i))) c= ( dom ( Sgm X)) by RELAT_1: 25;

          then l1 in ( rng ( Sgm X)) by A48, FUNCT_1: 3;

          then

           A54: l1 in ( dom f1) by A21, XBOOLE_0:def 5;

          assume that

           A55: H1 = (( Del (f1,i)) . l) and

           A56: H2 = (( Del (f2,j)) . n);

          reconsider l1 as Nat;

          

           A57: H1 = (f1 . l1) by A48, A55, A53, FUNCT_1: 13;

          

           A58: ( dom f1) = ( rng p) by FUNCT_2:def 3;

          then

           A59: l1 in ( dom (p " )) by A54, FUNCT_1: 33;

           A60:

          now

            assume ((p " ) . l1) in {j};

            then

             A61: ((p " ) . l1) = ((p " ) . i) by A4, TARSKI:def 1;

            i in ( dom (p " )) by A2, A58, FUNCT_1: 33;

            then l1 = i by A59, A61, FUNCT_1:def 4;

            then i in ( rng ( Sgm X)) by A48, A53, FUNCT_1: 3;

            then not i in {i} by A21, XBOOLE_0:def 5;

            hence contradiction by TARSKI:def 1;

          end;

          ((p " ) . l1) in ( rng (p " )) by A59, FUNCT_1: 3;

          then

           A62: ((p " ) . l1) in Y by A23, A60, XBOOLE_0:def 5;

          ( dom ( Del (f2,j))) c= ( dom ( Sgm Y)) by RELAT_1: 25;

          then

           A63: H2 = (f2 . n1) by A56, A52, FUNCT_1: 13;

          n1 = ((( Sgm Y) * (p9 " )) . l) by A50, A51, FUNCT_1: 13

          .= ((Y |` (p " )) . l1) by A48, A53, A49, FUNCT_1: 13

          .= ((p " ) . l1) by A54, A62, FUNCT_2: 34;

          hence (H1,H2) are_isomorphic by A3, A54, A57, A63;

        end;

        hence thesis by A5, A9, A10, A8;

      end;

    end;

    theorem :: GROUP_9:107

    for G1,G2 be GroupWithOperators of O, s1 be CompositionSeries of G1, s2 be CompositionSeries of G2 st s1 is empty & s2 is empty holds s1 is_equivalent_with s2;

    theorem :: GROUP_9:108

    

     Th108: for G1,G2 be GroupWithOperators of O, s1 be CompositionSeries of G1, s2 be CompositionSeries of G2 st not s1 is empty & not s2 is empty holds s1 is_equivalent_with s2 iff ex p be Permutation of ( dom ( the_series_of_quotients_of s1)) st (( the_series_of_quotients_of s1),( the_series_of_quotients_of s2)) are_equivalent_under (p,O)

    proof

      let G1,G2 be GroupWithOperators of O;

      let s1 be CompositionSeries of G1, s2 be CompositionSeries of G2;

      assume that

       A1: not s1 is empty and

       A2: not s2 is empty;

      set f2 = ( the_series_of_quotients_of s2);

      set f1 = ( the_series_of_quotients_of s1);

      hereby

        assume

         A3: s1 is_equivalent_with s2;

        then

         A4: ( len s1) = ( len s2);

        per cases ;

          suppose

           A5: ( len s1) <= 1;

          reconsider fs1 = f1, fs2 = f2 as FinSequence;

          set p = the Permutation of ( dom ( the_series_of_quotients_of s1));

          reconsider pf = p as Permutation of ( dom fs1);

          fs1 = {} by A5, Def33;

          then

           A6: for H1,H2 be GroupWithOperators of O, i, j st i in ( dom fs1) & j = ((pf " ) . i) & H1 = (fs1 . i) & H2 = (fs2 . j) holds (H1,H2) are_isomorphic ;

          take p;

          fs2 = {} by A4, A5, Def33;

          then ( len f1) = ( len f2) by A5, Def33;

          hence (( the_series_of_quotients_of s1),( the_series_of_quotients_of s2)) are_equivalent_under (p,O) by A6;

        end;

          suppose

           A7: ( len s1) > 1;

          set n = (( len s1) - 1);

          (( len s1) - 1) > (1 - 1) by A7, XREAL_1: 9;

          then n in NAT by INT_1: 3;

          then

          reconsider n as Nat;

          (n + 1) = ( len s1);

          then

          consider p be Permutation of ( Seg n) such that

           A8: for H1 be StableSubgroup of G1, H2 be StableSubgroup of G2, N1 be normal StableSubgroup of H1, N2 be normal StableSubgroup of H2, i, j st 1 <= i & i <= n & j = (p . i) & H1 = (s1 . i) & H2 = (s2 . j) & N1 = (s1 . (i + 1)) & N2 = (s2 . (j + 1)) holds ((H1 ./. N1),(H2 ./. N2)) are_isomorphic by A3;

          

           A9: ( len s1) = (( len ( the_series_of_quotients_of s1)) + 1) by A7, Def33;

          then ( dom ( the_series_of_quotients_of s1)) = ( Seg n) by FINSEQ_1:def 3;

          then

          reconsider p9 = (p " ) as Permutation of ( dom ( the_series_of_quotients_of s1));

          reconsider fs1 = f1, fs2 = f2 as FinSequence;

          

           A10: ( len s2) = (( len ( the_series_of_quotients_of s2)) + 1) by A4, A7, Def33;

          reconsider pf = p9 as Permutation of ( dom fs1);

          take p9;

          

           A11: (pf " ) = p by FUNCT_1: 43;

          now

            let H19,H29 be GroupWithOperators of O;

            let i, j;

            set H1 = (s1 . i);

            set H2 = (s2 . j);

            set N1 = (s1 . (i + 1));

            set N2 = (s2 . (j + 1));

            assume

             A12: i in ( dom fs1);

            then

             A13: i in ( Seg ( len fs1)) by FINSEQ_1:def 3;

            then

             A14: 1 <= i by FINSEQ_1: 1;

            

             A15: i <= ( len fs1) by A13, FINSEQ_1: 1;

            then

             A16: (i + 1) <= (( len fs1) + 1) by XREAL_1: 6;

            ( 0 + i) < (1 + i) by XREAL_1: 6;

            then 1 <= (i + 1) by A14, XXREAL_0: 2;

            then (i + 1) in ( Seg ( len s1)) by A9, A16;

            then

             A17: (i + 1) in ( dom s1) by FINSEQ_1:def 3;

            assume

             A18: j = ((pf " ) . i);

            ( 0 + ( len fs1)) < (1 + ( len fs1)) by XREAL_1: 6;

            then i <= ( len s1) by A9, A15, XXREAL_0: 2;

            then i in ( Seg ( len s1)) by A14;

            then

             A19: i in ( dom s1) by FINSEQ_1:def 3;

            then

            reconsider H1, N1 as Element of ( the_stable_subgroups_of G1) by A17, FINSEQ_2: 11;

            reconsider H1, N1 as StableSubgroup of G1 by Def11;

            reconsider N1 as normal StableSubgroup of H1 by A19, A17, Def28;

            assume that

             A20: H19 = (fs1 . i) and

             A21: H29 = (fs2 . j);

            i in ( dom p) by A9, A13, FUNCT_2:def 1;

            then

             A22: j in ( rng p) by A11, A18, FUNCT_1: 3;

            then

             A23: 1 <= j by FINSEQ_1: 1;

            

             A24: j <= ( len fs2) by A4, A10, A22, FINSEQ_1: 1;

            then

             A25: (j + 1) <= (( len fs2) + 1) by XREAL_1: 6;

            ( 0 + j) < (1 + j) by XREAL_1: 6;

            then 1 <= (j + 1) by A23, XXREAL_0: 2;

            then (j + 1) in ( Seg ( len s2)) by A10, A25;

            then

             A26: (j + 1) in ( dom s2) by FINSEQ_1:def 3;

            ( 0 + ( len fs2)) < (1 + ( len fs2)) by XREAL_1: 6;

            then j <= ( len s2) by A10, A24, XXREAL_0: 2;

            then j in ( Seg ( len s2)) by A23;

            then

             A27: j in ( dom s2) by FINSEQ_1:def 3;

            then

            reconsider H2, N2 as Element of ( the_stable_subgroups_of G2) by A26, FINSEQ_2: 11;

            reconsider H2, N2 as StableSubgroup of G2 by Def11;

            reconsider N2 as normal StableSubgroup of H2 by A27, A26, Def28;

            ( dom fs1) = ( Seg n) by A9, FINSEQ_1:def 3;

            then 1 <= i & i <= n by A12, FINSEQ_1: 1;

            then

             A28: ((H1 ./. N1),(H2 ./. N2)) are_isomorphic by A8, A11, A18;

            j in ( Seg ( len f2)) by A4, A10, A22;

            then j in ( dom fs2) by FINSEQ_1:def 3;

            then (H2 ./. N2) = H29 by A4, A7, A21, Def33;

            hence (H19,H29) are_isomorphic by A7, A12, A20, A28, Def33;

          end;

          hence (( the_series_of_quotients_of s1),( the_series_of_quotients_of s2)) are_equivalent_under (p9,O) by A4, A9, A10;

        end;

      end;

      given p be Permutation of ( dom ( the_series_of_quotients_of s1)) such that

       A29: (( the_series_of_quotients_of s1),( the_series_of_quotients_of s2)) are_equivalent_under (p,O);

      

       A30: ( len f1) = ( len f2) by A29;

      per cases ;

        suppose

         A31: ( len s1) <= 1;

        

         A32: ( len s1) >= ( 0 + 1) by A1, NAT_1: 13;

         A33:

        now

          let n;

          set p = the Permutation of ( Seg n);

          assume (n + 1) = ( len s1);

          then (n + 1) = 1 by A31, A32, XXREAL_0: 1;

          then

           A34: n = 0 ;

          take p;

          let H1 be StableSubgroup of G1;

          let H2 be StableSubgroup of G2;

          let N1 be normal StableSubgroup of H1;

          let N2 be normal StableSubgroup of H2;

          let i, j;

          assume that

           A35: 1 <= i & i <= n and j = (p . i);

          assume that H1 = (s1 . i) and H2 = (s2 . j);

          assume that N1 = (s1 . (i + 1)) and N2 = (s2 . (j + 1));

          thus ((H1 ./. N1),(H2 ./. N2)) are_isomorphic by A34, A35;

        end;

        

         A36: f1 = {} by A31, Def33;

        now

          assume

           A37: ( len s2) <> 1;

          ( len s2) >= ( 0 + 1) by A2, NAT_1: 13;

          then ( len s2) > 1 by A37, XXREAL_0: 1;

          then (( len f2) + 1) > ( 0 + 1) by Def33;

          hence contradiction by A30, A36;

        end;

        then ( len s1) = ( len s2) by A31, A32, XXREAL_0: 1;

        hence thesis by A33;

      end;

        suppose

         A38: ( len s1) > 1;

        then

         A39: ( len s1) = (( len f1) + 1) by Def33;

         A40:

        now

          assume ( len s2) <= 1;

          then f2 = {} by Def33;

          then ( len f2) = 0 ;

          hence contradiction by A30, A38, A39;

        end;

         A41:

        now

          let n;

          assume

           A42: (n + 1) = ( len s1);

          then

           A43: ( dom f1) = ( Seg n) by A39, FINSEQ_1:def 3;

          then

          reconsider p9 = (p " ) as Permutation of ( Seg n);

          take p9;

          let H1 be StableSubgroup of G1;

          let H2 be StableSubgroup of G2;

          let N1 be normal StableSubgroup of H1;

          let N2 be normal StableSubgroup of H2;

          let i, j;

          assume 1 <= i & i <= n;

          then

           A44: i in ( dom f1) by A43;

          assume

           A45: j = (p9 . i);

          assume that

           A46: H1 = (s1 . i) and

           A47: H2 = (s2 . j);

          assume that

           A48: N1 = (s1 . (i + 1)) and

           A49: N2 = (s2 . (j + 1));

          i in ( dom p9) by A44, FUNCT_2:def 1;

          then j in ( rng p9) by A45, FUNCT_1: 3;

          then j in ( Seg n);

          then j in ( dom f2) by A30, A39, A42, FINSEQ_1:def 3;

          then

           A50: (f2 . j) = (H2 ./. N2) by A40, A47, A49, Def33;

          (f1 . i) = (H1 ./. N1) by A38, A44, A46, A48, Def33;

          hence ((H1 ./. N1),(H2 ./. N2)) are_isomorphic by A29, A44, A45, A50;

        end;

        ( len s1) = ( len s2) by A30, A39, A40, Def33;

        hence thesis by A41;

      end;

    end;

    theorem :: GROUP_9:109

    

     Th109: s1 is_finer_than s2 & s2 is jordan_holder & ( len s1) > ( len s2) implies ex i st i in ( dom ( the_series_of_quotients_of s1)) & for H st H = (( the_series_of_quotients_of s1) . i) holds H is trivial

    proof

      assume

       A1: s1 is_finer_than s2;

      assume

       A2: s2 is jordan_holder;

      assume

       A3: ( len s1) > ( len s2);

      then not s1 is strictly_decreasing by A1, A2;

      then not for i st i in ( dom s1) & (i + 1) in ( dom s1) holds for H1, N1 st H1 = (s1 . i) & N1 = (s1 . (i + 1)) holds not (H1 ./. N1) is trivial;

      then

      consider i, H1, N1 such that

       A4: i in ( dom s1) and

       A5: (i + 1) in ( dom s1) and

       A6: H1 = (s1 . i) & N1 = (s1 . (i + 1)) & (H1 ./. N1) is trivial;

      (i + 1) in ( Seg ( len s1)) by A5, FINSEQ_1:def 3;

      then

       A7: (i + 1) <= ( len s1) by FINSEQ_1: 1;

      ( 0 + 1) <= (i + 1) by XREAL_1: 6;

      then

       A8: 1 <= ( len s1) by A7, XXREAL_0: 2;

      per cases ;

        suppose ( len s1) <= 1;

        then

         A9: ( len s1) = 1 by A8, XXREAL_0: 1;

        now

          let i;

          assume i in ( dom s1);

          then i in ( Seg 1) by A9, FINSEQ_1:def 3;

          then

           A10: i = 1 by FINSEQ_1: 2, TARSKI:def 1;

          assume

           A11: (i + 1) in ( dom s1);

          let H1, N1;

          assume H1 = (s1 . i);

          assume N1 = (s1 . (i + 1));

          assume (H1 ./. N1) is trivial;

          2 in ( Seg 1) by A9, A10, A11, FINSEQ_1:def 3;

          hence contradiction by FINSEQ_1: 2, TARSKI:def 1;

        end;

        then s1 is strictly_decreasing;

        hence thesis by A1, A2, A3;

      end;

        suppose

         A12: ( len s1) > 1;

        take i;

        

         A13: ((i + 1) - 1) <= (( len s1) - 1) by A7, XREAL_1: 9;

        i in ( Seg ( len s1)) by A4, FINSEQ_1:def 3;

        then

         A14: 1 <= i by FINSEQ_1: 1;

        ( len s1) = (( len ( the_series_of_quotients_of s1)) + 1) by A12, Def33;

        then i in ( Seg ( len ( the_series_of_quotients_of s1))) by A14, A13;

        hence

         A15: i in ( dom ( the_series_of_quotients_of s1)) by FINSEQ_1:def 3;

        let H;

        assume H = (( the_series_of_quotients_of s1) . i);

        hence thesis by A6, A12, A15, Def33;

      end;

    end;

    

     Lm39: for k,m be Element of NAT holds k < m iff k <= (m - 1)

    proof

      let k,m be Element of NAT ;

       A1:

      now

        assume k <= (m - 1);

        then

         A2: (k + 1) <= m by XREAL_1: 19;

        k < (k + 1) by XREAL_1: 29;

        hence k < m by A2, XXREAL_0: 2;

      end;

      now

        assume k < m;

        then (k + 1) <= m by INT_1: 7;

        hence k <= (m - 1) by XREAL_1: 19;

      end;

      hence thesis by A1;

    end;

    

     Lm40: for a be Element of NAT , fs be FinSequence holds a in ( dom fs) implies ex fs1,fs2 be FinSequence st fs = ((fs1 ^ <*(fs . a)*>) ^ fs2) & ( len fs1) = (a - 1) & ( len fs2) = (( len fs) - a)

    proof

      let a be Element of NAT ;

      let fs be FinSequence;

      assume

       A1: a in ( dom fs);

      then a >= 1 & a <= ( len fs) by FINSEQ_3: 25;

      then

      reconsider b = (( len fs) - a), d = (a - 1) as Element of NAT by INT_1: 5;

      ( len fs) = (a + b);

      then

      consider fs3,fs2 be FinSequence such that

       A2: ( len fs3) = a and

       A3: ( len fs2) = b and

       A4: fs = (fs3 ^ fs2) by FINSEQ_2: 22;

      a = (d + 1);

      then

      consider fs1 be FinSequence, v be object such that

       A5: fs3 = (fs1 ^ <*v*>) by A2, FINSEQ_2: 18;

      

       A6: (( len fs1) + 1) = (d + 1) by A2, A5, FINSEQ_2: 16;

      fs3 <> {} by A1, A2, FINSEQ_3: 25;

      then a in ( dom fs3) by A2, FINSEQ_5: 6;

      then (fs3 . a) = (fs . a) by A4, FINSEQ_1:def 7;

      then (fs . a) = v by A5, A6, FINSEQ_1: 42;

      hence thesis by A3, A4, A5, A6;

    end;

    

     Lm41: for a be Element of NAT , fs,fs1,fs2 be FinSequence, v be set holds a in ( dom fs) & fs = ((fs1 ^ <*v*>) ^ fs2) & ( len fs1) = (a - 1) implies ( Del (fs,a)) = (fs1 ^ fs2)

    proof

      let a be Element of NAT ;

      let fs,fs1,fs2 be FinSequence;

      let v be set;

      assume that

       A1: a in ( dom fs) and

       A2: fs = ((fs1 ^ <*v*>) ^ fs2) and

       A3: ( len fs1) = (a - 1);

      

       A4: (( len ( Del (fs,a))) + 1) = ( len fs) by A1, WSIERP_1:def 1;

      ( len fs) = (( len (fs1 ^ <*v*>)) + ( len fs2)) by A2, FINSEQ_1: 22

      .= ((( len fs1) + 1) + ( len fs2)) by FINSEQ_2: 16

      .= (a + ( len fs2)) by A3;

      then ( len ( Del (fs,a))) = (( len fs2) + ( len fs1)) by A3, A4;

      then

       A5: ( len (fs1 ^ fs2)) = ( len ( Del (fs,a))) by FINSEQ_1: 22;

      

       A6: ( len <*v*>) = 1 by FINSEQ_1: 39;

      

       A7: fs = (fs1 ^ ( <*v*> ^ fs2)) by A2, FINSEQ_1: 32;

      then ( len fs) = ((a - 1) + ( len ( <*v*> ^ fs2))) by A3, FINSEQ_1: 22;

      then

       A8: ( len ( <*v*> ^ fs2)) = (( len fs) - (a - 1));

      now

        let e be Nat;

        assume that

         A9: 1 <= e and

         A10: e <= ( len ( Del (fs,a)));

        reconsider e1 = e as Element of NAT by ORDINAL1:def 12;

        now

          per cases ;

            suppose

             A11: e < a;

            then e1 <= (a - 1) by Lm39;

            then

             A12: e in ( dom fs1) by A3, A9, FINSEQ_3: 25;

            

            hence ((fs1 ^ fs2) . e) = (fs1 . e) by FINSEQ_1:def 7

            .= (fs . e1) by A7, A12, FINSEQ_1:def 7

            .= (( Del (fs,a)) . e) by A1, A11, WSIERP_1:def 1;

          end;

            suppose

             A13: e >= a;

            then

             A14: e1 > (a - 1) by Lm39;

            then

             A15: (e + 1) > a by XREAL_1: 19;

            then ((e + 1) - a) > 0 by XREAL_1: 50;

            then

             A16: (((e + 1) - a) + 1) > ( 0 + 1) by XREAL_1: 6;

            

             A17: (e + 1) > (a - 1) by A15, XREAL_1: 146, XXREAL_0: 2;

            then ((e + 1) - (a - 1)) > 0 by XREAL_1: 50;

            then

            reconsider f = ((e + 1) - (a - 1)) as Element of NAT by INT_1: 3;

            

             A18: (e + 1) <= ( len fs) by A4, A10, XREAL_1: 6;

            then

             A19: ((e + 1) - (a - 1)) <= ( len ( <*v*> ^ fs2)) by A8, XREAL_1: 9;

            

            thus ((fs1 ^ fs2) . e) = (fs2 . (e - ( len fs1))) by A3, A5, A10, A14, FINSEQ_1: 24

            .= (fs2 . (f - 1)) by A3

            .= (( <*v*> ^ fs2) . f) by A6, A16, A19, FINSEQ_1: 24

            .= ((fs1 ^ ( <*v*> ^ fs2)) . (e1 + 1)) by A3, A7, A17, A18, FINSEQ_1: 24

            .= (( Del (fs,a)) . e) by A1, A7, A13, WSIERP_1:def 1;

          end;

        end;

        hence ((fs1 ^ fs2) . e) = (( Del (fs,a)) . e);

      end;

      hence thesis by A5;

    end;

    

     Lm42: for a be Element of NAT , fs1,fs2 be FinSequence holds (a <= ( len fs1) implies ( Del ((fs1 ^ fs2),a)) = (( Del (fs1,a)) ^ fs2)) & (a >= 1 implies ( Del ((fs1 ^ fs2),(( len fs1) + a))) = (fs1 ^ ( Del (fs2,a))))

    proof

      let a be Element of NAT ;

      let fs1,fs2 be FinSequence;

      set f = (fs1 ^ fs2);

      

       A1: ( len f) = (( len fs1) + ( len fs2)) by FINSEQ_1: 22;

       A2:

      now

        set f2 = (fs1 ^ ( Del (fs2,a)));

        set f1 = ( Del (f,(( len fs1) + a)));

        assume

         A3: a >= 1;

        now

          per cases ;

            suppose

             A4: a > ( len fs2);

            then

             A5: not a in ( dom fs2) by FINSEQ_3: 25;

            (( len fs1) + a) > ( len f) by A1, A4, XREAL_1: 6;

            then not (( len fs1) + a) in ( dom f) by FINSEQ_3: 25;

            

            hence f1 = (fs1 ^ fs2) by WSIERP_1:def 1

            .= f2 by A5, WSIERP_1:def 1;

          end;

            suppose

             A6: a <= ( len fs2);

            then

             A7: a in ( dom fs2) by A3, FINSEQ_3: 25;

            (a - 1) >= 0 by A3, XREAL_1: 48;

            then

             A8: ((a - 1) + ( len fs1)) >= ( 0 + ( len fs1)) by XREAL_1: 6;

            

             A9: (( len fs1) + a) >= 1 by A3, NAT_1: 12;

            (( len fs1) + a) <= ( len f) by A1, A6, XREAL_1: 6;

            then

             A10: (( len fs1) + a) in ( dom f) by A9, FINSEQ_3: 25;

            then

            consider g1,g2 be FinSequence such that

             A11: f = ((g1 ^ <*(f . (( len fs1) + a))*>) ^ g2) and

             A12: ( len g1) = ((( len fs1) + a) - 1) and ( len g2) = (( len f) - (( len fs1) + a)) by Lm40;

            

             A13: f1 = (g1 ^ g2) by A10, A11, A12, Lm41;

            f = (g1 ^ ( <*(f . (( len fs1) + a))*> ^ g2)) by A11, FINSEQ_1: 32;

            then

            consider t be FinSequence such that

             A14: (fs1 ^ t) = g1 by A12, A8, FINSEQ_1: 47;

            (fs1 ^ ((t ^ <*(f . (( len fs1) + a))*>) ^ g2)) = ((fs1 ^ (t ^ <*(f . (( len fs1) + a))*>)) ^ g2) by FINSEQ_1: 32

            .= f by A11, A14, FINSEQ_1: 32;

            then

             A15: fs2 = ((t ^ <*(f . (( len fs1) + a))*>) ^ g2) by FINSEQ_1: 33;

            (( len fs1) + (a - 1)) = (( len fs1) + ( len t)) by A12, A14, FINSEQ_1: 22;

            then ( Del (fs2,a)) = (t ^ g2) by A7, A15, Lm41;

            hence f1 = f2 by A13, A14, FINSEQ_1: 32;

          end;

        end;

        hence f1 = f2;

      end;

      now

        set f3 = <*(f . a)*>;

        set f2 = (( Del (fs1,a)) ^ fs2);

        set f1 = ( Del (f,a));

        assume

         A16: a <= ( len fs1);

        ( len fs1) <= ( len f) by A1, NAT_1: 11;

        then

         A17: a <= ( len f) by A16, XXREAL_0: 2;

        now

          per cases ;

            suppose

             A18: a < 1;

            then

             A19: not a in ( dom fs1) by FINSEQ_3: 25;

             not a in ( dom f) by A18, FINSEQ_3: 25;

            

            hence f1 = f by WSIERP_1:def 1

            .= f2 by A19, WSIERP_1:def 1;

          end;

            suppose

             A20: a >= 1;

            then

             A21: a in ( dom f) by A17, FINSEQ_3: 25;

            then

            consider g1,g2 be FinSequence such that

             A22: f = ((g1 ^ f3) ^ g2) and

             A23: ( len g1) = (a - 1) and ( len g2) = (( len f) - a) by Lm40;

            ( len (g1 ^ f3)) = ((a - 1) + 1) by A23, FINSEQ_2: 16

            .= a;

            then

            consider t be FinSequence such that

             A24: fs1 = ((g1 ^ f3) ^ t) by A16, A22, FINSEQ_1: 47;

            ((g1 ^ f3) ^ g2) = ((g1 ^ f3) ^ (t ^ fs2)) by A22, A24, FINSEQ_1: 32;

            then

             A25: g2 = (t ^ fs2) by FINSEQ_1: 33;

            a in ( dom fs1) by A16, A20, FINSEQ_3: 25;

            then

             A26: ( Del (fs1,a)) = (g1 ^ t) by A23, A24, Lm41;

            

            thus f1 = (g1 ^ g2) by A21, A22, A23, Lm41

            .= f2 by A26, A25, FINSEQ_1: 32;

          end;

        end;

        hence f1 = f2;

      end;

      hence thesis by A2;

    end;

    

     Lm43: for D be non empty set, f be FinSequence of D, p be Element of D, n be Nat st n in ( dom f) holds f = ( Del (( Ins (f,n,p)),(n + 1)))

    proof

      let D be non empty set;

      let f be FinSequence of D;

      let p be Element of D;

      let n be Nat;

      set fs1 = ((f | n) ^ <*p*>);

      set fs2 = (f /^ n);

      assume n in ( dom f);

      then n in ( Seg ( len f)) by FINSEQ_1:def 3;

      then n <= ( len f) by FINSEQ_1: 1;

      then

       A1: ( len (f | n)) = n by FINSEQ_1: 59;

      ( len fs1) = (( len (f | n)) + ( len <*p*>)) by FINSEQ_1: 22

      .= (n + 1) by A1, FINSEQ_1: 39;

      

      then ( Del (( Ins (f,n,p)),(n + 1))) = (( Del (fs1,(n + 1))) ^ fs2) by Lm42

      .= ((f | n) ^ fs2) by A1, WSIERP_1: 40;

      hence thesis by RFINSEQ: 8;

    end;

    theorem :: GROUP_9:110

    

     Th110: ( len s1) > 1 implies (s1 is jordan_holder iff for i st i in ( dom ( the_series_of_quotients_of s1)) holds (( the_series_of_quotients_of s1) . i) is strict simple GroupWithOperators of O)

    proof

      assume

       A1: ( len s1) > 1;

       A2:

      now

        assume

         A3: s1 is jordan_holder;

        assume not for i st i in ( dom ( the_series_of_quotients_of s1)) holds (( the_series_of_quotients_of s1) . i) is strict simple GroupWithOperators of O;

        then

        consider i such that

         A4: i in ( dom ( the_series_of_quotients_of s1)) and

         A5: not (( the_series_of_quotients_of s1) . i) is strict simple GroupWithOperators of O;

        

         A6: i in ( Seg ( len ( the_series_of_quotients_of s1))) by A4, FINSEQ_1:def 3;

        then

         A7: i <= ( len ( the_series_of_quotients_of s1)) by FINSEQ_1: 1;

        ( len s1) = (( len ( the_series_of_quotients_of s1)) + 1) by A1, Def33;

        then

         A8: (i + 1) <= ( len s1) by A7, XREAL_1: 6;

        ( 0 + 1) <= (i + 1) by XREAL_1: 6;

        then (i + 1) in ( Seg ( len s1)) by A8;

        then

         A10: (i + 1) in ( dom s1) by FINSEQ_1:def 3;

        ( 0 + ( len ( the_series_of_quotients_of s1))) < (1 + ( len ( the_series_of_quotients_of s1))) by XREAL_1: 6;

        then

         A11: ( len ( the_series_of_quotients_of s1)) < ( len s1) by A1, Def33;

        then

         A12: i <= ( len s1) by A7, XXREAL_0: 2;

        1 <= i by A6, FINSEQ_1: 1;

        then i in ( Seg ( len s1)) by A12;

        then

         A13: i in ( dom s1) by FINSEQ_1:def 3;

        then

        reconsider H1 = (s1 . i), N1 = (s1 . (i + 1)) as Element of ( the_stable_subgroups_of G) by A10, FINSEQ_2: 11;

        reconsider H1, N1 as strict StableSubgroup of G by Def11;

        reconsider N1 as strict normal StableSubgroup of H1 by A13, A10, Def28;

        

         A14: not (H1 ./. N1) is strict simple GroupWithOperators of O by A1, A4, A5, Def33;

        per cases by A14, Def13;

          suppose

           A15: (H1 ./. N1) is trivial;

          s1 is strictly_decreasing by A3;

          hence contradiction by A13, A10, A15;

        end;

          suppose ex H be strict normal StableSubgroup of (H1 ./. N1) st H <> ( (Omega). (H1 ./. N1)) & H <> ( (1). (H1 ./. N1));

          then

          consider H be strict normal StableSubgroup of (H1 ./. N1) such that

           A16: H <> ( (Omega). (H1 ./. N1)) and

           A17: H <> ( (1). (H1 ./. N1));

          N1 = ( Ker ( nat_hom N1)) by Th48;

          then

          consider N2 be strict StableSubgroup of H1 such that

           A18: the carrier of N2 = (( nat_hom N1) " the carrier of H) and

           A19: H is normal implies N1 is normal StableSubgroup of N2 & N2 is normal by Th78;

          

           A20: N2 is strict StableSubgroup of G by Th11;

          reconsider i as Element of NAT by ORDINAL1:def 12;

          

           A21: 1 <= i & s1 is non empty by A1, A6, FINSEQ_1: 1;

          reconsider N2 as Element of ( the_stable_subgroups_of G) by A20, Def11;

          set s2 = ( Ins (s1,i,N2));

          

           A22: ( len s2) = (( len s1) + 1) by FINSEQ_5: 69;

          then

           A23: s1 <> s2;

           A24:

          now

            let j be Nat;

            assume j in ( dom s2);

            then

             A26: j in ( Seg ( len s2)) by FINSEQ_1:def 3;

            then

             A27: 1 <= j by FINSEQ_1: 1;

            

             A28: j <= ( len s2) by A26, FINSEQ_1: 1;

            j < i or j = i or j > i by XXREAL_0: 1;

            then (j + 1) <= i or j = i or j >= (i + 1) by NAT_1: 13;

            then

             A29: ((j + 1) - 1) <= (i - 1) or j = i or j >= (i + 1) by XREAL_1: 9;

            assume (j + 1) in ( dom s2);

            then

             A31: (j + 1) in ( Seg ( len s2)) by FINSEQ_1:def 3;

            then

             A32: 1 <= (j + 1) by FINSEQ_1: 1;

            

             A33: (j + 1) <= ( len s2) by A31, FINSEQ_1: 1;

            let H19, H29;

            assume

             A34: H19 = (s2 . j);

            assume

             A35: H29 = (s2 . (j + 1));

            per cases by A29, XXREAL_0: 1;

              suppose

               A36: j <= (i - 1);

              

               A37: ( Seg ( len (s1 | i))) = ( Seg i) by A11, A7, FINSEQ_1: 59, XXREAL_0: 2;

              

               A38: ( dom (s1 | i)) c= ( dom s1) by RELAT_1: 60;

              (( - 1) + i) < ( 0 + i) by XREAL_1: 6;

              then j <= i by A36, XXREAL_0: 2;

              then j in ( Seg ( len (s1 | i))) by A27, A37;

              then

               A39: j in ( dom (s1 | i)) by FINSEQ_1:def 3;

              (j + 1) <= ((i - 1) + 1) by A36, XREAL_1: 6;

              then (j + 1) in ( Seg ( len (s1 | i))) by A32, A37;

              then

               A40: (j + 1) in ( dom (s1 | i)) by FINSEQ_1:def 3;

              

               A41: (s2 . (j + 1)) = (s1 . (j + 1)) by A40, FINSEQ_5: 72;

              (s2 . j) = (s1 . j) by A39, FINSEQ_5: 72;

              hence H29 is normal StableSubgroup of H19 by A34, A35, A38, A39, A40, A41, Def28;

            end;

              suppose

               A42: j = i;

              then

               A43: j in ( Seg i) by A27;

              ( Seg ( len (s1 | i))) = ( Seg i) by A11, A7, FINSEQ_1: 59, XXREAL_0: 2;

              then

               A44: j in ( dom (s1 | i)) by A43, FINSEQ_1:def 3;

              

               A46: (s2 . j) = (s1 . j) by A44, FINSEQ_5: 72;

              (s2 . (j + 1)) = N2 by A11, A7, A42, FINSEQ_5: 73, XXREAL_0: 2;

              hence H29 is normal StableSubgroup of H19 by A19, A34, A35, A42, A46;

            end;

              suppose

               A47: j = (i + 1);

              then

               A48: H19 = N2 by A34, A11, A7, FINSEQ_5: 73, XXREAL_0: 2;

              H29 = (s1 . (i + 1)) by A35, A47, A8, FINSEQ_5: 74;

              hence H29 is normal StableSubgroup of H19 by A19, A48;

            end;

              suppose

               A50: (i + 1) < j;

              set j9 = (j - 1);

              ( 0 + 1) <= (i + 1) by XREAL_1: 6;

              then

               A51: ( 0 + 1) < j by A50, XXREAL_0: 2;

              then

               A52: (( 0 + 1) - 1) < (j - 1) by XREAL_1: 9;

              then

              reconsider j9 as Element of NAT by INT_1: 3;

              

               A53: (j - 1) <= (( len s2) - 1) by A28, XREAL_1: 9;

              ( 0 + 1) <= j9 by A52, NAT_1: 13;

              then

               A54: j9 in ( dom s1) by A22, A53, FINSEQ_3: 25;

              ((i + 1) + 1) <= j by A50, NAT_1: 13;

              then

               A55: (((i + 1) + 1) - 1) <= (j - 1) by XREAL_1: 9;

              ( 0 + j9) < (1 + j9) by XREAL_1: 6;

              then

               A56: (i + 1) <= (j9 + 1) by A55, XXREAL_0: 2;

              

               A57: ((j + 1) - 1) <= (( len s2) - 1) by A33, XREAL_1: 9;

              then

               A58: (j9 + 1) in ( dom s1) by A22, A51, FINSEQ_3: 25;

              

               A59: (s2 . (j + 1)) = (s1 . (j9 + 1)) by A22, A56, A57, FINSEQ_5: 74;

              (s2 . j) = (s2 . (j9 + 1))

              .= (s1 . j9) by A22, A55, A53, FINSEQ_5: 74;

              hence H29 is normal StableSubgroup of H19 by A34, A35, A54, A58, A59, Def28;

            end;

          end;

          

           A63: (s2 . ( len s2)) = (s2 . (( len s1) + 1)) by FINSEQ_5: 69

          .= (s1 . ( len s1)) by A8, FINSEQ_5: 74

          .= ( (1). G) by Def28;

          (s2 . 1) = (s1 . 1) by A21, FINSEQ_5: 75

          .= ( (Omega). G) by Def28;

          then

          reconsider s2 as CompositionSeries of G by A63, A24, Def28;

          now

            let j be Nat;

            assume j in ( dom s2);

            then

             A65: j in ( Seg ( len s2)) by FINSEQ_1:def 3;

            then

             A66: 1 <= j by FINSEQ_1: 1;

            j < i or j = i or j > i by XXREAL_0: 1;

            then (j + 1) <= i or j = i or j >= (i + 1) by NAT_1: 13;

            then

             A67: ((j + 1) - 1) <= (i - 1) or j = i or j >= (i + 1) by XREAL_1: 9;

            assume (j + 1) in ( dom s2);

            then

             A69: (j + 1) in ( Seg ( len s2)) by FINSEQ_1:def 3;

            then

             A70: 1 <= (j + 1) by FINSEQ_1: 1;

            

             A71: (j + 1) <= ( len s2) by A69, FINSEQ_1: 1;

            let H19, N19;

            assume

             A72: H19 = (s2 . j);

            

             A73: j <= ( len s2) by A65, FINSEQ_1: 1;

            

             A74: s1 is strictly_decreasing by A3;

            assume

             A75: N19 = (s2 . (j + 1));

            per cases by A67, XXREAL_0: 1;

              suppose

               A76: j <= (i - 1);

              ( Seg ( len (s1 | i))) = ( Seg i) by A11, A7, FINSEQ_1: 59, XXREAL_0: 2;

              then

               S: ( dom (s1 | i)) = ( Seg i) by FINSEQ_1:def 3;

              

               A78: ( dom (s1 | i)) c= ( dom s1) by RELAT_1: 60;

              (( - 1) + i) < ( 0 + i) by XREAL_1: 6;

              then j <= i by A76, XXREAL_0: 2;

              then

               A79: j in ( dom (s1 | i)) by A66, S;

              (j + 1) <= ((i - 1) + 1) by A76, XREAL_1: 6;

              then

               A80: (j + 1) in ( dom (s1 | i)) by A70, S;

              then

               A81: (s2 . (j + 1)) = (s1 . (j + 1)) by FINSEQ_5: 72;

              (s2 . j) = (s1 . j) by A79, FINSEQ_5: 72;

              hence not (H19 ./. N19) is trivial by A72, A75, A74, A78, A79, A80, A81;

            end;

              suppose

               A82: j = i;

              then

               A83: j in ( Seg i) by A66;

              ( Seg ( len (s1 | i))) = ( Seg i) by A11, A7, FINSEQ_1: 59, XXREAL_0: 2;

              then

               A84: j in ( dom (s1 | i)) by A83, FINSEQ_1:def 3;

              

               A85: (s2 . (j + 1)) = N2 by A82, A11, A7, FINSEQ_5: 73, XXREAL_0: 2;

              reconsider N2 as normal StableSubgroup of H1 by A19;

              

               A87: (s2 . j) = (s1 . j) by A84, FINSEQ_5: 72;

              now

                assume (H19 ./. N19) is trivial;

                then H1 = N2 by A72, A75, A82, A85, A87, Th76;

                hence contradiction by A16, A18, Th80;

              end;

              hence not (H19 ./. N19) is trivial;

            end;

              suppose

               A88: j = (i + 1);

              then

               A89: H19 = N2 by A72, A11, A7, FINSEQ_5: 73, XXREAL_0: 2;

              

               A91: N19 = (s1 . (i + 1)) by A8, FINSEQ_5: 74, A75, A88;

              now

                assume (H19 ./. N19) is trivial;

                then the carrier of N1 = (( nat_hom N1) " the carrier of H) by A18, A89, A91, Th76;

                hence contradiction by A17, Th81;

              end;

              hence not (H19 ./. N19) is trivial;

            end;

              suppose

               A92: (i + 1) < j;

              set j9 = (j - 1);

              

               A93: ( 0 + 1) <= (i + 1) by XREAL_1: 6;

              then ( 0 + 1) < j by A92, XXREAL_0: 2;

              then

               A94: (( 0 + 1) - 1) < (j - 1) by XREAL_1: 9;

              then

              reconsider j9 as Element of NAT by INT_1: 3;

              

               A95: ((j + 1) - 1) <= (( len s2) - 1) by A71, XREAL_1: 9;

              ((i + 1) + 1) <= j by A92, NAT_1: 13;

              then

               A96: (((i + 1) + 1) - 1) <= (j - 1) by XREAL_1: 9;

              1 <= (j9 + 1) by A92, A93, XXREAL_0: 2;

              then

               A97: (j9 + 1) in ( dom s1) by A22, A95, FINSEQ_3: 25;

              ( 0 + j9) < (1 + j9) by XREAL_1: 6;

              then

               A98: (i + 1) <= (j9 + 1) by A96, XXREAL_0: 2;

              

               A99: (s2 . (j + 1)) = (s1 . (j9 + 1)) by A22, A98, A95, FINSEQ_5: 74;

              

               A100: (j - 1) <= (( len s2) - 1) by A73, XREAL_1: 9;

              ( 0 + 1) <= j9 by A94, NAT_1: 13;

              then

               A101: j9 in ( dom s1) by A22, A100, FINSEQ_3: 25;

              (s2 . j) = (s2 . (j9 + 1))

              .= (s1 . j9) by A22, A96, A100, FINSEQ_5: 74;

              hence not (H19 ./. N19) is trivial by A72, A75, A74, A101, A97, A99;

            end;

          end;

          then

           A102: s2 is strictly_decreasing;

          (( dom s2) \ {(i + 1)}) c= ( dom s2) & s1 = ( Del (s2,(i + 1))) by A13, Lm43, XBOOLE_1: 36;

          then s2 is_finer_than s1;

          hence contradiction by A3, A23, A102;

        end;

      end;

      now

        assume

         A103: for i st i in ( dom ( the_series_of_quotients_of s1)) holds (( the_series_of_quotients_of s1) . i) is strict simple GroupWithOperators of O;

        assume

         A104: not s1 is jordan_holder;

        per cases by A104;

          suppose not s1 is strictly_decreasing;

          then not for i st i in ( dom s1) & (i + 1) in ( dom s1) holds for H1, N1 st H1 = (s1 . i) & N1 = (s1 . (i + 1)) holds not (H1 ./. N1) is trivial;

          then

          consider i, H1, N1 such that

           A105: i in ( dom s1) and

           A106: (i + 1) in ( dom s1) and

           A107: H1 = (s1 . i) & N1 = (s1 . (i + 1)) and

           A108: (H1 ./. N1) is trivial;

          

           A109: (i + 1) <= ( len s1) by FINSEQ_3: 25, A106;

          

           A110: 1 <= i by A105, FINSEQ_3: 25;

          then (1 + 1) <= (i + 1) by XREAL_1: 6;

          then (1 + 1) <= ( len s1) by A109, XXREAL_0: 2;

          then

           A111: ( len s1) > 1 by NAT_1: 13;

          then (( len ( the_series_of_quotients_of s1)) + 1) = ( len s1) by Def33;

          then ( len ( the_series_of_quotients_of s1)) = (( len s1) - 1);

          then ((i + 1) - 1) <= ( len ( the_series_of_quotients_of s1)) by A109, XREAL_1: 9;

          then i in ( Seg ( len ( the_series_of_quotients_of s1))) by A110;

          then

           A112: i in ( dom ( the_series_of_quotients_of s1)) by FINSEQ_1:def 3;

          then (( the_series_of_quotients_of s1) . i) = (H1 ./. N1) by A107, A111, Def33;

          then (H1 ./. N1) is strict simple GroupWithOperators of O by A103, A112;

          hence contradiction by A108, Def13;

        end;

          suppose ex s2 st s2 <> s1 & s2 is strictly_decreasing & s2 is_finer_than s1;

          then

          consider s2 such that

           A113: s2 <> s1 and

           A114: s2 is strictly_decreasing and

           A115: s2 is_finer_than s1;

          consider i, j such that

           A116: i in ( dom s1) and

           A117: i in ( dom s2) and

           A118: (i + 1) in ( dom s1) and

           A119: (i + 1) in ( dom s2) and

           A120: j in ( dom s2) & (i + 1) < j and

           A121: (s1 . i) = (s2 . i) and

           A122: (s1 . (i + 1)) <> (s2 . (i + 1)) and

           A123: (s1 . (i + 1)) = (s2 . j) by A1, A113, A114, A115, Th100;

          reconsider H1 = (s1 . i), H2 = (s1 . (i + 1)), H = (s2 . (i + 1)) as Element of ( the_stable_subgroups_of G) by A116, A118, A119, FINSEQ_2: 11;

          reconsider H1, H2, H as strict StableSubgroup of G by Def11;

          reconsider H2 as strict normal StableSubgroup of H1 by A116, A118, Def28;

          reconsider H as strict normal StableSubgroup of H1 by A117, A119, A121, Def28;

          reconsider H29 = H2 as normal StableSubgroup of H by A119, A120, A123, Th40, Th101;

          reconsider J = (H ./. H29) as strict normal StableSubgroup of (H1 ./. H2) by Th44;

           A124:

          now

            assume J = ( (Omega). (H1 ./. H2));

            then

             A125: the carrier of H = ( union ( Cosets H2)) by Th22;

            then

             A126: H = H1 by Lm4, Th22;

            then

            reconsider H1 as strict normal StableSubgroup of H;

            H1 = ( (Omega). H) by A125, Lm4, Th22;

            then (H ./. H1) is trivial by Th57;

            hence contradiction by A114, A117, A119, A121, A126;

          end;

          reconsider H3 = the HGrWOpStr of H2 as strict normal StableSubgroup of H by A119, A120, A123, Th40, Th101;

          now

            assume J = ( (1). (H1 ./. H2));

            then ( union ( Cosets H3)) = ( union {( 1_ (H1 ./. H2))}) by Def8;

            then the carrier of H = ( union {( 1_ (H1 ./. H2))}) by Th22;

            then the carrier of H = ( 1_ (H1 ./. H2)) by ZFMISC_1: 25;

            then the carrier of H = ( carr H2) by Th43;

            hence contradiction by A122, Lm4;

          end;

          then

           A127: not (H1 ./. H2) is simple GroupWithOperators of O by A124, Def13;

          (i + 1) in ( Seg ( len s1)) by A118, FINSEQ_1:def 3;

          then

           A128: (i + 1) <= ( len s1) by FINSEQ_1: 1;

          i in ( Seg ( len s1)) by A116, FINSEQ_1:def 3;

          then

           A129: 1 <= i by FINSEQ_1: 1;

          then (1 + 1) <= (i + 1) by XREAL_1: 6;

          then (1 + 1) <= ( len s1) by A128, XXREAL_0: 2;

          then

           A130: ( len s1) > 1 by NAT_1: 13;

          then (( len ( the_series_of_quotients_of s1)) + 1) = ( len s1) by Def33;

          then ( len ( the_series_of_quotients_of s1)) = (( len s1) - 1);

          then ((i + 1) - 1) <= ( len ( the_series_of_quotients_of s1)) by A128, XREAL_1: 9;

          then i in ( Seg ( len ( the_series_of_quotients_of s1))) by A129;

          then

           A131: i in ( dom ( the_series_of_quotients_of s1)) by FINSEQ_1:def 3;

          then (( the_series_of_quotients_of s1) . i) = (H1 ./. H2) by A130, Def33;

          hence contradiction by A103, A127, A131;

        end;

      end;

      hence thesis by A2;

    end;

    theorem :: GROUP_9:111

    

     Th111: 1 <= i & i <= (( len s1) - 1) implies (s1 . i) is strict StableSubgroup of G & (s1 . (i + 1)) is strict StableSubgroup of G

    proof

      assume that

       A1: 1 <= i and

       A2: i <= (( len s1) - 1);

      

       A3: ( 0 + i) <= (1 + i) by XREAL_1: 6;

      

       A4: (i + 1) <= ((( len s1) - 1) + 1) by A2, XREAL_1: 6;

      then i <= ( len s1) by A3, XXREAL_0: 2;

      then i in ( Seg ( len s1)) by A1;

      then i in ( dom s1) by FINSEQ_1:def 3;

      then (s1 . i) is Element of ( the_stable_subgroups_of G) by FINSEQ_2: 11;

      hence (s1 . i) is strict StableSubgroup of G by Def11;

      1 <= (i + 1) by A1, A3, XXREAL_0: 2;

      then (i + 1) in ( Seg ( len s1)) by A4;

      then (i + 1) in ( dom s1) by FINSEQ_1:def 3;

      then (s1 . (i + 1)) is Element of ( the_stable_subgroups_of G) by FINSEQ_2: 11;

      hence thesis by Def11;

    end;

    theorem :: GROUP_9:112

    

     Th112: 1 <= i & i <= (( len s1) - 1) & H1 = (s1 . i) & H2 = (s1 . (i + 1)) implies H2 is normal StableSubgroup of H1

    proof

      assume that

       A1: 1 <= i and

       A2: i <= (( len s1) - 1);

      

       A3: (i + 1) <= ((( len s1) - 1) + 1) by A2, XREAL_1: 6;

      

       A4: ( 0 + i) <= (1 + i) by XREAL_1: 6;

      then 1 <= (i + 1) by A1, XXREAL_0: 2;

      then (i + 1) in ( Seg ( len s1)) by A3;

      then

       A5: (i + 1) in ( dom s1) by FINSEQ_1:def 3;

      i <= ( len s1) by A4, A3, XXREAL_0: 2;

      then i in ( Seg ( len s1)) by A1;

      then

       A6: i in ( dom s1) by FINSEQ_1:def 3;

      assume H1 = (s1 . i) & H2 = (s1 . (i + 1));

      hence thesis by A5, A6, Def28;

    end;

    theorem :: GROUP_9:113

    

     Th113: s1 is_equivalent_with s1

    proof

      per cases ;

        suppose s1 is empty;

        hence thesis;

      end;

        suppose

         A1: not s1 is empty;

        set f1 = ( the_series_of_quotients_of s1);

        now

          set p = ( id ( dom f1));

          reconsider p as Function of ( dom f1), ( dom f1);

          p is onto;

          then

          reconsider p as Permutation of ( dom f1);

          take p;

           A2:

          now

            let H1,H2 be GroupWithOperators of O;

            let i, j;

            assume

             A3: i in ( dom f1) & j = ((p " ) . i);

            

             A4: (p " ) = p by FUNCT_1: 45;

            assume H1 = (f1 . i) & H2 = (f1 . j);

            hence (H1,H2) are_isomorphic by A3, A4, FUNCT_1: 18;

          end;

          thus (f1,f1) are_equivalent_under (p,O) by A2;

        end;

        hence thesis by A1, Th108;

      end;

    end;

    theorem :: GROUP_9:114

    

     Th114: (( len s1) <= 1 or ( len s2) <= 1) & ( len s1) <= ( len s2) implies s2 is_finer_than s1

    proof

      assume

       A1: ( len s1) <= 1 or ( len s2) <= 1;

      assume

       A2: ( len s1) <= ( len s2);

      then

       A3: ( len s1) <= 1 by A1, XXREAL_0: 2;

      per cases ;

        suppose

         A4: ( len s1) = 1;

        then

         A5: s1 = <*(s1 . 1)*> by FINSEQ_1: 40;

        now

          reconsider D = ( Seg ( len s2)) as non empty set by A2, A4;

          set x = {1};

          take x;

          set f = s2;

          set p = <*1*>;

          ( dom f) = ( Seg ( len s2)) & ( rng f) c= ( the_stable_subgroups_of G) by FINSEQ_1:def 3;

          then

          reconsider f as Function of D, ( the_stable_subgroups_of G) by FUNCT_2: 2;

          

           A6: 1 in ( Seg ( len s2)) by A2, A4;

          then 1 in ( dom s2) by FINSEQ_1:def 3;

          hence x c= ( dom s2) by ZFMISC_1: 31;

           {1} c= D by A6, ZFMISC_1: 31;

          then ( rng p) c= D by FINSEQ_1: 38;

          then

          reconsider p as FinSequence of D by FINSEQ_1:def 4;

          ( Sgm x) = p & (f * p) = <*(f . 1)*> by FINSEQ_2: 35, FINSEQ_3: 44;

          then (s2 * ( Sgm x)) = <*( (Omega). G)*> by Def28;

          hence s1 = (s2 * ( Sgm x)) by A5, Def28;

        end;

        hence thesis;

      end;

        suppose ( len s1) <> 1;

        then ( len s1) < ( 0 + 1) by A3, XXREAL_0: 1;

        then

         A7: s1 = {} by NAT_1: 13;

        now

          set x = {} ;

          take x;

          thus x c= ( dom s2);

          thus s1 = (s2 * ( Sgm x)) by A7, FINSEQ_3: 43;

        end;

        hence thesis;

      end;

    end;

    theorem :: GROUP_9:115

    

     Th115: s1 is_equivalent_with s2 & s1 is jordan_holder implies s2 is jordan_holder

    proof

      assume

       A1: s1 is_equivalent_with s2;

      assume

       A2: s1 is jordan_holder;

      per cases ;

        suppose

         A3: ( len s1) <= ( 0 + 1);

        per cases by A3, NAT_1: 25;

          suppose

           A4: ( len s1) = 0 ;

          then ( len s2) = 0 by A1;

          then

           A5: s2 = {} ;

          s1 = {} by A4;

          hence thesis by A2, A5;

        end;

          suppose

           A6: ( len s1) = 1;

          then

           A7: (s1 . 1) = ( (1). G) by Def28;

          

           A8: ( len s2) = 1 by A1, A6;

          s1 = <*(s1 . 1)*> by A6, FINSEQ_1: 40

          .= <*(s2 . 1)*> by A7, A8, Def28

          .= s2 by A8, FINSEQ_1: 40;

          hence thesis by A2;

        end;

      end;

        suppose

         A9: ( len s1) > 1;

        set f2 = ( the_series_of_quotients_of s2);

        set f1 = ( the_series_of_quotients_of s1);

        

         A10: not s1 is empty by A9;

        

         A11: ( len s2) > 1 by A1, A9;

        then not s2 is empty;

        then

        consider p be Permutation of ( dom ( the_series_of_quotients_of s1)) such that

         A12: (( the_series_of_quotients_of s1),( the_series_of_quotients_of s2)) are_equivalent_under (p,O) by A1, A10, Th108;

        

         A13: ( len f1) = ( len f2) by A12;

        now

          let j;

          set i = (p . j);

          set H1 = (f1 . i);

          set H2 = (f2 . j);

          assume

           A14: j in ( dom f2);

          then

           A15: (f2 . j) in ( rng f2) by FUNCT_1: 3;

          

           A16: ( dom f1) = ( Seg ( len f1)) by FINSEQ_1:def 3

          .= ( dom f2) by FINSEQ_1:def 3, A12;

          then

           A17: (p . j) in ( dom f2) by A14, FUNCT_2: 5;

          then

          reconsider i as Element of NAT ;

          (p . j) in ( Seg ( len f2)) by A17, FINSEQ_1:def 3;

          then

           A18: i in ( dom f1) by A13, FINSEQ_1:def 3;

          then (f1 . i) in ( rng f1) by FUNCT_1: 3;

          then

          reconsider H1, H2 as strict GroupWithOperators of O by A15, Th102;

          i in ( dom f1) & j = ((p " ) . i) by A14, A16, FUNCT_2: 5, FUNCT_2: 26;

          then

           A19: (H1,H2) are_isomorphic by A12;

          H1 is strict simple GroupWithOperators of O by A2, A9, A18, Th110;

          hence (f2 . j) is strict simple GroupWithOperators of O by A19, Th82;

        end;

        hence thesis by A11, Th110;

      end;

    end;

    

     Lm44: for k,l be Nat st k in ( Seg l) & ( len s1) > 1 & ( len s2) > 1 & l = (((( len s1) - 1) * (( len s2) - 1)) + 1) holds k = (((( len s1) - 1) * (( len s2) - 1)) + 1) or ex i, j st k = (((i - 1) * (( len s2) - 1)) + j) & 1 <= i & i <= (( len s1) - 1) & 1 <= j & j <= (( len s2) - 1)

    proof

      let k,l be Nat;

      set l9 = (( len s1) - 1);

      set l99 = (( len s2) - 1);

      assume

       A1: k in ( Seg l);

      then

       A2: k <= l by FINSEQ_1: 1;

      assume that

       A3: ( len s1) > 1 and

       A4: ( len s2) > 1 and

       A5: l = (((( len s1) - 1) * (( len s2) - 1)) + 1);

      assume not k = (((( len s1) - 1) * (( len s2) - 1)) + 1);

      then

       A6: k < l by A2, A5, XXREAL_0: 1;

      (( len s2) + 1) > (1 + 1) by A4, XREAL_1: 6;

      then ( len s2) >= 2 by NAT_1: 13;

      then

       A7: (( len s2) - 1) >= (2 - 1) by XREAL_1: 9;

      (( len s1) - 1) > (1 - 1) by A3, XREAL_1: 9;

      then

      reconsider l9 as Element of NAT by INT_1: 3;

      

       A8: (( len s2) - 1) > (1 - 1) by A4, XREAL_1: 9;

      then

      reconsider l99 as Element of NAT by INT_1: 3;

      

       A9: k = (((k div l99) * l99) + (k mod l99)) by A8, NAT_D: 2;

      per cases ;

        suppose

         A10: (k mod l99) = 0 ;

        set i = (k div l99);

        set j = l99;

        take i, j;

        thus k = (((i - 1) * (( len s2) - 1)) + j) by A9, A10;

        i > 0 by A1, A9, A10, FINSEQ_1: 1;

        then (i + 1) > ( 0 + 1) by XREAL_1: 6;

        hence 1 <= i by NAT_1: 13;

        (i * l99) <= ((( len s1) - 1) * l99) by A5, A6, A9, A10, INT_1: 7;

        then ((i * l99) / l99) <= (((( len s1) - 1) * l99) / l99) by XREAL_1: 72;

        then i <= (((( len s1) - 1) * l99) / l99) by A8, XCMPLX_1: 89;

        hence i <= (( len s1) - 1) by A8, XCMPLX_1: 89;

        thus thesis by A7;

      end;

        suppose

         A11: (k mod l99) <> 0 ;

        set i = ((k div l99) + 1);

        set j = (k mod l99);

        take i, j;

        thus k = (((i - 1) * (( len s2) - 1)) + j) by A8, NAT_D: 2;

        ( 0 + 1) <= ((k div l99) + 1) by XREAL_1: 6;

        hence 1 <= i;

        (k + 1) <= l by A6, INT_1: 7;

        then

         A12: ((k + 1) - 1) <= (l - 1) by XREAL_1: 9;

        ((k mod l99) + (l99 * (k div l99))) >= ( 0 + (l99 * (k div l99))) by XREAL_1: 6;

        then

         A13: ((k div l99) * l99) <= k by A8, NAT_D: 2;

        k <> (l9 * l99) by A11, NAT_D: 13;

        then k < ((( len s1) - 1) * l99) by A5, A12, XXREAL_0: 1;

        then ((k div l99) * l99) < ((( len s1) - 1) * l99) by A13, XXREAL_0: 2;

        then (((k div l99) * l99) / l99) < (((( len s1) - 1) * l99) / l99) by A8, XREAL_1: 74;

        then (k div l99) < (((( len s1) - 1) * l99) / l99) by A8, XCMPLX_1: 89;

        then (k div l99) < (( len s1) - 1) by A8, XCMPLX_1: 89;

        hence i <= (( len s1) - 1) by INT_1: 7;

        (j + 1) > ( 0 + 1) by A11, XREAL_1: 6;

        hence 1 <= j by NAT_1: 13;

        thus thesis by A8, NAT_D: 1;

      end;

    end;

    

     Lm45: for i1,j1,i2,j2 be Nat, s1, s2 st ( len s2) > 1 & (((i1 - 1) * (( len s2) - 1)) + j1) = (((i2 - 1) * (( len s2) - 1)) + j2) & 1 <= i1 & 1 <= j1 & j1 <= (( len s2) - 1) & 1 <= i2 & 1 <= j2 & j2 <= (( len s2) - 1) holds j1 = j2 & i1 = i2

    proof

      let i1,j1,i2,j2 be Nat;

      let s1, s2;

      set l99 = (( len s2) - 1);

      set i19 = (i1 - 1);

      set i29 = (i2 - 1);

      assume ( len s2) > 1;

      then

       A1: (( len s2) - 1) > (1 - 1) by XREAL_1: 9;

      then

      reconsider l99 as Element of NAT by INT_1: 3;

      

       A2: (l99 / l99) = 1 by A1, XCMPLX_1: 60;

      assume

       A3: (((i1 - 1) * (( len s2) - 1)) + j1) = (((i2 - 1) * (( len s2) - 1)) + j2);

      assume that

       A4: 1 <= i1 and

       A5: 1 <= j1 and

       A6: j1 <= (( len s2) - 1);

      (i1 - 1) >= (1 - 1) by A4, XREAL_1: 9;

      then

      reconsider i19 as Element of NAT by INT_1: 3;

      assume that

       A7: 1 <= i2 and

       A8: 1 <= j2 and

       A9: j2 <= (( len s2) - 1);

      (i2 - 1) >= (1 - 1) by A7, XREAL_1: 9;

      then

      reconsider i29 as Element of NAT by INT_1: 3;

      

       A10: (j1 mod l99) = (((i19 * l99) + j1) mod l99) by NAT_D: 21

      .= (((i29 * l99) + j2) mod l99) by A3

      .= (j2 mod l99) by NAT_D: 21;

      

       A11: j1 = j2

      proof

        per cases ;

          suppose

           A12: j1 = l99;

          assume j2 <> j1;

          then j2 < l99 by A9, A12, XXREAL_0: 1;

          then j2 = (j1 mod l99) by A10, NAT_D: 24;

          hence contradiction by A8, A12, NAT_D: 25;

        end;

          suppose j1 <> l99;

          then j1 < l99 by A6, XXREAL_0: 1;

          then

           A13: j1 = (j2 mod l99) by A10, NAT_D: 24;

          per cases ;

            suppose j2 = l99;

            hence thesis by A5, A13, NAT_D: 25;

          end;

            suppose j2 <> l99;

            then j2 < l99 by A9, XXREAL_0: 1;

            hence thesis by A13, NAT_D: 24;

          end;

        end;

      end;

      hence j1 = j2;

      (i19 * (l99 / l99)) = ((i29 * l99) / l99) by A3, A11, XCMPLX_1: 74;

      then (i19 * 1) = (i29 * 1) by A2, XCMPLX_1: 74;

      hence thesis;

    end;

    

     Lm46: for k be Integer, i,j be Nat, s1, s2 st ( len s2) > 1 & k = (((i - 1) * (( len s2) - 1)) + j) & 1 <= i & i <= (( len s1) - 1) & 1 <= j & j <= (( len s2) - 1) holds 1 <= k & k <= ((( len s1) - 1) * (( len s2) - 1))

    proof

      let k be Integer;

      let i,j be Nat;

      let s1, s2;

      set l9 = (( len s1) - 1);

      set l99 = (( len s2) - 1);

      assume ( len s2) > 1;

      then

       A1: (( len s2) - 1) > (1 - 1) by XREAL_1: 9;

      assume

       A2: k = (((i - 1) * (( len s2) - 1)) + j);

      assume that

       A3: 1 <= i and

       A4: i <= (( len s1) - 1);

      assume that

       A5: 1 <= j and

       A6: j <= (( len s2) - 1);

      (i - 1) <= (l9 - 1) by A4, XREAL_1: 9;

      then ((i - 1) * l99) <= ((l9 - 1) * l99) by A1, XREAL_1: 64;

      then

       A7: k <= (((l9 * l99) - (1 * l99)) + l99) by A2, A6, XREAL_1: 7;

      (1 - 1) <= (i - 1) by A3, XREAL_1: 9;

      then ( 0 + 1) <= (((i - 1) * (( len s2) - 1)) + j) by A5, A1, XREAL_1: 7;

      hence thesis by A2, A7;

    end;

    begin

    definition

      let O, G, s1, s2;

      assume that

       A1: ( len s1) > 1 and

       A2: ( len s2) > 1;

      :: GROUP_9:def35

      func the_schreier_series_of (s1,s2) -> CompositionSeries of G means

      : Def35: for k,i,j be Nat, H1,H2,H3 be StableSubgroup of G holds (k = (((i - 1) * (( len s2) - 1)) + j) & 1 <= i & i <= (( len s1) - 1) & 1 <= j & j <= (( len s2) - 1) & H1 = (s1 . (i + 1)) & H2 = (s1 . i) & H3 = (s2 . j) implies (it . k) = (H1 "\/" (H2 /\ H3))) & (k = (((( len s1) - 1) * (( len s2) - 1)) + 1) implies (it . k) = ( (1). G)) & ( len it ) = (((( len s1) - 1) * (( len s2) - 1)) + 1);

      existence

      proof

        (( len s2) - 1) > (1 - 1) by A2, XREAL_1: 9;

        then

        reconsider l99 = (( len s2) - 1) as Element of NAT by INT_1: 3;

        (( len s2) + 1) > (1 + 1) by A2, XREAL_1: 6;

        then ( len s2) >= 2 by NAT_1: 13;

        then

         A3: (( len s2) - 1) >= (2 - 1) by XREAL_1: 9;

        (( len s1) - 1) > (1 - 1) by A1, XREAL_1: 9;

        then

        reconsider l9 = (( len s1) - 1) as Element of NAT by INT_1: 3;

        defpred P[ set, object] means for i,j be Nat, H1,H2,H3 be StableSubgroup of G holds ($1 = (((i - 1) * (( len s2) - 1)) + j) & 1 <= i & i <= (( len s1) - 1) & 1 <= j & j <= (( len s2) - 1) & H1 = (s1 . (i + 1)) & H2 = (s1 . i) & H3 = (s2 . j) implies $2 = (H1 "\/" (H2 /\ H3))) & ($1 = (((( len s1) - 1) * (( len s2) - 1)) + 1) implies $2 = ( (1). G));

        (( len s2) - 1) > (1 - 1) by A2, XREAL_1: 9;

        then

         A4: (l99 / l99) = 1 by XCMPLX_1: 60;

        (( len s1) + 1) > (1 + 1) by A1, XREAL_1: 6;

        then ( len s1) >= 2 by NAT_1: 13;

        then

         A5: (( len s1) - 1) >= (2 - 1) by XREAL_1: 9;

        then

         A6: (((( len s1) - 1) * (( len s2) - 1)) + 1) >= ( 0 + 1) by A3, XREAL_1: 6;

        reconsider l = (((( len s1) - 1) * (( len s2) - 1)) + 1) as Element of NAT by A5, A3, INT_1: 3;

        

         A7: 1 in ( Seg l) by A6;

        

         A8: for k be Nat st k = (((( len s1) - 1) * (( len s2) - 1)) + 1) holds not ex i, j st k = (((i - 1) * (( len s2) - 1)) + j) & 1 <= i & i <= (( len s1) - 1) & 1 <= j & j <= (( len s2) - 1)

        proof

          let k be Nat;

          assume

           A9: k = (((( len s1) - 1) * (( len s2) - 1)) + 1);

          assume ex i, j st k = (((i - 1) * (( len s2) - 1)) + j) & 1 <= i & i <= (( len s1) - 1) & 1 <= j & j <= (( len s2) - 1);

          then

          consider i, j such that

           A10: k = (((i - 1) * (( len s2) - 1)) + j) and

           A11: 1 <= i and

           A12: i <= (( len s1) - 1) and

           A13: 1 <= j and

           A14: j <= (( len s2) - 1);

          set i9 = (i - 1);

          (i - 1) >= (1 - 1) by A11, XREAL_1: 9;

          then

          reconsider i9 as Element of NAT by INT_1: 3;

          

           A15: (1 mod l99) = (((l9 * l99) + 1) mod l99) by NAT_D: 21

          .= (((i9 * l99) + j) mod l99) by A9, A10

          .= (j mod l99) by NAT_D: 21;

          j = 1

          proof

            per cases ;

              suppose

               A16: j = l99;

              assume j <> 1;

              then 1 < l99 by A13, A16, XXREAL_0: 1;

              then 1 = (j mod l99) by A15, NAT_D: 24;

              hence contradiction by A16, NAT_D: 25;

            end;

              suppose j <> l99;

              then j < l99 by A14, XXREAL_0: 1;

              then

               A17: (j mod l99) = j by NAT_D: 24;

              per cases ;

                suppose 1 = l99;

                hence thesis by A13, A14, XXREAL_0: 1;

              end;

                suppose

                 A18: 1 <> l99;

                1 <= l99 by A13, A14, XXREAL_0: 2;

                then 1 < l99 by A18, XXREAL_0: 1;

                hence thesis by A15, A17, NAT_D: 24;

              end;

            end;

          end;

          then

           A19: (l9 * (l99 / l99)) = ((i9 * l99) / l99) by A9, A10, XCMPLX_1: 74;

          (l99 / l99) = 1 by A13, A14, XCMPLX_1: 60;

          then

           A20: (l9 * 1) = (i9 * 1) by A19, XCMPLX_1: 74;

          (( - 1) + i) < ( 0 + i) by XREAL_1: 6;

          hence contradiction by A12, A20;

        end;

        

         A21: for k be Nat st k in ( Seg l) holds ex x be object st P[k, x]

        proof

          let k be Nat;

          assume

           A22: k in ( Seg l);

          per cases by A1, A2, A22, Lm44;

            suppose

             A23: ex i, j st k = (((i - 1) * (( len s2) - 1)) + j) & 1 <= i & i <= (( len s1) - 1) & 1 <= j & j <= (( len s2) - 1);

            then

            consider i, j such that

             A24: k = (((i - 1) * (( len s2) - 1)) + j) and

             A25: 1 <= i and

             A26: i <= (( len s1) - 1) and

             A27: 1 <= j & j <= (( len s2) - 1);

            reconsider H1 = (s1 . (i + 1)), H2 = (s1 . i), H3 = (s2 . j) as StableSubgroup of G by A25, A26, A27, Th111;

            take x = (H1 "\/" (H2 /\ H3));

            now

              let i1,j1 be Nat;

              let H1,H2,H3 be StableSubgroup of G;

              thus k = (((i1 - 1) * (( len s2) - 1)) + j1) & 1 <= i1 & i1 <= (( len s1) - 1) & 1 <= j1 & j1 <= (( len s2) - 1) & H1 = (s1 . (i1 + 1)) & H2 = (s1 . i1) & H3 = (s2 . j1) implies x = (H1 "\/" (H2 /\ H3))

              proof

                assume that

                 A28: k = (((i1 - 1) * (( len s2) - 1)) + j1) and

                 A29: 1 <= i1 and i1 <= (( len s1) - 1) and

                 A30: 1 <= j1 & j1 <= (( len s2) - 1);

                assume

                 A31: H1 = (s1 . (i1 + 1)) & H2 = (s1 . i1) & H3 = (s2 . j1);

                i = i1 by A2, A24, A25, A27, A28, A29, A30, Lm45;

                hence thesis by A24, A28, A31;

              end;

              assume k = (((( len s1) - 1) * (( len s2) - 1)) + 1);

              hence x = ( (1). G) by A8, A23;

            end;

            hence thesis;

          end;

            suppose

             A32: k = (((( len s1) - 1) * (( len s2) - 1)) + 1);

            take ( (1). G);

            thus thesis by A8, A32;

          end;

        end;

        consider f be FinSequence such that

         A33: ( dom f) = ( Seg l) & for k be Nat st k in ( Seg l) holds P[k, (f . k)] from FINSEQ_1:sch 1( A21);

        for k be Nat st k in ( dom f) holds (f . k) in ( the_stable_subgroups_of G)

        proof

          let k be Nat;

          assume

           A34: k in ( dom f);

          then

           A35: for i,j be Nat, H1,H2,H3 be StableSubgroup of G holds (k = (((i - 1) * (( len s2) - 1)) + j) & 1 <= i & i <= (( len s1) - 1) & 1 <= j & j <= (( len s2) - 1) & H1 = (s1 . (i + 1)) & H2 = (s1 . i) & H3 = (s2 . j) implies (f . k) = (H1 "\/" (H2 /\ H3))) & (k = (((( len s1) - 1) * (( len s2) - 1)) + 1) implies (f . k) = ( (1). G)) by A33;

          per cases by A1, A2, A33, A34, Lm44;

            suppose ex i, j st k = (((i - 1) * (( len s2) - 1)) + j) & 1 <= i & i <= (( len s1) - 1) & 1 <= j & j <= (( len s2) - 1);

            then

            consider i, j such that

             A36: k = (((i - 1) * (( len s2) - 1)) + j) and

             A37: 1 <= i & i <= (( len s1) - 1) & 1 <= j & j <= (( len s2) - 1);

            reconsider H1 = (s1 . (i + 1)), H2 = (s1 . i), H3 = (s2 . j) as StableSubgroup of G by A37, Th111;

            (f . k) = (H1 "\/" (H2 /\ H3)) by A33, A34, A36, A37;

            hence thesis by Def11;

          end;

            suppose k = (((( len s1) - 1) * (( len s2) - 1)) + 1);

            hence thesis by A35, Def11;

          end;

        end;

        then

        reconsider f as FinSequence of ( the_stable_subgroups_of G) by FINSEQ_2: 12;

        l in ( Seg l) by A6;

        then P[l, (f . l)] by A33;

        then

         A38: (f . ( len f)) = ( (1). G) by A33, FINSEQ_1:def 3;

        

         A39: for i, s1, H st 1 <= i & i <= (( len s1) - 1) & H = (s1 . i) holds (s1 . (i + 1)) is normal StableSubgroup of H

        proof

          let i, s1, H;

          assume that

           A40: 1 <= i and

           A41: i <= (( len s1) - 1);

          

           A42: ( 0 + i) <= (1 + i) by XREAL_1: 6;

          

           A43: (i + 1) <= ((( len s1) - 1) + 1) by A41, XREAL_1: 6;

          then i <= ( len s1) by A42, XXREAL_0: 2;

          then i in ( Seg ( len s1)) by A40;

          then

           A44: i in ( dom s1) by FINSEQ_1:def 3;

          reconsider H1 = (s1 . i), H2 = (s1 . (i + 1)) as StableSubgroup of G by A40, A41, Th111;

          assume

           A45: H = (s1 . i);

          1 <= (i + 1) by A40, A42, XXREAL_0: 2;

          then (i + 1) in ( Seg ( len s1)) by A43;

          then (i + 1) in ( dom s1) by FINSEQ_1:def 3;

          then H2 is normal StableSubgroup of H1 by A44, Def28;

          hence thesis by A45;

        end;

        

         A46: for k be Nat st k in ( dom f) & (k + 1) in ( dom f) holds for H1, H2 st H1 = (f . k) & H2 = (f . (k + 1)) holds H2 is normal StableSubgroup of H1

        proof

          let k be Nat;

          assume

           A47: k in ( dom f);

          set k9 = (k + 1);

          assume

           A48: (k + 1) in ( dom f);

          then (k + 1) <= l by A33, FINSEQ_1: 1;

          then k <> l by NAT_1: 13;

          then

          consider i, j such that

           A49: k = (((i - 1) * (( len s2) - 1)) + j) and

           A50: 1 <= i and

           A51: i <= (( len s1) - 1) and

           A52: 1 <= j and

           A53: j <= (( len s2) - 1) by A1, A2, A33, A47, Lm44;

          reconsider H19 = (s1 . (i + 1)), H29 = (s1 . i), H39 = (s2 . j) as strict StableSubgroup of G by A50, A51, A52, A53, Th111;

          

           A54: (f . k) = (H19 "\/" (H29 /\ H39)) by A33, A47, A49, A50, A51, A52, A53;

          let H1, H2;

          assume

           A55: H1 = (f . k);

          

           A56: H19 is normal StableSubgroup of H29 by A39, A50, A51;

          assume

           A57: H2 = (f . (k + 1));

          per cases ;

            suppose

             A58: j <> (( len s2) - 1);

            reconsider j9 = (j + 1) as Nat;

            j < (( len s2) - 1) by A53, A58, XXREAL_0: 1;

            then

             A59: j9 <= (( len s2) - 1) by INT_1: 7;

            reconsider H399 = (s2 . j9) as strict StableSubgroup of G by A52, A53, Th111;

            ( 0 + j) <= (1 + j) by XREAL_1: 6;

            then

             A60: 1 <= j9 by A52, XXREAL_0: 2;

            

             A61: H399 is normal StableSubgroup of H39 by A39, A52, A53;

            k9 = (((i - 1) * (( len s2) - 1)) + j9) by A49;

            then H2 = (H19 "\/" (H29 /\ H399)) by A33, A48, A50, A51, A57, A59, A60;

            hence thesis by A55, A56, A54, A61, Th92;

          end;

            suppose

             A62: j = (( len s2) - 1);

            per cases ;

              suppose

               A63: i <> (( len s1) - 1);

              set i9 = (i + 1);

              

               A64: ( 0 + i9) <= (1 + i9) by XREAL_1: 6;

              set j9 = 1;

              H19 is StableSubgroup of H1 by A55, A54, Th35;

              then H19 is Subgroup of H1 by Def7;

              then

               A65: the carrier of H19 c= the carrier of H1 by GROUP_2:def 5;

              (1 + 1) <= (i + 1) by A50, XREAL_1: 6;

              then

               A66: 1 <= i9 by XXREAL_0: 2;

              i < l9 by A51, A63, XXREAL_0: 1;

              then

               A67: (i + 1) <= l9 by NAT_1: 13;

              then

               A68: (i9 + 1) <= ((( len s1) - 1) + 1) by XREAL_1: 6;

              then i9 <= ( len s1) by A64, XXREAL_0: 2;

              then i9 in ( Seg ( len s1)) by A66;

              then

               A69: i9 in ( dom s1) by FINSEQ_1:def 3;

              (( len s2) - 1) > (1 - 1) by A2, XREAL_1: 9;

              then

               A70: l99 >= ( 0 + 1) by NAT_1: 13;

              then

              reconsider H199 = (s1 . (i9 + 1)), H299 = (s1 . i9), H399 = (s2 . j9) as strict StableSubgroup of G by A67, A66, Th111;

              1 <= (i9 + 1) by A66, A64, XXREAL_0: 2;

              then (i9 + 1) in ( Seg ( len s1)) by A68;

              then (i9 + 1) in ( dom s1) by FINSEQ_1:def 3;

              then

               A71: H199 is normal StableSubgroup of H299 by A69, Def28;

              now

                let x be object;

                H299 is Subgroup of G by Def7;

                then

                 A72: the carrier of H299 c= the carrier of G by GROUP_2:def 5;

                assume x in the carrier of H299;

                hence x in the carrier of ( (Omega). G) by A72;

              end;

              then the carrier of H299 c= the carrier of ( (Omega). G);

              then

               A73: the carrier of H299 = (the carrier of H299 /\ the carrier of ( (Omega). G)) by XBOOLE_1: 28;

              

               A74: H399 = ( (Omega). G) by Def28;

              k9 = (((i9 - 1) * (( len s2) - 1)) + j9) by A49, A62;

              then H2 = (H199 "\/" (H299 /\ H399)) by A33, A48, A57, A67, A66, A70;

              then H2 = (H199 "\/" H299) by A74, A73, Th18;

              then

               A75: H2 = H19 by A71, Th36;

              (H29 /\ H39) is StableSubgroup of H29 by Lm33;

              then

               A76: H1 is StableSubgroup of H29 by A55, A56, A54, Th37;

              then

               A77: H1 is Subgroup of H29 by Def7;

              now

                let H9 be strict Subgroup of H1;

                assume

                 A78: H9 = the multMagma of H2;

                now

                  let a be Element of H1;

                  reconsider a9 = a as Element of H29 by A76, Th2;

                  now

                    reconsider H1s9 = the multMagma of H19 as normal Subgroup of H29 by A56, Lm6;

                    let x be object;

                    assume x in (a * H9);

                    then

                    consider b be Element of H1 such that

                     A79: x = (a * b) and

                     A80: b in H9 by GROUP_2: 103;

                    set b9 = b;

                    

                     A81: H1 is Subgroup of H29 by A76, Def7;

                    then

                    reconsider b9 as Element of H29 by GROUP_2: 42;

                    x = (a9 * b9) by A79, A81, GROUP_2: 43;

                    then (a9 * H1s9) c= (H1s9 * a9) & x in (a9 * H1s9) by A75, A78, A80, GROUP_2: 103, GROUP_3: 118;

                    then

                    consider b99 be Element of H29 such that

                     A82: x = (b99 * a9) and

                     A83: b99 in H1s9 by GROUP_2: 104;

                    b99 in the carrier of H19 by A83, STRUCT_0:def 5;

                    then

                    reconsider b99 as Element of H1 by A65;

                    x = (b99 * a) by A77, A82, GROUP_2: 43;

                    hence x in (H9 * a) by A75, A78, A83, GROUP_2: 104;

                  end;

                  hence (a * H9) c= (H9 * a);

                end;

                hence H9 is normal by GROUP_3: 118;

              end;

              hence thesis by A55, A54, A75, Def10, Th35;

            end;

              suppose i = (( len s1) - 1);

              

              then H2 = ( (1). G) by A33, A48, A49, A57, A62

              .= ( (1). H1) by Th15;

              hence thesis;

            end;

          end;

        end;

        (( len s1) - 1) > (1 - 1) & (( len s2) - 1) > (1 - 1) by A1, A2, XREAL_1: 9;

        then ((( len s1) - 1) * (( len s2) - 1)) > ( 0 * (( len s2) - 1)) by XREAL_1: 68;

        then 1 <> l;

        then

        consider i, j such that

         A84: 1 = (((i - 1) * (( len s2) - 1)) + j) and

         A85: 1 <= i and

         A86: i <= (( len s1) - 1) and

         A87: 1 <= j and

         A88: j <= (( len s2) - 1) by A1, A2, A7, Lm44;

        set i9 = (i - 1);

        (i - 1) >= (1 - 1) by A85, XREAL_1: 9;

        then

        reconsider i9 as Element of NAT by INT_1: 3;

        reconsider H1 = (s1 . (i + 1)), H2 = (s1 . i), H3 = (s2 . j) as StableSubgroup of G by A85, A86, A87, A88, Th111;

        (1 mod l99) = (((i9 * l99) + j) mod l99) by A84;

        then

         A89: (1 mod l99) = (j mod l99) by NAT_D: 21;

        

         A90: j = 1

        proof

          per cases ;

            suppose l99 = 1;

            hence thesis by A87, A88, XXREAL_0: 1;

          end;

            suppose l99 <> 1;

            then 1 < l99 by A3, XXREAL_0: 1;

            then

             A91: 1 = (j mod l99) by A89, NAT_D: 14;

            then j <> l99 by NAT_D: 25;

            then l99 > j by A88, XXREAL_0: 1;

            hence thesis by A91, NAT_D: 24;

          end;

        end;

        then

         A92: H3 = ( (Omega). G) by Def28;

        ((i9 * l99) / l99) = ( 0 / l99) by A84, A90;

        then (i9 * 1) = 0 by A4, XCMPLX_1: 74;

        then

         A93: H2 = ( (Omega). G) by Def28;

        (f . 1) = (H1 "\/" (H2 /\ H3)) by A33, A7, A84, A85, A86, A87, A88;

        then (f . 1) = (H1 "\/" ( (Omega). G)) by A93, A92, Th19;

        then (f . 1) = ( (Omega). G) by Th34;

        then

        reconsider f as CompositionSeries of G by A38, A46, Def28;

        take f;

        let k,i,j be Nat, H1,H2,H3 be StableSubgroup of G;

        

         A94: for k,i,j be Nat st k = (((i - 1) * (( len s2) - 1)) + j) & 1 <= i & i <= (( len s1) - 1) & 1 <= j & j <= (( len s2) - 1) holds k in ( Seg l)

        proof

          let k,i,j be Nat;

          assume

           A95: k = (((i - 1) * (( len s2) - 1)) + j);

          assume that

           A96: 1 <= i and

           A97: i <= (( len s1) - 1);

          assume that

           A98: 1 <= j and

           A99: j <= (( len s2) - 1);

          (i - 1) <= (l9 - 1) by A97, XREAL_1: 9;

          then ((i - 1) * l99) <= ((l9 - 1) * l99) by XREAL_1: 64;

          then ( 0 + (l9 * l99)) <= (1 + (l9 * l99)) & k <= (((l9 * l99) - (1 * l99)) + l99) by A95, A99, XREAL_1: 7;

          then

           A100: k <= (((( len s1) - 1) * (( len s2) - 1)) + 1) by XXREAL_0: 2;

          (1 - 1) <= (i - 1) by A96, XREAL_1: 9;

          then ( 0 + 1) <= (((i - 1) * (( len s2) - 1)) + j) by A3, A98, XREAL_1: 7;

          hence thesis by A95, A100;

        end;

        now

          assume that

           A101: k = (((i - 1) * (( len s2) - 1)) + j) & 1 <= i & i <= (( len s1) - 1) & 1 <= j & j <= (( len s2) - 1) and

           A102: H1 = (s1 . (i + 1)) & H2 = (s1 . i) & H3 = (s2 . j);

          k in ( Seg l) by A94, A101;

          hence (f . k) = (H1 "\/" (H2 /\ H3)) by A33, A101, A102;

        end;

        hence k = (((i - 1) * (( len s2) - 1)) + j) & 1 <= i & i <= (( len s1) - 1) & 1 <= j & j <= (( len s2) - 1) & H1 = (s1 . (i + 1)) & H2 = (s1 . i) & H3 = (s2 . j) implies (f . k) = (H1 "\/" (H2 /\ H3));

        now

          assume

           A103: k = (((( len s1) - 1) * (( len s2) - 1)) + 1);

          then k in ( Seg l) by A6;

          hence (f . k) = ( (1). G) by A33, A103;

        end;

        hence thesis by A33, FINSEQ_1:def 3;

      end;

      uniqueness

      proof

        let f1,f2 be CompositionSeries of G;

        assume

         A104: for k,i,j be Nat, H1,H2,H3 be StableSubgroup of G holds (k = (((i - 1) * (( len s2) - 1)) + j) & 1 <= i & i <= (( len s1) - 1) & 1 <= j & j <= (( len s2) - 1) & H1 = (s1 . (i + 1)) & H2 = (s1 . i) & H3 = (s2 . j) implies (f1 . k) = (H1 "\/" (H2 /\ H3))) & (k = (((( len s1) - 1) * (( len s2) - 1)) + 1) implies (f1 . k) = ( (1). G)) & ( len f1) = (((( len s1) - 1) * (( len s2) - 1)) + 1);

        assume

         A105: for k,i,j be Nat, H1,H2,H3 be StableSubgroup of G holds (k = (((i - 1) * (( len s2) - 1)) + j) & 1 <= i & i <= (( len s1) - 1) & 1 <= j & j <= (( len s2) - 1) & H1 = (s1 . (i + 1)) & H2 = (s1 . i) & H3 = (s2 . j) implies (f2 . k) = (H1 "\/" (H2 /\ H3))) & (k = (((( len s1) - 1) * (( len s2) - 1)) + 1) implies (f2 . k) = ( (1). G)) & ( len f2) = (((( len s1) - 1) * (( len s2) - 1)) + 1);

         A106:

        now

          set l = ( len f1);

          let k be Nat;

          assume k in ( dom f1);

          then

           A107: k in ( Seg l) by FINSEQ_1:def 3;

          per cases by A1, A2, A104, A107, Lm44;

            suppose ex i, j st k = (((i - 1) * (( len s2) - 1)) + j) & 1 <= i & i <= (( len s1) - 1) & 1 <= j & j <= (( len s2) - 1);

            then

            consider i, j such that

             A108: k = (((i - 1) * (( len s2) - 1)) + j) and

             A109: 1 <= i & i <= (( len s1) - 1) & 1 <= j & j <= (( len s2) - 1);

            reconsider H1 = (s1 . (i + 1)), H2 = (s1 . i), H3 = (s2 . j) as StableSubgroup of G by A109, Th111;

            (f1 . k) = (H1 "\/" (H2 /\ H3)) by A104, A108, A109;

            hence (f1 . k) = (f2 . k) by A105, A108, A109;

          end;

            suppose

             A110: k = (((( len s1) - 1) * (( len s2) - 1)) + 1);

            then (f1 . k) = ( (1). G) by A104;

            hence (f1 . k) = (f2 . k) by A105, A110;

          end;

        end;

        ( dom f1) = ( Seg ( len f2)) by A104, A105, FINSEQ_1:def 3

        .= ( dom f2) by FINSEQ_1:def 3;

        hence thesis by A106, FINSEQ_1: 13;

      end;

    end

    theorem :: GROUP_9:116

    

     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 be 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 be 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 be 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 be 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 be 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 be 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;

    theorem :: GROUP_9:117

    

     Th117: ( len s1) > 1 & ( len s2) > 1 implies ( the_schreier_series_of (s1,s2)) is_equivalent_with ( the_schreier_series_of (s2,s1))

    proof

      assume that

       A1: ( len s1) > 1 and

       A2: ( len s2) > 1;

      set s21 = ( the_schreier_series_of (s2,s1));

      

       A3: (( len s1) - 1) > (1 - 1) & (( len s2) - 1) > (1 - 1) by A1, A2, XREAL_1: 9;

      set s12 = ( the_schreier_series_of (s1,s2));

      

       A4: ( len s12) = (((( len s1) - 1) * (( len s2) - 1)) + 1) by A1, A2, Def35;

      

       A5: ( len s21) = (((( len s1) - 1) * (( len s2) - 1)) + 1) by A1, A2, Def35;

      then

       A6: not s21 is empty by A3;

      ((( len s1) - 1) * (( len s2) - 1)) > ( 0 * (( len s2) - 1)) by A3, XREAL_1: 68;

      then

       A7: (((( len s1) - 1) * (( len s2) - 1)) + 1) > ( 0 + 1) by XREAL_1: 6;

       A8:

      now

        set p = { [(((j - 1) * (( len s1) - 1)) + i), (((i - 1) * (( len s2) - 1)) + j)] where i,j be Element of NAT : 1 <= i & i <= (( len s1) - 1) & 1 <= j & j <= (( len s2) - 1) };

        now

          let x be object;

          assume x in p;

          then

          consider i,j be Element of NAT such that

           A9: [(((j - 1) * (( len s1) - 1)) + i), (((i - 1) * (( len s2) - 1)) + j)] = x and 1 <= i and i <= (( len s1) - 1) and 1 <= j and j <= (( len s2) - 1);

          set z = (((i - 1) * (( len s2) - 1)) + j);

          set y = (((j - 1) * (( len s1) - 1)) + i);

          reconsider y, z as object;

          take y, z;

          thus x = [y, z] by A9;

        end;

        then

        reconsider p as Relation by RELAT_1:def 1;

        set X = ( dom ( the_series_of_quotients_of s12));

        set f1 = ( the_series_of_quotients_of s12);

        set f2 = ( the_series_of_quotients_of s21);

        now

          let x,y1,y2 be object;

          assume [x, y1] in p;

          then

          consider i1,j1 be Element of NAT such that

           A10: [(((j1 - 1) * (( len s1) - 1)) + i1), (((i1 - 1) * (( len s2) - 1)) + j1)] = [x, y1] and

           A11: 1 <= i1 & i1 <= (( len s1) - 1) & 1 <= j1 and j1 <= (( len s2) - 1);

          

           A12: (((j1 - 1) * (( len s1) - 1)) + i1) = x by A10, XTUPLE_0: 1;

          assume [x, y2] in p;

          then

          consider i2,j2 be Element of NAT such that

           A13: [(((j2 - 1) * (( len s1) - 1)) + i2), (((i2 - 1) * (( len s2) - 1)) + j2)] = [x, y2] and

           A14: 1 <= i2 & i2 <= (( len s1) - 1) & 1 <= j2 and j2 <= (( len s2) - 1);

          

           A15: (((j2 - 1) * (( len s1) - 1)) + i2) = x by A13, XTUPLE_0: 1;

          then j1 = j2 by A1, A11, A14, A12, Lm45;

          hence y1 = y2 by A10, A13, A12, A15, XTUPLE_0: 1;

        end;

        then

        reconsider p as Function by FUNCT_1:def 1;

        

         A16: ( len s12) > 1 by A1, A2, A7, Def35;

        then

         A17: (( len f1) + 1) = ( len s12) by Def33;

        

         A18: ( len s12) = (((( len s1) - 1) * (( len s2) - 1)) + 1) by A1, A2, Def35;

        now

          set l9 = ((( len s1) - 1) * (( len s2) - 1));

          reconsider l9 as Element of NAT by A3, INT_1: 3;

          let y be object;

          assume

           A19: y in X;

          then

          reconsider k = y as Element of NAT ;

          

           A20: y in ( Seg ( len f1)) by A19, FINSEQ_1:def 3;

          then

           A21: 1 <= k by FINSEQ_1: 1;

          

           A22: k <= ((( len s1) - 1) * (( len s2) - 1)) by A17, A18, A20, FINSEQ_1: 1;

          ( 0 + ((( len s1) - 1) * (( len s2) - 1))) <= (1 + ((( len s1) - 1) * (( len s2) - 1))) by XREAL_1: 6;

          then k <= (l9 + 1) by A22, XXREAL_0: 2;

          then

           A23: k in ( Seg (l9 + 1)) by A21;

          k <> (l9 + 1) by A22, NAT_1: 13;

          then

          consider i,j be Nat such that

           A24: k = (((i - 1) * (( len s2) - 1)) + j) & 1 <= i & i <= (( len s1) - 1) & 1 <= j & j <= (( len s2) - 1) by A1, A2, A23, Lm44;

          reconsider j, i as Element of NAT by INT_1: 3;

          set x = (((j - 1) * (( len s1) - 1)) + i);

          reconsider x as set;

           [x, y] in p by A24;

          hence y in ( rng p) by XTUPLE_0:def 13;

        end;

        then

         A25: X c= ( rng p);

        

         A26: X = ( Seg ( len f1)) by FINSEQ_1:def 3;

        now

          set l9 = ((( len s1) - 1) * (( len s2) - 1));

          reconsider l9 as Element of NAT by A3, INT_1: 3;

          let x be object;

          assume

           A27: x in X;

          then

          reconsider k = x as Element of NAT ;

          

           A28: k <= ((( len s1) - 1) * (( len s2) - 1)) by A17, A18, A26, A27, FINSEQ_1: 1;

          ( 0 + ((( len s1) - 1) * (( len s2) - 1))) <= (1 + ((( len s1) - 1) * (( len s2) - 1))) by XREAL_1: 6;

          then

           A29: k <= (l9 + 1) by A28, XXREAL_0: 2;

          1 <= k by A26, A27, FINSEQ_1: 1;

          then

           A30: k in ( Seg (l9 + 1)) by A29;

          k <> (l9 + 1) by A28, NAT_1: 13;

          then

          consider j,i be Nat such that

           A31: k = (((j - 1) * (( len s1) - 1)) + i) & 1 <= j & j <= (( len s2) - 1) & 1 <= i & i <= (( len s1) - 1) by A1, A2, A30, Lm44;

          reconsider j, i as Element of NAT by INT_1: 3;

          set y = (((i - 1) * (( len s2) - 1)) + j);

          reconsider y as set;

           [x, y] in p by A31;

          hence x in ( dom p) by XTUPLE_0:def 12;

        end;

        then

         A32: X c= ( dom p);

        now

          let y be object;

          set k = y;

          assume y in ( rng p);

          then

          consider x be object such that

           A33: [x, y] in p by XTUPLE_0:def 13;

          consider i,j be Element of NAT such that

           A34: [(((j - 1) * (( len s1) - 1)) + i), (((i - 1) * (( len s2) - 1)) + j)] = [x, y] and

           A35: 1 <= i & i <= (( len s1) - 1) & 1 <= j & j <= (( len s2) - 1) by A33;

          

           A36: k = (((i - 1) * (( len s2) - 1)) + j) by A34, XTUPLE_0: 1;

          reconsider k as Integer by A34, XTUPLE_0: 1;

          1 <= k by A2, A35, A36, Lm46;

          then

          reconsider k as Element of NAT by INT_1: 3;

          1 <= k & k <= ( len f1) by A2, A17, A18, A35, A36, Lm46;

          hence y in X by A26;

        end;

        then ( rng p) c= X;

        then

         A37: ( rng p) = X by A25, XBOOLE_0:def 10;

        now

          let x be object;

          set k = x;

          assume x in ( dom p);

          then

          consider y be object such that

           A38: [x, y] in p by XTUPLE_0:def 12;

          consider i,j be Element of NAT such that

           A39: [(((j - 1) * (( len s1) - 1)) + i), (((i - 1) * (( len s2) - 1)) + j)] = [x, y] and

           A40: 1 <= i & i <= (( len s1) - 1) & 1 <= j & j <= (( len s2) - 1) by A38;

          

           A41: k = (((j - 1) * (( len s1) - 1)) + i) by A39, XTUPLE_0: 1;

          reconsider k as Integer by A39, XTUPLE_0: 1;

          1 <= k by A1, A40, A41, Lm46;

          then

          reconsider k as Element of NAT by INT_1: 3;

          1 <= k & k <= ( len f1) by A1, A17, A18, A40, A41, Lm46;

          hence x in X by A26;

        end;

        then ( dom p) c= X;

        then

         A42: ( dom p) = X by A32, XBOOLE_0:def 10;

        then

        reconsider p as Function of X, X by A37, FUNCT_2: 1;

        

         A43: p is onto by A37;

        now

          let x1,x2 be object;

          assume that

           A44: x1 in X and

           A45: x2 in X;

          assume

           A46: (p . x1) = (p . x2);

           [x1, (p . x1)] in p by A32, A44, FUNCT_1:def 2;

          then

          consider i1,j1 be Element of NAT such that

           A47: [(((j1 - 1) * (( len s1) - 1)) + i1), (((i1 - 1) * (( len s2) - 1)) + j1)] = [x1, (p . x1)] and

           A48: 1 <= i1 and i1 <= (( len s1) - 1) and

           A49: 1 <= j1 & j1 <= (( len s2) - 1);

           [x2, (p . x2)] in p by A32, A45, FUNCT_1:def 2;

          then

          consider i2,j2 be Element of NAT such that

           A50: [(((j2 - 1) * (( len s1) - 1)) + i2), (((i2 - 1) * (( len s2) - 1)) + j2)] = [x2, (p . x2)] and

           A51: 1 <= i2 and i2 <= (( len s1) - 1) and

           A52: 1 <= j2 & j2 <= (( len s2) - 1);

          

           A53: (((i2 - 1) * (( len s2) - 1)) + j2) = (p . x2) by A50, XTUPLE_0: 1;

          

           A54: (((i1 - 1) * (( len s2) - 1)) + j1) = (p . x1) by A47, XTUPLE_0: 1;

          then i1 = i2 by A2, A46, A48, A49, A51, A52, A53, Lm45;

          hence x1 = x2 by A46, A47, A50, A54, A53, XTUPLE_0: 1;

        end;

        then p is one-to-one by FUNCT_2: 56;

        then

        reconsider p as Permutation of X by A43;

        take p;

        

         A55: ( len s21) > 1 by A1, A2, A7, Def35;

        then

         A56: (( len f2) + 1) = ( len s21) by Def33;

        now

          (( len s2) + 1) > (1 + 1) by A2, XREAL_1: 6;

          then ( len s2) >= 2 by NAT_1: 13;

          then

           A57: (( len s2) - 1) >= (2 - 1) by XREAL_1: 9;

          set l = (((( len s1) - 1) * (( len s2) - 1)) + 1);

          let H1,H2 be GroupWithOperators of O;

          let k1,k2 be Nat;

          assume that

           A58: k1 in ( dom f1) and

           A59: k2 = ((p " ) . k1);

          (( 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 A57, INT_1: 3;

          assume that

           A60: H1 = (f1 . k1) and

           A61: H2 = (f2 . k2);

          

           A62: ( len s12) = (((( len s1) - 1) * (( len s2) - 1)) + 1) by A1, A2, Def35;

          ( 0 + ((( len s1) - 1) * (( len s2) - 1))) <= (1 + ((( len s1) - 1) * (( len s2) - 1))) by XREAL_1: 6;

          then

           A63: ( Seg ( len f1)) c= ( Seg l) by A17, A62, FINSEQ_1: 5;

          

           A64: k1 in ( Seg ( len f1)) by A58, FINSEQ_1:def 3;

          then k1 <= ( len f1) by FINSEQ_1: 1;

          then k1 <> (((( len s1) - 1) * (( len s2) - 1)) + 1) by A17, A62, NAT_1: 13;

          then

          consider i,j be Nat such that

           A65: k1 = (((i - 1) * (( len s2) - 1)) + j) and

           A66: 1 <= i and

           A67: i <= (( len s1) - 1) and

           A68: 1 <= j and

           A69: j <= (( len s2) - 1) by A1, A2, A64, A63, Lm44;

          reconsider H = (s1 . i), K = (s2 . j), H9 = (s1 . (i + 1)), K9 = (s2 . (j + 1)) as strict StableSubgroup of G by A66, A67, A68, A69, Th111;

          

           A70: ((p " ) . k1) in ( rng (p " )) by A58, FUNCT_2: 4;

          (p . k2) = k1 by A25, A58, A59, FUNCT_1: 35;

          then [k2, k1] in p by A42, A59, A70, FUNCT_1: 1;

          then

          consider i9,j9 be Element of NAT such that

           A71: [k2, k1] = [(((j9 - 1) * (( len s1) - 1)) + i9), (((i9 - 1) * (( len s2) - 1)) + j9)] and

           A72: 1 <= i9 and i9 <= (( len s1) - 1) and

           A73: 1 <= j9 & j9 <= (( len s2) - 1);

          set JK = (K9 "\/" (K /\ H9));

          

           A74: (((i - 1) * (( len s2) - 1)) + j) = (((i9 - 1) * (( len s2) - 1)) + j9) by A65, A71, XTUPLE_0: 1;

          then

           A75: i = i9 by A2, A66, A68, A69, A72, A73, Lm45;

           A76:

          now

            per cases ;

              suppose

               A77: i = (( len s1) - 1);

              per cases ;

                suppose

                 A78: j <> (( len s2) - 1);

                set j9 = (j + 1);

                

                 A79: ( 0 + j9) <= (1 + j9) by XREAL_1: 6;

                set i9 = 1;

                set H3 = (s1 . i9);

                H9 = ( (1). G) by A77, Def28;

                

                then

                 A80: JK = (K9 "\/" ( (1). G)) by Th21

                .= K9 by Th33;

                set H2 = (s2 . j9);

                set H1 = (s2 . (j9 + 1));

                (1 + 1) <= (j + 1) by A68, XREAL_1: 6;

                then

                 A81: 1 <= j9 by XXREAL_0: 2;

                j < (( len s2) - 1) by A69, A78, XXREAL_0: 1;

                then

                 A82: (j + 1) <= (( len s2) - 1) by INT_1: 7;

                then

                 A83: (j9 + 1) <= ((( len s2) - 1) + 1) by XREAL_1: 6;

                then j9 <= ( len s2) by A79, XXREAL_0: 2;

                then j9 in ( Seg ( len s2)) by A81;

                then

                 A84: j9 in ( dom s2) by FINSEQ_1:def 3;

                (( len s1) - 1) > (1 - 1) by A1, XREAL_1: 9;

                then

                 A85: (( len s1) - 1) >= ( 0 + 1) by INT_1: 7;

                then

                reconsider H1, H2, H3 as strict StableSubgroup of G by A82, A81, Th111;

                

                 A86: H3 = ( (Omega). G) by Def28;

                now

                  let x be object;

                  H2 is Subgroup of G by Def7;

                  then

                   A87: 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 A87;

                end;

                then the carrier of H2 c= the carrier of ( (Omega). G);

                then

                 A88: the carrier of H2 = (the carrier of H2 /\ the carrier of ( (Omega). G)) by XBOOLE_1: 28;

                (k2 + 1) = (((j9 - 1) * (( len s1) - 1)) + i9) by A71, A74, A75, A77, XTUPLE_0: 1;

                then (s21 . (k2 + 1)) = (H1 "\/" (H2 /\ H3)) by A1, A2, A82, A81, A85, Def35;

                then

                 A89: (s21 . (k2 + 1)) = (H1 "\/" H2) by A86, A88, Th18;

                1 <= (j9 + 1) by A81, A79, XXREAL_0: 2;

                then (j9 + 1) in ( Seg ( len s2)) by A83;

                then (j9 + 1) in ( dom s2) by FINSEQ_1:def 3;

                then H1 is normal StableSubgroup of H2 by A84, Def28;

                hence (s21 . (k2 + 1)) = JK by A89, A80, Th36;

              end;

                suppose

                 A90: j = (( len s2) - 1);

                then

                 A91: K9 = ( (1). G) by Def28;

                H9 = ( (1). G) by A77, Def28;

                

                then

                 A92: JK = (( (1). G) "\/" ( (1). G)) by A91, Th21

                .= ( (1). G) by Th33;

                k2 = ((( len s1) - 1) * (( len s2) - 1)) by A71, A74, A75, A77, A90, XTUPLE_0: 1;

                hence (s21 . (k2 + 1)) = JK by A1, A2, A92, Def35;

              end;

            end;

              suppose i <> (( len s1) - 1);

              then i < (( len s1) - 1) by A67, XXREAL_0: 1;

              then

               A93: (i + 1) <= (( len s1) - 1) by INT_1: 7;

              set i9 = (i + 1);

              set k29 = (k2 + 1);

              (1 + 1) <= (i + 1) by A66, XREAL_1: 6;

              then

               A94: 1 <= (i + 1) by XXREAL_0: 2;

              (k2 + 1) = ((((j - 1) * (( len s1) - 1)) + i) + 1) by A71, A74, A75, XTUPLE_0: 1;

              then k29 = (((j - 1) * (( len s1) - 1)) + i9);

              hence (s21 . (k2 + 1)) = JK by A1, A2, A68, A69, A93, A94, Def35;

            end;

          end;

          ( rng (p " )) c= X;

          then ( rng (p " )) c= ( Seg ( len f1)) by FINSEQ_1:def 3;

          then ((p " ) . k1) in ( Seg ( len f1)) by A70;

          then

           A95: k2 in ( dom f2) by A4, A5, A17, A56, A59, FINSEQ_1:def 3;

          

           A96: H9 is normal StableSubgroup of H & K9 is normal StableSubgroup of K by A66, A67, A68, A69, Th112;

          then

          reconsider JK as normal StableSubgroup of (K9 "\/" (K /\ H)) by Th92;

          k2 = (((j - 1) * (( len s1) - 1)) + i) by A71, A74, A75, XTUPLE_0: 1;

          then (s21 . k2) = (K9 "\/" (K /\ H)) by A1, A2, A66, A67, A68, A69, Def35;

          then

           A97: H2 = ((K9 "\/" (K /\ H)) ./. JK) by A55, A61, A95, A76, Def33;

          set JH = (H9 "\/" (H /\ K9));

           A98:

          now

            per cases ;

              suppose

               A99: j = (( len s2) - 1);

              per cases ;

                suppose

                 A100: i <> (( len s1) - 1);

                set j9 = 1;

                set H3 = (s2 . j9);

                set i9 = (i + 1);

                

                 A101: ( 0 + i9) <= (1 + i9) by XREAL_1: 6;

                set H2 = (s1 . i9);

                set H1 = (s1 . (i9 + 1));

                (1 + 1) <= (i + 1) by A66, XREAL_1: 6;

                then

                 A102: 1 <= i9 by XXREAL_0: 2;

                i < (( len s1) - 1) by A67, A100, XXREAL_0: 1;

                then

                 A103: (i + 1) <= (( len s1) - 1) by INT_1: 7;

                then

                 A104: (i9 + 1) <= ((( len s1) - 1) + 1) by XREAL_1: 6;

                then i9 <= ( len s1) by A101, XXREAL_0: 2;

                then i9 in ( Seg ( len s1)) by A102;

                then

                 A105: i9 in ( dom s1) by FINSEQ_1:def 3;

                (( len s2) - 1) > (1 - 1) by A2, XREAL_1: 9;

                then

                 A106: (( len s2) - 1) >= ( 0 + 1) by INT_1: 7;

                then

                reconsider H1, H2, H3 as strict StableSubgroup of G by A103, A102, Th111;

                

                 A107: H3 = ( (Omega). G) by Def28;

                now

                  let x be object;

                  H2 is Subgroup of G by Def7;

                  then

                   A108: 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 A108;

                end;

                then the carrier of H2 c= the carrier of ( (Omega). G);

                then

                 A109: the carrier of H2 = (the carrier of H2 /\ the carrier of ( (Omega). G)) by XBOOLE_1: 28;

                (k1 + 1) = (((i9 - 1) * (( len s2) - 1)) + j9) by A65, A99;

                then (s12 . (k1 + 1)) = (H1 "\/" (H2 /\ H3)) by A1, A2, A103, A102, A106, Def35;

                then

                 A110: (s12 . (k1 + 1)) = (H1 "\/" H2) by A107, A109, Th18;

                1 <= (i9 + 1) by A102, A101, XXREAL_0: 2;

                then (i9 + 1) in ( Seg ( len s1)) by A104;

                then (i9 + 1) in ( dom s1) by FINSEQ_1:def 3;

                then

                 A111: H1 is normal StableSubgroup of H2 by A105, Def28;

                JH = (H9 "\/" (H /\ ( (1). G))) by A99, Def28

                .= (H9 "\/" ( (1). G)) by Th21

                .= H9 by Th33;

                hence (s12 . (k1 + 1)) = JH by A110, A111, Th36;

              end;

                suppose

                 A112: i = (( len s1) - 1);

                then

                 A113: k1 = ((( len s1) - 1) * (( len s2) - 1)) by A65, A99;

                

                 A114: K9 = ( (1). G) by A99, Def28;

                H9 = ( (1). G) by A112, Def28;

                

                then JH = (( (1). G) "\/" ( (1). G)) by A114, Th21

                .= ( (1). G) by Th33;

                hence (s12 . (k1 + 1)) = JH by A1, A2, A113, Def35;

              end;

            end;

              suppose j <> (( len s2) - 1);

              then j < (( len s2) - 1) by A69, XXREAL_0: 1;

              then

               A115: (j + 1) <= (( len s2) - 1) by INT_1: 7;

              set j9 = (j + 1);

              set k19 = (k1 + 1);

              (1 + 1) <= (j + 1) by A68, XREAL_1: 6;

              then

               A116: 1 <= (j + 1) by XXREAL_0: 2;

              k19 = (((i - 1) * (( len s2) - 1)) + j9) by A65;

              hence (s12 . (k1 + 1)) = JH by A1, A2, A66, A67, A115, A116, Def35;

            end;

          end;

          reconsider JH as normal StableSubgroup of (H9 "\/" (H /\ K)) by A96, Th92;

          (s12 . k1) = (H9 "\/" (H /\ K)) by A1, A2, A65, A66, A67, A68, A69, Def35;

          then H1 = ((H9 "\/" (H /\ K)) ./. JH) by A16, A58, A60, A98, Def33;

          hence (H1,H2) are_isomorphic by A96, A97, Th93;

        end;

        hence (f1,f2) are_equivalent_under (p,O) by A4, A5, A17, A56;

      end;

       not s12 is empty by A3, A4;

      hence thesis by A6, A8, Th108;

    end;

    ::$Notion-Name

    theorem :: GROUP_9:118

    

     Th118: ex s19, s29 st s19 is_finer_than s1 & s29 is_finer_than s2 & s19 is_equivalent_with s29

    proof

      per cases ;

        suppose

         A1: ( len s1) > 1 & ( len s2) > 1;

        set s29 = ( the_schreier_series_of (s2,s1));

        set s19 = ( the_schreier_series_of (s1,s2));

        take s19, s29;

        thus s19 is_finer_than s1 & s29 is_finer_than s2 by A1, Th116;

        thus thesis by A1, Th117;

      end;

        suppose

         A2: ( len s1) <= 1 or ( len s2) <= 1;

        per cases ;

          suppose

           A3: ( len s1) <= ( len s2);

          set s29 = s2;

          set s19 = s2;

          take s19, s29;

          thus s19 is_finer_than s1 & s29 is_finer_than s2 by A2, A3, Th114;

          thus thesis by Th113;

        end;

          suppose

           A4: ( len s1) > ( len s2);

          set s29 = s1;

          set s19 = s1;

          take s19, s29;

          thus s19 is_finer_than s1 & s29 is_finer_than s2 by A2, A4, Th114;

          thus thesis by Th113;

        end;

      end;

    end;

    begin

    ::$Notion-Name

    theorem :: GROUP_9:119

    s1 is jordan_holder & s2 is jordan_holder implies s1 is_equivalent_with s2

    proof

      assume

       A1: s1 is jordan_holder;

      assume

       A2: s2 is jordan_holder;

      per cases ;

        suppose

         A3: s1 is empty;

        now

          now

            set x = {} ;

            take x;

            thus x c= ( dom s2);

            thus s1 = (s2 * ( Sgm x)) by A3, FINSEQ_3: 43;

          end;

          then

           A4: s2 is_finer_than s1;

          assume

           A5: not s2 is empty;

          s2 is strictly_decreasing by A2;

          hence contradiction by A1, A3, A5, A4;

        end;

        hence thesis by A3;

      end;

        suppose

         A6: not s1 is empty;

        defpred P[ Nat] means for s19, s29 st not s19 is empty & not s29 is empty & ( len s19) = (( len s1) + $1) & s19 is_finer_than s1 & s29 is_finer_than s2 & ex p be Permutation of ( dom ( the_series_of_quotients_of s19)) st (( the_series_of_quotients_of s19),( the_series_of_quotients_of s29)) are_equivalent_under (p,O) holds ex p be Permutation of ( dom ( the_series_of_quotients_of s1)) st (( the_series_of_quotients_of s1),( the_series_of_quotients_of s2)) are_equivalent_under (p,O);

         A7:

        now

          assume

           A8: s2 is empty;

          now

            set x = {} ;

            take x;

            thus x c= ( dom s1);

            thus s2 = (s1 * ( Sgm x)) by A8, FINSEQ_3: 43;

          end;

          then

           A9: s1 is_finer_than s2;

          s1 is strictly_decreasing by A1;

          hence contradiction by A2, A6, A8, A9;

        end;

        

         A10: for n st P[n] holds P[(n + 1)]

        proof

          let n;

          assume

           A11: P[n];

          now

            let s19, s29;

            assume that not s19 is empty and not s29 is empty;

            assume

             A12: ( len s19) = ((( len s1) + n) + 1);

            set f1 = ( the_series_of_quotients_of s19);

            assume

             A13: s19 is_finer_than s1;

            ((n + 1) + ( len s1)) > ( 0 + ( len s1)) by XREAL_1: 6;

            then

            consider i such that

             A14: i in ( dom f1) and

             A15: for H st H = (f1 . i) holds H is trivial by A1, A12, A13, Th109;

            reconsider s199 = ( Del (s19,i)) as FinSequence of ( the_stable_subgroups_of G) by FINSEQ_3: 105;

            

             A16: i in ( dom s19) by A14, A15, Th103;

            

             A17: (i + 1) in ( dom s19) & (s19 . i) = (s19 . (i + 1)) by A14, A15, Th103;

            then

            reconsider s199 as CompositionSeries of G by A16, Th94;

            

             A18: ( the_series_of_quotients_of s199) = ( Del (f1,i)) by A16, A17, Th104;

            set f2 = ( the_series_of_quotients_of s29);

            assume

             A19: s29 is_finer_than s2;

            given p be Permutation of ( dom f1) such that

             A20: (f1,f2) are_equivalent_under (p,O);

            set H1 = (f1 . i);

            

             A21: (f1 . i) in ( rng f1) by A14, FUNCT_1: 3;

            set j = ((p " ) . i);

            reconsider j as Nat;

            set H2 = (f2 . j);

            reconsider s299 = ( Del (s29,j)) as FinSequence of ( the_stable_subgroups_of G) by FINSEQ_3: 105;

            ( rng (p " )) c= ( dom f1);

            then

             A22: ( rng (p " )) c= ( Seg ( len f1)) by FINSEQ_1:def 3;

            

             A23: ( len f1) = ( len f2) by A20;

            ((p " ) . i) in ( rng (p " )) by A14, FUNCT_2: 4;

            then ((p " ) . i) in ( Seg ( len f1)) by A22;

            then

             A24: j in ( dom f2) by A23, FINSEQ_1:def 3;

            then (f2 . j) in ( rng f2) by FUNCT_1: 3;

            then

            reconsider H1, H2 as strict GroupWithOperators of O by A21, Th102;

            

             A25: H1 is trivial by A15;

            (H1,H2) are_isomorphic by A20, A14;

            then

             A26: for H st H = (f2 . j) holds H is trivial by A25, Th58;

            then

             A27: j in ( dom s29) & (j + 1) in ( dom s29) by A24, Th103;

            

             A28: (s29 . j) = (s29 . (j + 1)) by A24, A26, Th103;

            then

            reconsider s299 as CompositionSeries of G by A27, Th94;

            

             A29: s299 is_finer_than s2 & not s299 is empty by A2, A7, A19, A27, A28, Th97, Th99;

            

             A30: ( len s199) = (( len s1) + n) by A12, A16, FINSEQ_3: 109;

            ( the_series_of_quotients_of s299) = ( Del (f2,j)) by A27, A28, Th104;

            then

             A31: ex p be Permutation of ( dom ( the_series_of_quotients_of s199)) st (( the_series_of_quotients_of s199),( the_series_of_quotients_of s299)) are_equivalent_under (p,O) by A20, A14, A18, Th106;

            s199 is_finer_than s1 & not s199 is empty by A1, A6, A13, A16, A17, Th97, Th99;

            hence thesis by A11, A30, A29, A31;

          end;

          hence thesis;

        end;

        

         A32: P[ 0 ]

        proof

          let s19, s29;

          assume

           A33: not s19 is empty & not s29 is empty;

          assume

           A34: ( len s19) = (( len s1) + 0 ) & s19 is_finer_than s1;

          assume

           A35: s29 is_finer_than s2;

          given p be Permutation of ( dom ( the_series_of_quotients_of s19)) such that

           A36: (( the_series_of_quotients_of s19),( the_series_of_quotients_of s29)) are_equivalent_under (p,O);

          

           A37: s19 is_equivalent_with s29 by A33, A36, Th108;

          s19 = s1 by A34, Th96;

          then s29 is jordan_holder by A1, A37, Th115;

          then s29 = s2 by A2, A35;

          then s1 is_equivalent_with s2 by A34, A37, Th96;

          hence thesis by A6, A7, Th108;

        end;

        

         A38: for n holds P[n] from NAT_1:sch 2( A32, A10);

        consider s19, s29 such that

         A39: s19 is_finer_than s1 and

         A40: s29 is_finer_than s2 and

         A41: s19 is_equivalent_with s29 by Th118;

        

         A42: not s19 is empty by A6, A39;

        

         A43: ex n st ( len s19) = (( len s1) + n) by A39, Th95;

        

         A44: not s29 is empty by A7, A40;

        then ex p9 be Permutation of ( dom ( the_series_of_quotients_of s19)) st (( the_series_of_quotients_of s19),( the_series_of_quotients_of s29)) are_equivalent_under (p9,O) by A41, A42, Th108;

        then ex p be Permutation of ( dom ( the_series_of_quotients_of s1)) st (( the_series_of_quotients_of s1),( the_series_of_quotients_of s2)) are_equivalent_under (p,O) by A39, A40, A42, A44, A38, A43;

        hence thesis by A6, A7, Th108;

      end;

    end;

    begin

    theorem :: GROUP_9:120

    for P,R be Relation holds P = (( rng P) |` R) iff (P ~ ) = ((R ~ ) | ( dom (P ~ ))) by Lm35;

    theorem :: GROUP_9:121

    for X be set, P,R be Relation holds (P * (R | X)) = ((X |` P) * R) by Lm36;

    theorem :: GROUP_9:122

    for n be Nat, X be set, f be PartFunc of REAL , REAL st X c= ( Seg n) & X c= ( dom f) & (f | X) is increasing & (f .: X) c= ( NAT \ { 0 }) holds ( Sgm (f .: X)) = (f * ( Sgm X)) by Lm37;

    theorem :: GROUP_9:123

    for y be set, i,n be Nat st y c= ( Seg (n + 1)) & i in ( Seg (n + 1)) & not i in y holds ex x st ( Sgm x) = ((( Sgm (( Seg (n + 1)) \ {i})) " ) * ( Sgm y)) & x c= ( Seg n) by Lm38;

    theorem :: GROUP_9:124

    for D be non empty set, f be FinSequence of D, p be Element of D, n be Nat st n in ( dom f) holds f = ( Del (( Ins (f,n,p)),(n + 1))) by Lm43;

    theorem :: GROUP_9:125

    for G,H be Group, F1 be FinSequence of the carrier of G, F2 be FinSequence of the carrier of H, I be FinSequence of INT , f be Homomorphism of G, H st (for k be Nat st k in ( dom F1) holds (F2 . k) = (f . (F1 . k))) & ( len F1) = ( len I) & ( len F2) = ( len I) holds (f . ( Product (F1 |^ I))) = ( Product (F2 |^ I)) by Lm23;