
theorem Th6:
  for G being _finite real-weighted WGraph, EL be FF:ELabeling of G,
  source being Vertex of G holds AP:CompSeq(EL,source) is halting
proof
  let G be _finite real-weighted WGraph, EL be FF:ELabeling of G, source be
  Vertex of G;
  set CS = AP:CompSeq(EL,source);
  now
    set x = card the_Vertices_of G;
    defpred P[Nat] means card dom (CS.$1) = $1+1;
    assume
A1: for n being Nat holds CS.n <> CS.(n+1);
A2: now
      let n be Nat;
      set Gn = CS.n, Gn1 = CS.(n+1);
      set Next = AP:NextBestEdges(Gn), e = the Element of Next;
A3:   Gn1 = AP:Step(Gn) by Def12;
      assume
A4:   P[n];
      now
        per cases;
        suppose
          Next = {};
          then Gn = CS.(n+1) by A3,Def10;
          hence P[n+1] by A1;
        end;
        suppose
A5:       Next <> {} & not (the_Source_of G).e in dom Gn;
          then Gn1 = Gn+*((the_Source_of G).e .--> e) by A3,Def10;
          then dom Gn1 = dom Gn \/ {(the_Source_of G).e} by Lm1;
          hence P[n+1] by A4,A5,CARD_2:41;
        end;
        suppose
A6:       Next <> {} & (the_Source_of G).e in dom Gn;
          then Gn1 = Gn+*((the_Target_of G).e .--> e) by A3,Def10;
          then
A7:       dom Gn1 = dom Gn \/ {(the_Target_of G).e} by Lm1;
          e is_forward_edge_wrt Gn or e is_backward_edge_wrt Gn by A6,Def9;
          then not (the_Target_of G).e in dom Gn by A6;
          hence P[n+1] by A4,A7,CARD_2:41;
        end;
      end;
      hence P[n+1];
    end;
    dom (CS.0) = {source} by Th4;
    then
A8: P[ 0 ] by CARD_1:30;
    for n being Nat holds P[n] from NAT_1:sch 2(A8,A2);
    then card dom (CS.x) = card the_Vertices_of G + 1;
    then 1+card the_Vertices_of G<=card the_Vertices_of G+0 by NAT_1:43;
    hence contradiction by XREAL_1:6;
  end;
  hence thesis;
end;
