
theorem Th65:
  for G being _finite _Graph, n being Nat st n <= G.order() holds
  card dom ((MCS:CSeq(G)).n)`1 = n
proof
  let G be _finite _Graph, n be Nat such that
A1: n <= G.order();
  defpred P[Nat] means $1 <= G.order() implies card dom ((MCS:CSeq(G)).$1)`1 =
  $1;
A2: for k being Element of NAT st k < G.order() & card dom ((MCS:CSeq(G)).k)
  `1 = k holds card dom ((MCS:CSeq(G)).(k+1))`1 = k+1
  proof
    let k be Element of NAT such that
A3: k < G.order() and
A4: card dom ((MCS:CSeq(G)).k)`1 = k;
    set CK1 = (MCS:CSeq(G)).(k+1);
    set CSK = (MCS:CSeq(G)).k;
    set VLK = CSK`1;
    set VK1 = CK1`1;
    set w = MCS:PickUnnumbered(CSK);
    set wf = w .--> (G.order() -' k);
A5: dom wf = {w};
    VK1 = VLK +* (w .--> (G.order()-'k)) by A3,A4,Th64;
    then dom VK1 = dom VLK \/ {w} by A5,FUNCT_4:def 1;
    hence thesis by A3,A4,Th59,CARD_2:41;
  end;
A6: for k being Nat st P[k] holds P[k+1]
  proof
    let k be Nat such that
A7: P[k];
    per cases;
    suppose
      k < G.order();
      hence thesis by A2,A7;
    end;
    suppose
      k >= G.order();
      hence thesis by NAT_1:13;
    end;
  end;
  (MCS:CSeq(G)).0 = MCS:Init(G) by Def25;
  then
A8: P[ 0 ];
  for k being Nat holds P[k] from NAT_1:sch 2(A8,A6);
  hence thesis by A1;
end;
