
theorem Th16:
  for G being real-weighted WGraph, L be DIJK:Labeling of G holds
  dom L`1 c= dom (DIJK:Step(L))`1 & L`2 c= (DIJK:Step(L))`2
proof
  let G be real-weighted WGraph, L be DIJK:Labeling of G;
  set nL = DIJK:Step(L);
  set BestEdges = DIJK:NextBestEdges(L), e = the Element of BestEdges;
  set NextEG = L`2 \/ {e}, target = (the_Target_of G).e;
  set val = (L`1).((the_Source_of G).e) + (the_Weight_of G).e;
  now
    per cases;
    suppose
      BestEdges = {};
      hence thesis by Def8;
    end;
    suppose BestEdges <> {};
      then
A1:   nL = [L`1+*(target .--> val), NextEG] by Def8;
      then nL`1 = L`1+*(target .--> val);
      then
A2:   dom nL`1 = dom L`1 \/ {target} by Lm1;
      now
        let x be object;
        assume
A3:     x in dom L`1;
        dom L`1 c= dom nL`1 by A2,XBOOLE_1:7;
        hence x in dom nL`1 by A3;
      end;
      hence dom L`1 c= dom nL`1;
      now
        let x be object;
        assume
A4:     x in L`2;
        L`2 c= NextEG & NextEG = nL`2 by A1,XBOOLE_1:7;
        hence x in nL`2 by A4;
      end;
      hence L`2 c= nL`2;
    end;
  end;
  hence thesis;
end;
