theorem 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: s1 is not empty by A9;
A11: len s2>1 by A1,A9;
    then s2 is not 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,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;
