let G be finite _Graph; :: thesis: for n being Nat
for x being set st not x in dom (((MCS:CSeq G) . n) `1 ) holds
(((MCS:CSeq G) . n) `2 ) . x = card ((G .AdjacentSet {x}) /\ (dom (((MCS:CSeq G) . n) `1 )))
let n be Nat; :: thesis: for x being set st not x in dom (((MCS:CSeq G) . n) `1 ) holds
(((MCS:CSeq G) . n) `2 ) . x = card ((G .AdjacentSet {x}) /\ (dom (((MCS:CSeq G) . n) `1 )))
set CN = (MCS:CSeq G) . n;
set VLN = ((MCS:CSeq G) . n) `1 ;
set VL2 = ((MCS:CSeq G) . n) `2 ;
let x be set ; :: thesis: ( not x in dom (((MCS:CSeq G) . n) `1 ) implies (((MCS:CSeq G) . n) `2 ) . x = card ((G .AdjacentSet {x}) /\ (dom (((MCS:CSeq G) . n) `1 ))) )
assume A1:
not x in dom (((MCS:CSeq G) . n) `1 )
; :: thesis: (((MCS:CSeq G) . n) `2 ) . x = card ((G .AdjacentSet {x}) /\ (dom (((MCS:CSeq G) . n) `1 )))
defpred S1[ Nat] means for x being set st not x in dom (((MCS:CSeq G) . $1) `1 ) holds
(((MCS:CSeq G) . $1) `2 ) . x = card ((G .AdjacentSet {x}) /\ (dom (((MCS:CSeq G) . $1) `1 )));
then A3:
S1[ 0 ]
;
A4:
for k being Nat st S1[k] holds
S1[k + 1]
proof
let k be
Nat;
:: thesis: ( S1[k] implies S1[k + 1] )
assume A5:
S1[
k]
;
:: thesis: S1[k + 1]
set CSK =
(MCS:CSeq G) . k;
set VLK =
((MCS:CSeq G) . k) `1 ;
set VK2 =
((MCS:CSeq G) . k) `2 ;
set CS1 =
(MCS:CSeq G) . (k + 1);
set VL1 =
((MCS:CSeq G) . (k + 1)) `1 ;
set V12 =
((MCS:CSeq G) . (k + 1)) `2 ;
A6:
k <= k + 1
by XREAL_1:40;
per cases
( G .order() <= k or k < G .order() )
;
suppose A7:
k < G .order()
;
:: thesis: S1[k + 1]then consider w being
Vertex of
G such that A8:
w = MCS:PickUnnumbered ((MCS:CSeq G) . k)
and A9:
for
v being
set holds
( (
v in G .AdjacentSet {w} & not
v in dom (((MCS:CSeq G) . k) `1 ) implies
(((MCS:CSeq G) . (k + 1)) `2 ) . v = ((((MCS:CSeq G) . k) `2 ) . v) + 1 ) & ( ( not
v in G .AdjacentSet {w} or
v in dom (((MCS:CSeq G) . k) `1 ) ) implies
(((MCS:CSeq G) . (k + 1)) `2 ) . v = (((MCS:CSeq G) . k) `2 ) . v ) )
by Th90;
A10:
G .order() = (MCS:CSeq G) .Lifespan()
by Th87;
set VL =
(MCS:CSeq G) ``1 ;
A4a:
(
((MCS:CSeq G) . k) `1 = ((MCS:CSeq G) ``1 ) . k &
((MCS:CSeq G) . (k + 1)) `1 = ((MCS:CSeq G) ``1 ) . (k + 1) )
by d1stMCSLS;
A4b:
(MCS:CSeq G) .Lifespan() = ((MCS:CSeq G) ``1 ) .Lifespan()
by mVNS0;
w = ((MCS:CSeq G) ``1 ) .PickedAt k
by A7, A8, Th89;
then A11:
dom (((MCS:CSeq G) . (k + 1)) `1 ) = (dom (((MCS:CSeq G) . k) `1 )) \/ {w}
by A4a, A4b, A7, A10, Th18;
now let x be
set ;
:: thesis: ( not x in dom (((MCS:CSeq G) . (k + 1)) `1 ) implies card ((G .AdjacentSet {b1}) /\ (dom (((MCS:CSeq G) . (k + 1)) `1 ))) = (((MCS:CSeq G) . (k + 1)) `2 ) . b1 )assume A12:
not
x in dom (((MCS:CSeq G) . (k + 1)) `1 )
;
:: thesis: card ((G .AdjacentSet {b1}) /\ (dom (((MCS:CSeq G) . (k + 1)) `1 ))) = (((MCS:CSeq G) . (k + 1)) `2 ) . b1A13:
not
x in dom (((MCS:CSeq G) . k) `1 )
by A11, A12, XBOOLE_0:def 3;
then A14:
card ((G .AdjacentSet {x}) /\ (dom (((MCS:CSeq G) . k) `1 ))) = (((MCS:CSeq G) . k) `2 ) . x
by A5;
per cases
( ( x in G .AdjacentSet {w} & not x in dom (((MCS:CSeq G) . k) `1 ) ) or not x in G .AdjacentSet {w} or x in dom (((MCS:CSeq G) . k) `1 ) )
;
suppose A21:
( not
x in G .AdjacentSet {w} or
x in dom (((MCS:CSeq G) . k) `1 ) )
;
:: thesis: card ((G .AdjacentSet {b1}) /\ (dom (((MCS:CSeq G) . (k + 1)) `1 ))) = (((MCS:CSeq G) . (k + 1)) `2 ) . b1then A22:
(((MCS:CSeq G) . (k + 1)) `2 ) . x = (((MCS:CSeq G) . k) `2 ) . x
by A9;
set GAS =
G .AdjacentSet {x};
A23:
not
w in G .AdjacentSet {x}
by A11, A12, A21, CHORD:53, XBOOLE_0:def 3;
(G .AdjacentSet {x}) /\ {w} c= {w}
by XBOOLE_1:17;
then
(G .AdjacentSet {x}) /\ {w} in bool {w}
;
then A24:
(G .AdjacentSet {x}) /\ {w} in {{} ,{w}}
by ZFMISC_1:30;
(G .AdjacentSet {x}) /\ (dom (((MCS:CSeq G) . (k + 1)) `1 )) =
((G .AdjacentSet {x}) /\ (dom (((MCS:CSeq G) . k) `1 ))) \/ ((G .AdjacentSet {x}) /\ {w})
by A11, XBOOLE_1:23
.=
((G .AdjacentSet {x}) /\ (dom (((MCS:CSeq G) . k) `1 ))) \/ {}
by A24, A25, TARSKI:def 2
.=
(G .AdjacentSet {x}) /\ (dom (((MCS:CSeq G) . k) `1 ))
;
hence
card ((G .AdjacentSet {x}) /\ (dom (((MCS:CSeq G) . (k + 1)) `1 ))) = (((MCS:CSeq G) . (k + 1)) `2 ) . x
by A5, A13, A22;
:: thesis: verum end; end; end; hence
S1[
k + 1]
;
:: thesis: verum end; end;
end;
for k being Nat holds S1[k]
from NAT_1:sch 2(A3, A4);
hence
(((MCS:CSeq G) . n) `2 ) . x = card ((G .AdjacentSet {x}) /\ (dom (((MCS:CSeq G) . n) `1 )))
by A1; :: thesis: verum