let G be finite real-weighted WGraph; :: thesis: for n being Nat holds card (((PRIM:CompSeq G) . n) `1) = min ((n + 1),(card (G .reachableFrom (choose (the_Vertices_of G)))))
set CS = PRIM:CompSeq G;
set src = choose (the_Vertices_of G);
defpred S1[ Nat] means card (((PRIM:CompSeq G) . $1) `1) = min (($1 + 1),(card (G .reachableFrom (choose (the_Vertices_of G)))));
set G0 = (PRIM:CompSeq G) . 0;
choose (the_Vertices_of G) in G .reachableFrom (choose (the_Vertices_of G)) by GLIB_002:9;
then {(choose (the_Vertices_of G))} c= G .reachableFrom (choose (the_Vertices_of G)) by ZFMISC_1:37;
then card {(choose (the_Vertices_of G))} <= card (G .reachableFrom (choose (the_Vertices_of G))) by NAT_1:44;
then A1: 0 + 1 <= card (G .reachableFrom (choose (the_Vertices_of G))) by CARD_1:50;
A2: now
let n be Nat; :: thesis: ( S1[n] implies S1[n + 1] )
assume A3: S1[n] ; :: thesis: S1[n + 1]
set Gn = (PRIM:CompSeq G) . n;
set Gn1 = (PRIM:CompSeq G) . (n + 1);
set e = choose (PRIM:NextBestEdges ((PRIM:CompSeq G) . n));
A4: (PRIM:CompSeq G) . (n + 1) = PRIM:Step ((PRIM:CompSeq G) . n) by Def17;
now
per cases ( PRIM:NextBestEdges ((PRIM:CompSeq G) . n) = {} or PRIM:NextBestEdges ((PRIM:CompSeq G) . n) <> {} ) ;
suppose A8: PRIM:NextBestEdges ((PRIM:CompSeq G) . n) <> {} ; :: thesis: S1[n + 1]
end;
end;
end;
hence S1[n + 1] ; :: thesis: verum
end;
(PRIM:CompSeq G) . 0 = PRIM:Init G by Def17;
then {(choose (the_Vertices_of G))} = ((PRIM:CompSeq G) . 0) `1 by MCART_1:7;
then card (((PRIM:CompSeq G) . 0) `1) = 1 by CARD_1:50;
then A17: S1[ 0 ] by A1, XXREAL_0:def 9;
for n being Nat holds S1[n] from NAT_1:sch 2(A17, A2);
hence for n being Nat holds card (((PRIM:CompSeq G) . n) `1) = min ((n + 1),(card (G .reachableFrom (choose (the_Vertices_of G))))) ; :: thesis: verum