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;
reserve G for finite Graph,
  v for Vertex of G,
  c for Chain of G,
  vs for FinSequence of the carrier of G,
  X1, X2 for set;
reserve G for Graph,
  v, v1, v2 for Vertex of G,
  c for Chain of G,
  p for Path of G,
  vs for FinSequence of the carrier of G,
  v9 for Vertex of AddNewEdge(v1, v2),
  p9 for Path of AddNewEdge(v1, v2),
  vs9 for FinSequence of the carrier of AddNewEdge(v1, v2);
reserve G for finite Graph,
  v, v1, v2 for Vertex of G,
  vs for FinSequence of the carrier of G,
  v9 for Vertex of AddNewEdge(v1, v2);
reserve G for Graph,
  v for Vertex of G,
  vs for FinSequence of the carrier of G;

theorem Th52:
  for c being Element of G-CycleSet st v in G-VSet rng c holds {
  c9 where c9 is Element of G-CycleSet : rng c9 = rng c & ex vs st vs
  is_vertex_seq_of c9 & vs.1 = v} is non empty Subset of G-CycleSet
proof
  let c be Element of G-CycleSet;
  set Cset = { c9 where c9 is Element of G-CycleSet : rng c9 = rng c & ex vs
  being FinSequence of the carrier of G st vs is_vertex_seq_of c9 & vs.1 = v};
  reconsider c9 = c as cyclic Path of G by Def8;
  consider vs being FinSequence of the carrier of G such that
A1: vs is_vertex_seq_of c9 by GRAPH_2:33;
A2: len vs = len c +1 by A1;
  assume
A3: v in G-VSet rng c;
  then
A4: ex vv being Vertex of G st vv = v & ex e being Element of the carrier' of
  G st e in rng c & (vv = (the Source of G).e or vv = (the Target of G).e);
  then G-VSet rng c9 = rng vs by A1,GRAPH_2:31,RELAT_1:38;
  then consider n being Nat such that
A5: n in dom vs and
A6: vs.n = v by A3,FINSEQ_2:10;
  reconsider n as Element of NAT by ORDINAL1:def 12;
  dom vs = Seg len vs by FINSEQ_1:def 3;
  then
A7: 1 <= n & n <= len vs by A5,FINSEQ_1:1;
A8: now
    per cases by A7,XXREAL_0:1;
    suppose
      1 = n & n = len vs;
      then 0+1 = len c +1 by A1;
      then c = {};
      hence Cset is non empty by A4;
    end;
    suppose
      1 = n;
      then c in Cset by A1,A6;
      hence Cset is non empty;
    end;
    suppose
      n = len vs;
      then vs.1 = v by A1,A6,MSSCYC_1:6;
      then c in Cset by A1;
      hence Cset is non empty;
    end;
    suppose
A9:   1 < n & n < len vs;
      set vs2 = (n, len vs)-cut vs;
      consider m being Element of NAT such that
A10:  n = 1+m and
A11:  1 <= m by A9,FINSEQ_4:84;
      set vs1 = (1, m+1)-cut vs;
A12:  1 <= m+1+1 by A9,A10,NAT_1:13;
      then
A13:  len vs1 + 1 = m+1+1 by A9,A10,Lm1;
      then
A14:  vs1.1 = vs.(1+0) by A9,A10,A12,Lm1;
      reconsider c1 = (1,m)-cut c9, c2 = (n,len c)-cut c9 as Path of G by Th5;
A15:  n <= len c by A2,A9,NAT_1:13;
      then
A16:  vs2 is_vertex_seq_of c2 by A1,A9,GRAPH_2:42;
A17:  len vs2 + n = len vs +1 by A9,FINSEQ_6:def 4;
A18:  now
        assume len vs2 = 0;
        then len vs +1 < len vs +0 by A9,A17;
        hence contradiction by XREAL_1:6;
      end;
      then
A19:  1+0 <= len vs2 by NAT_1:13;
      then consider lv2 being Nat such that
      0<=lv2 and
A20:  lv2<len vs2 and
A21:  len vs2=lv2+1 by FINSEQ_6:127;
      reconsider vs21 = vs2^'vs1 as FinSequence of the carrier of G;
A22:  vs21.1 = vs2.(0+1) by A19,FINSEQ_6:140
        .= vs.(n+0) by A9,A18,FINSEQ_6:def 4;
A23:  m <= m+1 by NAT_1:11;
      then m <= len c by A10,A15,XXREAL_0:2;
      then
A24:  vs1 is_vertex_seq_of c1 by A1,A11,GRAPH_2:42;
A25:  vs2.len vs2 = vs.(n+lv2) by A9,A20,A21,FINSEQ_6:def 4
        .= vs1.1 by A1,A17,A21,A14,MSSCYC_1:6;
      now
        given y being object such that
A26:    y in rng c1 and
A27:    y in rng c2;
        consider b being Nat such that
A28:    b in dom c2 and
A29:    c2.b = y by A27,FINSEQ_2:10;
A30:    ex l being Nat st l in dom c9 & c.l = c2.b & l+1 = n+b
        & n <= l & l <= len c by A28,Th2;
        consider a being Nat such that
A31:    a in dom c1 and
A32:    c1.a = y by A26,FINSEQ_2:10;
        consider k being Nat such that
A33:    k in dom c9 & c.k = c1.a and
        k+1 = 1+a and
        1 <= k and
A34:    k <= m by A31,Th2;
        k < n by A10,A34,NAT_1:13;
        hence contradiction by A32,A29,A33,A30,FUNCT_1:def 4;
      end;
      then rng c1 misses rng c2 by XBOOLE_0:3;
      then reconsider c219= c2^c1 as Path of G by A24,A16,A25,Th6;
A35:  vs21 is_vertex_seq_of c219 by A24,A16,A25,GRAPH_2:44;
A36:  c = c1^c2 by A10,A15,A23,FINSEQ_6:135,XXREAL_0:2;
      1 < len vs1 by A11,A13,NAT_1:13;
      then vs21.len vs21 = vs1.len vs1 by FINSEQ_6:142
        .= vs.n by A9,A10,FINSEQ_6:138;
      then reconsider c219 as cyclic Path of G by A22,A35,MSSCYC_1:def 2;
      reconsider c21 = c219 as Element of G-CycleSet by Def8;
      rng c21 = rng c2 \/ rng c1 by FINSEQ_1:31
        .= rng c by A36,FINSEQ_1:31;
      then c21 in Cset by A6,A22,A35;
      hence Cset is non empty;
    end;
  end;
  Cset c= G-CycleSet
  proof
    let x be object;
    assume x in Cset;
    then ex c9 being Element of G-CycleSet st c9 = x & rng c9 = rng c & ex vs
    being FinSequence of the carrier of G st vs is_vertex_seq_of c9 & vs.1 = v;
    hence thesis;
  end;
  hence thesis by A8;
end;
