
theorem Th25:
  for G being _finite real-weighted WGraph, s being Vertex of G
  holds DIJK:CompSeq(s).Lifespan() + 1 = card G.reachableDFrom(s)
proof
  let G be _finite real-weighted WGraph, src be Vertex of G;
  set DCS = DIJK:CompSeq(src), RFS = G.reachableDFrom(src);
  consider k being Nat such that
A1: card RFS = k + 1 by NAT_1:6;
  reconsider k as Element of NAT by ORDINAL1:def 12;
A2: now
    let n be Nat;
    set Gn = DCS.n, Gn1 = DCS.(n+1);
    assume
A3: DCS.n = DCS.(n+1);
    now
      assume n < k;
      then
A4:   n + 1 < card RFS by A1,XREAL_1:8;
      then
A5:   n + 1 + 1 <= card RFS by NAT_1:13;
      card dom Gn`1 = min(n+1, card RFS) by Th21;
      then
A6:   card dom Gn`1 = n+1 by A4,XXREAL_0:def 9;
      card dom Gn1`1 = min(n+1+1, card RFS) by Th21;
      then 0+(n+1) = 1+(n+1) by A3,A6,A5,XXREAL_0:def 9;
      hence contradiction;
    end;
    hence k <= n;
  end;
  set Gk = DCS.k, Gk1 = DCS.(k+1);
A7: card RFS <= card RFS + 1 by NAT_1:11;
A8: Gk1 = DIJK:Step(Gk) by Def11;
  card dom Gk1`1 = min(card RFS+1, card RFS) & card dom Gk`1 = min(card
  RFS, card RFS) by A1,Th21;
  then card dom Gk1`1 = card dom Gk`1 by A7,XXREAL_0:def 9;
  then DIJK:NextBestEdges(Gk) = {} by A8,Th15;
  then DCS.k = DCS.(k+1) by A8,Def8;
  hence thesis by A1,A2,GLIB_000:def 56;
end;
