let O be set ; :: thesis: for G1, G2 being GroupWithOperators of O
for s1 being CompositionSeries of G1
for s2 being CompositionSeries of G2 st not s1 is empty & not s2 is empty holds
( s1 is_equivalent_with s2 iff ex p being 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 )

let G1, G2 be GroupWithOperators of O; :: thesis: for s1 being CompositionSeries of G1
for s2 being CompositionSeries of G2 st not s1 is empty & not s2 is empty holds
( s1 is_equivalent_with s2 iff ex p being 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 )

let s1 be CompositionSeries of G1; :: thesis: for s2 being CompositionSeries of G2 st not s1 is empty & not s2 is empty holds
( s1 is_equivalent_with s2 iff ex p being 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 )

let s2 be CompositionSeries of G2; :: thesis: ( not s1 is empty & not s2 is empty implies ( s1 is_equivalent_with s2 iff ex p being 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 ) )
assume A1: ( not s1 is empty & not s2 is empty ) ; :: thesis: ( s1 is_equivalent_with s2 iff ex p being 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 )
set f1 = the_series_of_quotients_of s1;
set f2 = the_series_of_quotients_of s2;
hereby :: thesis: ( ex p being 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 implies s1 is_equivalent_with s2 )
assume A2: s1 is_equivalent_with s2 ; :: thesis: ex p being 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
then A3: len s1 = len s2 by Def35;
per cases ( len s1 <= 1 or len s1 > 1 ) ;
suppose A4: len s1 <= 1 ; :: thesis: ex p being 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
end;
suppose A8: len s1 > 1 ; :: thesis: ex p' being 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
then A9: (len s1) - 1 > 1 - 1 by XREAL_1:11;
set n = (len s1) - 1;
(len s1) - 1 in NAT by A9, INT_1:16;
then reconsider n = (len s1) - 1 as Nat ;
n + 1 = len s1 ;
then consider p being Permutation of Seg n such that
A10: for H1 being StableSubgroup of G1
for H2 being StableSubgroup of G2
for N1 being normal StableSubgroup of H1
for N2 being normal StableSubgroup of H2
for i, j being 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 by A2, Def35;
A11: len s1 = (len (the_series_of_quotients_of s1)) + 1 by A8, Def36;
then dom (the_series_of_quotients_of s1) = Seg n by FINSEQ_1:def 3;
then reconsider p' = p " as Permutation of dom (the_series_of_quotients_of s1) ;
take p' = p'; :: thesis: the_series_of_quotients_of s1, the_series_of_quotients_of s2 are_equivalent_under p',O
reconsider fs1 = the_series_of_quotients_of s1, fs2 = the_series_of_quotients_of s2 as FinSequence ;
reconsider pf = p' as Permutation of dom fs1 ;
A12: len s2 = (len (the_series_of_quotients_of s2)) + 1 by A3, A8, Def36;
A13: pf " = p by FUNCT_1:65;
now
let H1', H2' be GroupWithOperators of O; :: thesis: for i, j being Nat st i in dom fs1 & j = (pf " ) . i & H1' = fs1 . i & H2' = fs2 . j holds
H1',H2' are_isomorphic

let i, j be Nat; :: thesis: ( i in dom fs1 & j = (pf " ) . i & H1' = fs1 . i & H2' = fs2 . j implies H1',H2' are_isomorphic )
assume A14: i in dom fs1 ; :: thesis: ( j = (pf " ) . i & H1' = fs1 . i & H2' = fs2 . j implies H1',H2' are_isomorphic )
assume A15: j = (pf " ) . i ; :: thesis: ( H1' = fs1 . i & H2' = fs2 . j implies H1',H2' are_isomorphic )
assume A16: ( H1' = fs1 . i & H2' = fs2 . j ) ; :: thesis: H1',H2' are_isomorphic
set H1 = s1 . i;
set H2 = s2 . j;
set N1 = s1 . (i + 1);
set N2 = s2 . (j + 1);
A17: i in Seg (len fs1) by A14, FINSEQ_1:def 3;
then A18: ( 1 <= i & i <= len fs1 ) by FINSEQ_1:3;
0 + (len fs1) < 1 + (len fs1) by XREAL_1:8;
then i <= len s1 by A11, A18, XXREAL_0:2;
then i in Seg (len s1) by A18, FINSEQ_1:3;
then A19: i in dom s1 by FINSEQ_1:def 3;
0 + i < 1 + i by XREAL_1:8;
then A20: 1 <= i + 1 by A18, XXREAL_0:2;
i + 1 <= (len fs1) + 1 by A18, XREAL_1:8;
then i + 1 in Seg (len s1) by A11, A20;
then A21: i + 1 in dom s1 by FINSEQ_1:def 3;
i in dom p by A11, A17, FUNCT_2:def 1;
then A22: j in rng p by A13, A15, FUNCT_1:12;
then A23: j in Seg (len (the_series_of_quotients_of s2)) by A3, A12;
A24: ( 1 <= j & j <= len fs2 ) by A3, A12, A22, FINSEQ_1:3;
0 + (len fs2) < 1 + (len fs2) by XREAL_1:8;
then j <= len s2 by A12, A24, XXREAL_0:2;
then j in Seg (len s2) by A24, FINSEQ_1:3;
then A25: j in dom s2 by FINSEQ_1:def 3;
0 + j < 1 + j by XREAL_1:8;
then A26: 1 <= j + 1 by A24, XXREAL_0:2;
j + 1 <= (len fs2) + 1 by A24, XREAL_1:8;
then j + 1 in Seg (len s2) by A12, A26;
then A27: j + 1 in dom s2 by FINSEQ_1:def 3;
reconsider H1 = s1 . i, N1 = s1 . (i + 1) as Element of the_stable_subgroups_of G1 by A19, A21, FINSEQ_2:13;
reconsider H1 = H1, N1 = N1 as StableSubgroup of G1 by Def11;
reconsider N1 = N1 as normal StableSubgroup of H1 by A19, A21, Def31;
reconsider H2 = s2 . j, N2 = s2 . (j + 1) as Element of the_stable_subgroups_of G2 by A25, A27, FINSEQ_2:13;
reconsider H2 = H2, N2 = N2 as StableSubgroup of G2 by Def11;
reconsider N2 = N2 as normal StableSubgroup of H2 by A25, A27, Def31;
A28: j in dom fs2 by A23, FINSEQ_1:def 3;
dom fs1 = Seg n by A11, FINSEQ_1:def 3;
then ( 1 <= i & i <= n ) by A14, FINSEQ_1:3;
then A29: H1 ./. N1,H2 ./. N2 are_isomorphic by A10, A13, A15;
H2 ./. N2 = H2' by A3, A8, A16, A28, Def36;
hence H1',H2' are_isomorphic by A8, A14, A16, A29, Def36; :: thesis: verum
end;
hence the_series_of_quotients_of s1, the_series_of_quotients_of s2 are_equivalent_under p',O by A3, A11, A12, Def37; :: thesis: verum
end;
end;
end;
given p being Permutation of dom (the_series_of_quotients_of s1) such that A30: the_series_of_quotients_of s1, the_series_of_quotients_of s2 are_equivalent_under p,O ; :: thesis: s1 is_equivalent_with s2
A31: ( len (the_series_of_quotients_of s1) = len (the_series_of_quotients_of s2) & ( for H1 being StableSubgroup of G1
for H2 being StableSubgroup of G2
for i, j being Nat st i in dom (the_series_of_quotients_of s1) & j = (p " ) . i & H1 = (the_series_of_quotients_of s1) . i & H2 = (the_series_of_quotients_of s2) . j holds
H1,H2 are_isomorphic ) ) by A30, Def37;
per cases ( len s1 <= 1 or len s1 > 1 ) ;
suppose A32: len s1 <= 1 ; :: thesis: s1 is_equivalent_with s2
len s1 <> 0 by A1;
then len s1 > 0 ;
then A33: len s1 >= 0 + 1 by NAT_1:13;
A34: the_series_of_quotients_of s1 = {} by A32, Def36;
now end;
then A36: len s1 = len s2 by A32, A33, XXREAL_0:1;
now
let n be Nat; :: thesis: ( n + 1 = len s1 implies ex p being Permutation of Seg n st
for H1 being StableSubgroup of G1
for H2 being StableSubgroup of G2
for N1 being normal StableSubgroup of H1
for N2 being normal StableSubgroup of H2
for i, j being 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 )

assume n + 1 = len s1 ; :: thesis: ex p being Permutation of Seg n st
for H1 being StableSubgroup of G1
for H2 being StableSubgroup of G2
for N1 being normal StableSubgroup of H1
for N2 being normal StableSubgroup of H2
for i, j being 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

then n + 1 = 1 by A32, A33, XXREAL_0:1;
then A37: n = 0 ;
consider p being Permutation of Seg n;
take p = p; :: thesis: for H1 being StableSubgroup of G1
for H2 being StableSubgroup of G2
for N1 being normal StableSubgroup of H1
for N2 being normal StableSubgroup of H2
for i, j being 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

let H1 be StableSubgroup of G1; :: thesis: for H2 being StableSubgroup of G2
for N1 being normal StableSubgroup of H1
for N2 being normal StableSubgroup of H2
for i, j being 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

let H2 be StableSubgroup of G2; :: thesis: for N1 being normal StableSubgroup of H1
for N2 being normal StableSubgroup of H2
for i, j being 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

let N1 be normal StableSubgroup of H1; :: thesis: for N2 being normal StableSubgroup of H2
for i, j being 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

let N2 be normal StableSubgroup of H2; :: thesis: for i, j being 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

let i, j be Nat; :: thesis: ( 1 <= i & i <= n & j = p . i & H1 = s1 . i & H2 = s2 . j & N1 = s1 . (i + 1) & N2 = s2 . (j + 1) implies H1 ./. N1,H2 ./. N2 are_isomorphic )
assume A38: ( 1 <= i & i <= n & j = p . i ) ; :: thesis: ( H1 = s1 . i & H2 = s2 . j & N1 = s1 . (i + 1) & N2 = s2 . (j + 1) implies H1 ./. N1,H2 ./. N2 are_isomorphic )
assume ( H1 = s1 . i & H2 = s2 . j ) ; :: thesis: ( N1 = s1 . (i + 1) & N2 = s2 . (j + 1) implies H1 ./. N1,H2 ./. N2 are_isomorphic )
assume ( N1 = s1 . (i + 1) & N2 = s2 . (j + 1) ) ; :: thesis: H1 ./. N1,H2 ./. N2 are_isomorphic
thus H1 ./. N1,H2 ./. N2 are_isomorphic by A37, A38; :: thesis: verum
end;
hence s1 is_equivalent_with s2 by A36, Def35; :: thesis: verum
end;
suppose A39: len s1 > 1 ; :: thesis: s1 is_equivalent_with s2
then A40: ( len s1 = (len (the_series_of_quotients_of s1)) + 1 & ( for i being Nat st i in dom (the_series_of_quotients_of s1) holds
for H1 being StableSubgroup of G1
for N1 being normal StableSubgroup of H1 st H1 = s1 . i & N1 = s1 . (i + 1) holds
(the_series_of_quotients_of s1) . i = H1 ./. N1 ) ) by Def36;
then A42: len s1 = len s2 by A31, A40, Def36;
now
let n be Nat; :: thesis: ( n + 1 = len s1 implies ex p' being Permutation of Seg n st
for H1 being StableSubgroup of G1
for H2 being StableSubgroup of G2
for N1 being normal StableSubgroup of H1
for N2 being normal StableSubgroup of H2
for i, j being 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 )

assume A43: n + 1 = len s1 ; :: thesis: ex p' being Permutation of Seg n st
for H1 being StableSubgroup of G1
for H2 being StableSubgroup of G2
for N1 being normal StableSubgroup of H1
for N2 being normal StableSubgroup of H2
for i, j being 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

then A44: dom (the_series_of_quotients_of s1) = Seg n by A40, FINSEQ_1:def 3;
then reconsider p' = p " as Permutation of Seg n ;
take p' = p'; :: thesis: for H1 being StableSubgroup of G1
for H2 being StableSubgroup of G2
for N1 being normal StableSubgroup of H1
for N2 being normal StableSubgroup of H2
for i, j being 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

let H1 be StableSubgroup of G1; :: thesis: for H2 being StableSubgroup of G2
for N1 being normal StableSubgroup of H1
for N2 being normal StableSubgroup of H2
for i, j being 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

let H2 be StableSubgroup of G2; :: thesis: for N1 being normal StableSubgroup of H1
for N2 being normal StableSubgroup of H2
for i, j being 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

let N1 be normal StableSubgroup of H1; :: thesis: for N2 being normal StableSubgroup of H2
for i, j being 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

let N2 be normal StableSubgroup of H2; :: thesis: for i, j being 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

let i, j be Nat; :: thesis: ( 1 <= i & i <= n & j = p' . i & H1 = s1 . i & H2 = s2 . j & N1 = s1 . (i + 1) & N2 = s2 . (j + 1) implies H1 ./. N1,H2 ./. N2 are_isomorphic )
assume ( 1 <= i & i <= n ) ; :: thesis: ( j = p' . i & H1 = s1 . i & H2 = s2 . j & N1 = s1 . (i + 1) & N2 = s2 . (j + 1) implies H1 ./. N1,H2 ./. N2 are_isomorphic )
then A45: i in dom (the_series_of_quotients_of s1) by A44, FINSEQ_1:3;
then A46: i in dom p' by FUNCT_2:def 1;
assume A47: j = p' . i ; :: thesis: ( H1 = s1 . i & H2 = s2 . j & N1 = s1 . (i + 1) & N2 = s2 . (j + 1) implies H1 ./. N1,H2 ./. N2 are_isomorphic )
assume A48: ( H1 = s1 . i & H2 = s2 . j ) ; :: thesis: ( N1 = s1 . (i + 1) & N2 = s2 . (j + 1) implies H1 ./. N1,H2 ./. N2 are_isomorphic )
assume A49: ( N1 = s1 . (i + 1) & N2 = s2 . (j + 1) ) ; :: thesis: H1 ./. N1,H2 ./. N2 are_isomorphic
then A50: (the_series_of_quotients_of s1) . i = H1 ./. N1 by A39, A45, A48, Def36;
j in rng p' by A46, A47, FUNCT_1:12;
then j in Seg n ;
then j in dom (the_series_of_quotients_of s2) by A31, A40, A43, FINSEQ_1:def 3;
then (the_series_of_quotients_of s2) . j = H2 ./. N2 by A41, A48, A49, Def36;
hence H1 ./. N1,H2 ./. N2 are_isomorphic by A30, A45, A47, A50, Def37; :: thesis: verum
end;
hence s1 is_equivalent_with s2 by A42, Def35; :: thesis: verum
end;
end;