reserve G for Graph,
  v, v1, v2 for Vertex of G,
  c for Chain of G,
  p, p1, p2 for Path of G,
  vs, vs1, vs2 for FinSequence of the carrier of G,
  e, X for set,
  n, m for Nat;

theorem Th8:
  for p being cyclic Path of G holds ((m+1,len p)-cut p)^(1,m)-cut
  p is cyclic Path of G
proof
  let p be cyclic Path of G;
  per cases by NAT_1:14,XXREAL_0:1;
  suppose
A1: m = 0;
    0 <= len p;
    then len (1,m)-cut p +1 = 0+1 by A1,Lm1;
    then
A2: (1,m)-cut p = {};
    (m+1,len p)-cut p = p by A1,FINSEQ_6:133;
    hence thesis by A2,FINSEQ_1:34;
  end;
  suppose
A3: 1 <= m & len p = m;
    1 <= m+1 by NAT_1:12;
    then len (m+1,len p)-cut p +(m+1) = len p +1 by A3,Lm1;
    then (m+1,len p)-cut p = {} by A3;
    then ((m+1,len p)-cut p)^(1,m)-cut p = (1,m)-cut p by FINSEQ_1:34
      .= p by A3,FINSEQ_6:133;
    hence thesis;
  end;
  suppose
A4: 1 <= m & len p < m;
    m <= m+1 by NAT_1:11;
    then len p < m+1 by A4,XXREAL_0:2;
    then
A5: (m+1,len p)-cut p = {} by FINSEQ_6:def 4;
    (1,m)-cut p = {} by A4,FINSEQ_6:def 4;
    then ((m+1,len p)-cut p)^(1,m)-cut p = {} by A5,FINSEQ_1:34;
    hence thesis by Th7,GRAPH_1:14;
  end;
  suppose
A6: 1 <= m & m < len p;
    set n1 = m, n = m+1;
A7: 1 <= n by A6,NAT_1:13;
    reconsider r1 = (1,n1)-cut p, r2 = (n, len p)-cut p as Path of G by Th5;
    consider vs being FinSequence of the carrier of G such that
A8: vs is_vertex_seq_of p by GRAPH_2:33;
    reconsider vs1 = (1,n)-cut vs, vs2 = (n, len vs)-cut vs as FinSequence of
    the carrier of G;
A9: n <= len p by A6,NAT_1:13;
A10: len vs = len p +1 by A8;
A11: vs2 is_vertex_seq_of r2 by A7,A9,A8,GRAPH_2:42;
    len p <= len p +1 by NAT_1:11;
    then
A12: n <= len vs by A9,A10,XXREAL_0:2;
    then
A13: n < len vs +1 by NAT_1:13;
    len vs1 +1 = n +1 by A7,A12,FINSEQ_6:def 4;
    then
A14: 1 < len vs1 by A6,NAT_1:13;
A15: vs1 is_vertex_seq_of r1 by A6,A8,GRAPH_2:42;
    len vs <= len vs +1 by NAT_1:11;
    then n <= len vs +1 by A12,XXREAL_0:2;
    then len vs2 +n = len vs +1 by A7,Lm1;
    then 1+n <= len vs2 +n by A13,NAT_1:13;
    then
A16: 1 <= len vs2 by XREAL_1:6;
    reconsider vs9 = vs2^'vs1 as FinSequence of the carrier of G;
    set r = r2 ^ r1;
A17: vs.len vs = vs.1 by A8,MSSCYC_1:6;
A18: vs1.1 = vs.1 & vs2.len vs2 = vs.len vs by A7,A12,FINSEQ_6:138;
    then reconsider r as Chain of G by A17,A15,A11,GRAPH_2:43;
A19: vs9 is_vertex_seq_of r by A17,A15,A11,A18,GRAPH_2:44;
    p = r1 ^ r2 by A6,FINSEQ_6:135;
    then rng r1 misses rng r2 by FINSEQ_3:91;
    then reconsider r as Path of G by A17,A15,A11,A18,Th6;
    vs1.len vs1 = vs.n & vs2.1 = vs.n by A7,A12,FINSEQ_6:138;
    then vs9.1 = vs1.len vs1 by A16,FINSEQ_6:140
      .= vs9.len vs9 by A14,FINSEQ_6:142;
    then r is cyclic Path of G by A19,MSSCYC_1:def 2;
    hence thesis;
  end;
end;
