defpred S1[ Vertex of T, Vertex of T, Vertex of T, Vertex of T] means (((T .pathBetween $1,$2) .vertices() ) /\ ((T .pathBetween $2,$3) .vertices() )) /\ ((T .pathBetween $3,$1) .vertices() ) = {$4};
set P3 = T .pathBetween c,a;
set P2 = T .pathBetween b,c;
set P1 = T .pathBetween a,b;
per cases ( c in (T .pathBetween a,b) .vertices() or a in (T .pathBetween b,c) .vertices() or b in (T .pathBetween c,a) .vertices() or ( not c in (T .pathBetween a,b) .vertices() & not a in (T .pathBetween b,c) .vertices() & not b in (T .pathBetween c,a) .vertices() ) ) ;
suppose A1: ( c in (T .pathBetween a,b) .vertices() or a in (T .pathBetween b,c) .vertices() or b in (T .pathBetween c,a) .vertices() ) ; :: thesis: ex b1 being Vertex of T st (((T .pathBetween a,b) .vertices() ) /\ ((T .pathBetween b,c) .vertices() )) /\ ((T .pathBetween c,a) .vertices() ) = {b1}
end;
suppose A2: ( not c in (T .pathBetween a,b) .vertices() & not a in (T .pathBetween b,c) .vertices() & not b in (T .pathBetween c,a) .vertices() ) ; :: thesis: ex b1 being Vertex of T st (((T .pathBetween a,b) .vertices() ) /\ ((T .pathBetween b,c) .vertices() )) /\ ((T .pathBetween c,a) .vertices() ) = {b1}
set P4 = T .pathBetween a,c;
set i = len (maxPrefix (T .pathBetween a,b),(T .pathBetween a,c));
(T .pathBetween a,b) .last() = b by Th28;
then A3: b in (T .pathBetween a,b) .vertices() by GLIB_001:89;
(T .pathBetween a,c) .last() = c by Th28;
then c in (T .pathBetween a,c) .vertices() by GLIB_001:89;
then not (T .pathBetween a,c) .vertices() c= (T .pathBetween a,b) .vertices() by A2;
then A4: not T .pathBetween a,c c= T .pathBetween a,b by Th13;
(T .pathBetween a,b) .first() = a by Th28;
then A5: (T .pathBetween a,b) .first() = (T .pathBetween a,c) .first() by Th28;
then reconsider i9 = len (maxPrefix (T .pathBetween a,b),(T .pathBetween a,c)) as odd Element of NAT by Th22;
set x = (T .pathBetween a,b) . i9;
(T .pathBetween c,a) .vertices() = (T .pathBetween a,c) .vertices() by Th32;
then A6: not (T .pathBetween a,b) .vertices() c= (T .pathBetween a,c) .vertices() by A2, A3;
then ( len (maxPrefix (T .pathBetween a,b),(T .pathBetween a,c)) <= (len (maxPrefix (T .pathBetween a,b),(T .pathBetween a,c))) + 2 & (len (maxPrefix (T .pathBetween a,b),(T .pathBetween a,c))) + 2 <= len (T .pathBetween a,b) ) by A5, Th13, Th23, NAT_1:11;
then reconsider x = (T .pathBetween a,b) . i9 as Vertex of T by GLIB_001:8, XXREAL_0:2;
take x ; :: thesis: (((T .pathBetween a,b) .vertices() ) /\ ((T .pathBetween b,c) .vertices() )) /\ ((T .pathBetween c,a) .vertices() ) = {x}
not T .pathBetween a,b c= T .pathBetween a,c by A6, Th13;
hence (((T .pathBetween a,b) .vertices() ) /\ ((T .pathBetween b,c) .vertices() )) /\ ((T .pathBetween c,a) .vertices() ) = {x} by A4, Lm2; :: thesis: verum
end;
end;