let G be Graph; :: thesis: for vs being FinSequence of the carrier of G
for c being Chain of G st vs is_vertex_seq_of c holds
ex fc being Subset of c ex fvs being Subset of vs ex sc being simple Chain of G ex vs1 being FinSequence of the carrier of G st
( Seq fc = sc & Seq fvs = vs1 & vs1 is_vertex_seq_of sc & vs . 1 = vs1 . 1 & vs . (len vs) = vs1 . (len vs1) )
let vs be FinSequence of the carrier of G; :: thesis: for c being Chain of G st vs is_vertex_seq_of c holds
ex fc being Subset of c ex fvs being Subset of vs ex sc being simple Chain of G ex vs1 being FinSequence of the carrier of G st
( Seq fc = sc & Seq fvs = vs1 & vs1 is_vertex_seq_of sc & vs . 1 = vs1 . 1 & vs . (len vs) = vs1 . (len vs1) )
let c be Chain of G; :: thesis: ( vs is_vertex_seq_of c implies ex fc being Subset of c ex fvs being Subset of vs ex sc being simple Chain of G ex vs1 being FinSequence of the carrier of G st
( Seq fc = sc & Seq fvs = vs1 & vs1 is_vertex_seq_of sc & vs . 1 = vs1 . 1 & vs . (len vs) = vs1 . (len vs1) ) )
assume A1:
vs is_vertex_seq_of c
; :: thesis: ex fc being Subset of c ex fvs being Subset of vs ex sc being simple Chain of G ex vs1 being FinSequence of the carrier of G st
( Seq fc = sc & Seq fvs = vs1 & vs1 is_vertex_seq_of sc & vs . 1 = vs1 . 1 & vs . (len vs) = vs1 . (len vs1) )
per cases
( c is simple Chain of G or not c is simple Chain of G )
;
suppose A3:
c is not
simple Chain of
G
;
:: thesis: ex fc being Subset of c ex fvs being Subset of vs ex sc being simple Chain of G ex vs1 being FinSequence of the carrier of G st
( Seq fc = sc & Seq fvs = vs1 & vs1 is_vertex_seq_of sc & vs . 1 = vs1 . 1 & vs . (len vs) = vs1 . (len vs1) )defpred S1[
Nat]
means ex
fc being
Subset of
c ex
fvs being
Subset of
vs ex
c1 being
Chain of
G ex
vs1 being
FinSequence of the
carrier of
G st
(
Seq fc = c1 &
Seq fvs = vs1 &
vs1 is_vertex_seq_of c1 &
vs . 1
= vs1 . 1 &
vs . (len vs) = vs1 . (len vs1) &
len c1 = $1 &
c1 is not
simple Chain of
G );
S1[
len c]
then A4:
ex
k being
Nat st
S1[
k]
;
consider k being
Nat such that A5:
(
S1[
k] & ( for
n being
Nat st
S1[
n] holds
k <= n ) )
from NAT_1:sch 5(A4);
consider fc being
Subset of
c,
fvs being
Subset of
vs,
c1 being
Chain of
G,
vs1 being
FinSequence of the
carrier of
G such that A6:
(
Seq fc = c1 &
Seq fvs = vs1 &
vs1 is_vertex_seq_of c1 &
vs . 1
= vs1 . 1 &
vs . (len vs) = vs1 . (len vs1) &
len c1 = k &
c1 is not
simple Chain of
G )
by A5;
consider fc1 being
Subset of
c1,
fvs1 being
Subset of
vs1,
c2 being
Chain of
G,
vs2 being
FinSequence of the
carrier of
G such that A7:
(
len c2 < len c1 &
vs2 is_vertex_seq_of c2 &
len vs2 < len vs1 &
vs1 . 1
= vs2 . 1 &
vs1 . (len vs1) = vs2 . (len vs2) &
Seq fc1 = c2 &
Seq fvs1 = vs2 )
by A6, Th52;
reconsider fc' =
fc | (rng ((Sgm (dom fc)) | (dom fc1))) as
Subset of
c by Th29;
A8:
Seq fc' = c2
by A6, A7, Th30;
reconsider fvs' =
fvs | (rng ((Sgm (dom fvs)) | (dom fvs1))) as
Subset of
vs by Th29;
A9:
Seq fvs' = vs2
by A6, A7, Th30;
then
(
c2 is
simple Chain of
G implies ex
fc being
Subset of
c ex
fvs being
Subset of
vs ex
sc being
simple Chain of
G ex
vs1 being
FinSequence of the
carrier of
G st
(
Seq fc = sc &
Seq fvs = vs1 &
vs1 is_vertex_seq_of sc &
vs . 1
= vs1 . 1 &
vs . (len vs) = vs1 . (len vs1) ) )
by A6, A7, A8;
hence
ex
fc being
Subset of
c ex
fvs being
Subset of
vs ex
sc being
simple Chain of
G ex
vs1 being
FinSequence of the
carrier of
G st
(
Seq fc = sc &
Seq fvs = vs1 &
vs1 is_vertex_seq_of sc &
vs . 1
= vs1 . 1 &
vs . (len vs) = vs1 . (len vs1) )
by A5, A6, A7, A8, A9;
:: thesis: verum end; end;