set SG = the_Source_of G;
set TG = the_Target_of G;
set VG = the_Vertices_of G;
set EG = the_Edges_of G;
set NB = AP:NextBestEdges VL;
set cNB = choose (AP:NextBestEdges VL);
per cases
( AP:NextBestEdges VL = {} or AP:NextBestEdges VL <> {} )
;
suppose
AP:NextBestEdges VL <> {}
;
:: thesis: ( ( AP:NextBestEdges VL = {} implies VL is AP:VLabeling of EL ) & ( AP:NextBestEdges VL <> {} & not (the_Source_of G) . (choose (AP:NextBestEdges VL)) in dom VL implies VL +* (((the_Source_of G) . (choose (AP:NextBestEdges VL))) .--> (choose (AP:NextBestEdges VL))) is AP:VLabeling of EL ) & ( not AP:NextBestEdges VL = {} & ( not AP:NextBestEdges VL <> {} or (the_Source_of G) . (choose (AP:NextBestEdges VL)) in dom VL ) implies VL +* (((the_Target_of G) . (choose (AP:NextBestEdges VL))) .--> (choose (AP:NextBestEdges VL))) is AP:VLabeling of EL ) )then A02:
choose (AP:NextBestEdges VL) in AP:NextBestEdges VL
;
A0:
dom (VL +* (((the_Source_of G) . (choose (AP:NextBestEdges VL))) .--> (choose (AP:NextBestEdges VL)))) =
(dom VL) \/ (dom (((the_Source_of G) . (choose (AP:NextBestEdges VL))) .--> (choose (AP:NextBestEdges VL))))
by FUNCT_4:def 1
.=
(dom VL) \/ {((the_Source_of G) . (choose (AP:NextBestEdges VL)))}
by FUNCOP_1:19
;
A1:
{((the_Source_of G) . (choose (AP:NextBestEdges VL)))} c= the_Vertices_of G
Aa0:
rng (VL +* (((the_Source_of G) . (choose (AP:NextBestEdges VL))) .--> (choose (AP:NextBestEdges VL)))) c= (rng VL) \/ (rng (((the_Source_of G) . (choose (AP:NextBestEdges VL))) .--> (choose (AP:NextBestEdges VL))))
by FUNCT_4:18;
Aa02:
rng (((the_Source_of G) . (choose (AP:NextBestEdges VL))) .--> (choose (AP:NextBestEdges VL))) c= {(choose (AP:NextBestEdges VL))}
by FUNCOP_1:19;
{(choose (AP:NextBestEdges VL))} c= the_Edges_of G
then
{(choose (AP:NextBestEdges VL))} c= {1} \/ (the_Edges_of G)
by XBOOLE_1:10;
then
rng (((the_Source_of G) . (choose (AP:NextBestEdges VL))) .--> (choose (AP:NextBestEdges VL))) c= {1} \/ (the_Edges_of G)
by Aa02, XBOOLE_1:1;
then
(rng VL) \/ (rng (((the_Source_of G) . (choose (AP:NextBestEdges VL))) .--> (choose (AP:NextBestEdges VL)))) c= {1} \/ (the_Edges_of G)
by XBOOLE_1:8;
then
rng (VL +* (((the_Source_of G) . (choose (AP:NextBestEdges VL))) .--> (choose (AP:NextBestEdges VL)))) c= {1} \/ (the_Edges_of G)
by Aa0, XBOOLE_1:1;
then A:
VL +* (((the_Source_of G) . (choose (AP:NextBestEdges VL))) .--> (choose (AP:NextBestEdges VL))) is
Relation of
(the_Vertices_of G),
({1} \/ (the_Edges_of G))
by A1, A0, RELSET_1:11, XBOOLE_1:8;
A0:
dom (VL +* (((the_Target_of G) . (choose (AP:NextBestEdges VL))) .--> (choose (AP:NextBestEdges VL)))) =
(dom VL) \/ (dom (((the_Target_of G) . (choose (AP:NextBestEdges VL))) .--> (choose (AP:NextBestEdges VL))))
by FUNCT_4:def 1
.=
(dom VL) \/ {((the_Target_of G) . (choose (AP:NextBestEdges VL)))}
by FUNCOP_1:19
;
A1:
{((the_Target_of G) . (choose (AP:NextBestEdges VL)))} c= the_Vertices_of G
Aa0:
rng (VL +* (((the_Target_of G) . (choose (AP:NextBestEdges VL))) .--> (choose (AP:NextBestEdges VL)))) c= (rng VL) \/ (rng (((the_Target_of G) . (choose (AP:NextBestEdges VL))) .--> (choose (AP:NextBestEdges VL))))
by FUNCT_4:18;
Aa02:
rng (((the_Target_of G) . (choose (AP:NextBestEdges VL))) .--> (choose (AP:NextBestEdges VL))) c= {(choose (AP:NextBestEdges VL))}
by FUNCOP_1:19;
{(choose (AP:NextBestEdges VL))} c= the_Edges_of G
then
{(choose (AP:NextBestEdges VL))} c= {1} \/ (the_Edges_of G)
by XBOOLE_1:10;
then
rng (((the_Target_of G) . (choose (AP:NextBestEdges VL))) .--> (choose (AP:NextBestEdges VL))) c= {1} \/ (the_Edges_of G)
by Aa02, XBOOLE_1:1;
then
(rng VL) \/ (rng (((the_Target_of G) . (choose (AP:NextBestEdges VL))) .--> (choose (AP:NextBestEdges VL)))) c= {1} \/ (the_Edges_of G)
by XBOOLE_1:8;
then
rng (VL +* (((the_Target_of G) . (choose (AP:NextBestEdges VL))) .--> (choose (AP:NextBestEdges VL)))) c= {1} \/ (the_Edges_of G)
by Aa0, XBOOLE_1:1;
then
VL +* (((the_Target_of G) . (choose (AP:NextBestEdges VL))) .--> (choose (AP:NextBestEdges VL))) is
Relation of
(the_Vertices_of G),
({1} \/ (the_Edges_of G))
by A1, A0, RELSET_1:11, XBOOLE_1:8;
hence
( (
AP:NextBestEdges VL = {} implies
VL is
AP:VLabeling of
EL ) & (
AP:NextBestEdges VL <> {} & not
(the_Source_of G) . (choose (AP:NextBestEdges VL)) in dom VL implies
VL +* (((the_Source_of G) . (choose (AP:NextBestEdges VL))) .--> (choose (AP:NextBestEdges VL))) is
AP:VLabeling of
EL ) & ( not
AP:NextBestEdges VL = {} & ( not
AP:NextBestEdges VL <> {} or
(the_Source_of G) . (choose (AP:NextBestEdges VL)) in dom VL ) implies
VL +* (((the_Target_of G) . (choose (AP:NextBestEdges VL))) .--> (choose (AP:NextBestEdges VL))) is
AP:VLabeling of
EL ) )
by A, HeHe;
:: thesis: verum end; end;