let IT1, IT2 be MCS:LabelingSeq of G; :: thesis: ( IT1 . 0 = MCS:Init G & ( for n being Nat holds IT1 . (n + 1) = MCS:Step (IT1 . n) ) & IT2 . 0 = MCS:Init G & ( for n being Nat holds IT2 . (n + 1) = MCS:Step (IT2 . n) ) implies IT1 = IT2 )

assume that

A7: IT1 . 0 = MCS:Init G and

A8: for n being Nat holds IT1 . (n + 1) = MCS:Step (IT1 . n) and

A9: IT2 . 0 = MCS:Init G and

A10: for n being Nat holds IT2 . (n + 1) = MCS:Step (IT2 . n) ; :: thesis: IT1 = IT2

defpred S_{1}[ Nat] means IT1 . $1 = IT2 . $1;

_{1}[n] holds

S_{1}[n + 1]
;

A12: S_{1}[ 0 ]
by A7, A9;

for n being Nat holds S_{1}[n]
from NAT_1:sch 2(A12, A11);

then for n being object st n in NAT holds

IT1 . n = IT2 . n ;

hence IT1 = IT2 by PBOOLE:3; :: thesis: verum

assume that

A7: IT1 . 0 = MCS:Init G and

A8: for n being Nat holds IT1 . (n + 1) = MCS:Step (IT1 . n) and

A9: IT2 . 0 = MCS:Init G and

A10: for n being Nat holds IT2 . (n + 1) = MCS:Step (IT2 . n) ; :: thesis: IT1 = IT2

defpred S

now :: thesis: for n being Nat st S_{1}[n] holds

S_{1}[n + 1]

then A11:
for n being Nat st SS

let n be Nat; :: thesis: ( S_{1}[n] implies S_{1}[n + 1] )

assume S_{1}[n]
; :: thesis: S_{1}[n + 1]

then IT1 . (n + 1) = MCS:Step (IT2 . n) by A8

.= IT2 . (n + 1) by A10 ;

hence S_{1}[n + 1]
; :: thesis: verum

end;assume S

then IT1 . (n + 1) = MCS:Step (IT2 . n) by A8

.= IT2 . (n + 1) by A10 ;

hence S

S

A12: S

for n being Nat holds S

then for n being object st n in NAT holds

IT1 . n = IT2 . n ;

hence IT1 = IT2 by PBOOLE:3; :: thesis: verum