let G be Graph; :: thesis: for c being Chain of G st c alternates_vertices_in G holds
ex vs1, vs2 being FinSequence of the carrier of G st
( vs1 <> vs2 & vs1 is_vertex_seq_of c & vs2 is_vertex_seq_of c & ( for vs being FinSequence of the carrier of G holds
( not vs is_vertex_seq_of c or vs = vs1 or vs = vs2 ) ) )

let c be Chain of G; :: thesis: ( c alternates_vertices_in G implies ex vs1, vs2 being FinSequence of the carrier of G st
( vs1 <> vs2 & vs1 is_vertex_seq_of c & vs2 is_vertex_seq_of c & ( for vs being FinSequence of the carrier of G holds
( not vs is_vertex_seq_of c or vs = vs1 or vs = vs2 ) ) ) )

assume A1: c alternates_vertices_in G ; :: thesis: ex vs1, vs2 being FinSequence of the carrier of G st
( vs1 <> vs2 & vs1 is_vertex_seq_of c & vs2 is_vertex_seq_of c & ( for vs being FinSequence of the carrier of G holds
( not vs is_vertex_seq_of c or vs = vs1 or vs = vs2 ) ) )

then A2: 1 <= len c by Def8;
consider p1 being FinSequence of the carrier of G such that
A3: p1 is_vertex_seq_of c by Th36;
A4: len p1 = (len c) + 1 by A3, Def7;
then A5: len p1 > 1 by A2, NAT_1:13;
set X = the Source of G . (c . 1);
set Y = the Target of G . (c . 1);
A6: rng p1 = {(the Source of G . (c . 1)),(the Target of G . (c . 1))} by A1, A3, Th39;
A7: p1 is TwoValued Alternating FinSequence by A1, A3, Th40;
A8: ( 1 in dom c & 1 + 1 = 2 ) by A2, FINSEQ_3:27;
then A9: p1 . 1 <> p1 . 2 by A1, A3, Th38;
then consider p2 being TwoValued Alternating FinSequence such that
A10: ( rng p2 = {(p1 . 2),(p1 . 1)} & len p2 = len p1 & p2 . 1 = p1 . 2 ) by A5, Th23;
A11: dom p1 = dom p2 by A10, FINSEQ_3:31;
1 + 1 <= len p1 by A5, NAT_1:13;
then ( 1 <= len p1 & 2 <= len p1 ) by NAT_1:13;
then ( 1 in dom p1 & 2 in dom p1 ) by FINSEQ_3:27;
then ( p1 . 1 in rng p1 & p1 . 2 in rng p1 ) by FUNCT_1:def 5;
then A12: ( ( p1 . 1 = the Source of G . (c . 1) or p1 . 1 = the Target of G . (c . 1) ) & ( p1 . 2 = the Source of G . (c . 1) or p1 . 2 = the Target of G . (c . 1) ) & {(the Source of G . (c . 1)),(the Target of G . (c . 1))} = {(the Target of G . (c . 1)),(the Source of G . (c . 1))} ) by A6, TARSKI:def 2;
then rng p2 c= the carrier of G by A1, A3, A6, A8, A10, Th38, FINSEQ_1:def 4;
then reconsider p2 = p2 as FinSequence of the carrier of G by FINSEQ_1:def 4;
take p1 ; :: thesis: ex vs2 being FinSequence of the carrier of G st
( p1 <> vs2 & p1 is_vertex_seq_of c & vs2 is_vertex_seq_of c & ( for vs being FinSequence of the carrier of G holds
( not vs is_vertex_seq_of c or vs = p1 or vs = vs2 ) ) )

take p2 ; :: thesis: ( p1 <> p2 & p1 is_vertex_seq_of c & p2 is_vertex_seq_of c & ( for vs being FinSequence of the carrier of G holds
( not vs is_vertex_seq_of c or vs = p1 or vs = p2 ) ) )

thus p1 <> p2 by A1, A3, A8, A10, Th38; :: thesis: ( p1 is_vertex_seq_of c & p2 is_vertex_seq_of c & ( for vs being FinSequence of the carrier of G holds
( not vs is_vertex_seq_of c or vs = p1 or vs = p2 ) ) )

thus p1 is_vertex_seq_of c by A3; :: thesis: ( p2 is_vertex_seq_of c & ( for vs being FinSequence of the carrier of G holds
( not vs is_vertex_seq_of c or vs = p1 or vs = p2 ) ) )

now
thus len p2 = (len c) + 1 by A3, A10, Def7; :: thesis: for n being Element of NAT st 1 <= n & n <= len c holds
c . n joins p2 /. n,p2 /. (n + 1)

let n be Element of NAT ; :: thesis: ( 1 <= n & n <= len c implies c . n joins p2 /. n,p2 /. (n + 1) )
assume A13: ( 1 <= n & n <= len c ) ; :: thesis: c . n joins p2 /. n,p2 /. (n + 1)
set x = p1 /. n;
set y = p1 /. (n + 1);
A14: c . n joins p1 /. n,p1 /. (n + 1) by A3, A13, Def7;
A15: ( 1 <= n & n <= len p1 & 1 <= n + 1 & n + 1 <= len p1 ) by A4, A13, NAT_1:12, XREAL_1:8;
then ( n in dom p1 & n + 1 in dom p1 ) by FINSEQ_3:27;
then ( p1 . n in {(the Source of G . (c . 1)),(the Target of G . (c . 1))} & p1 . (n + 1) in {(the Source of G . (c . 1)),(the Target of G . (c . 1))} & p2 . n in {(the Source of G . (c . 1)),(the Target of G . (c . 1))} & p2 . (n + 1) in {(the Source of G . (c . 1)),(the Target of G . (c . 1))} ) by A1, A3, A6, A8, A10, A11, A12, Th38, FUNCT_1:def 5;
then ( ( p1 . n = the Source of G . (c . 1) or p1 . n = the Target of G . (c . 1) ) & ( p2 . n = the Source of G . (c . 1) or p2 . n = the Target of G . (c . 1) ) & ( p1 . (n + 1) = the Source of G . (c . 1) or p1 . (n + 1) = the Target of G . (c . 1) ) & ( p2 . (n + 1) = the Source of G . (c . 1) or p2 . (n + 1) = the Target of G . (c . 1) ) ) by TARSKI:def 2;
then A16: ( p1 /. (n + 1) = p2 . n & p1 /. n = p2 . (n + 1) ) by A6, A7, A9, A10, A12, A15, Def4, Th21, FINSEQ_4:24;
( p2 /. n = p2 . n & p2 /. (n + 1) = p2 . (n + 1) ) by A10, A15, FINSEQ_4:24;
hence c . n joins p2 /. n,p2 /. (n + 1) by A14, A16, Th31; :: thesis: verum
end;
hence p2 is_vertex_seq_of c by Def7; :: thesis: for vs being FinSequence of the carrier of G holds
( not vs is_vertex_seq_of c or vs = p1 or vs = p2 )

let p be FinSequence of the carrier of G; :: thesis: ( not p is_vertex_seq_of c or p = p1 or p = p2 )
assume A17: p is_vertex_seq_of c ; :: thesis: ( p = p1 or p = p2 )
then reconsider p' = p as TwoValued Alternating FinSequence by A1, Th40;
A18: len p = (len c) + 1 by A17, Def7;
rng p = {(the Source of G . (c . 1)),(the Target of G . (c . 1))} by A1, A17, Th39;
then ( p' = p1 or p' = p2 ) by A4, A6, A7, A9, A10, A12, A18, Th22;
hence ( p = p1 or p = p2 ) ; :: thesis: verum