let s1, s2 be State of S; :: thesis: ( ex f being Function of NAT ,(product the Object-Kind of S) st
( s1 = f . k & f . 0 = s & ( for i being Nat holds f . (i + 1) = Following p,(f . i) ) ) & ex f being Function of NAT ,(product the Object-Kind of S) st
( s2 = f . k & f . 0 = s & ( for i being Nat holds f . (i + 1) = Following p,(f . i) ) ) implies s1 = s2 )
given f1 being Function of NAT ,(product the Object-Kind of S) such that G1:
s1 = f1 . k
and
G2:
f1 . 0 = s
and
G3:
for i being Nat holds f1 . (i + 1) = H1(i,f1 . i)
; :: thesis: ( for f being Function of NAT ,(product the Object-Kind of S) holds
( not s2 = f . k or not f . 0 = s or ex i being Nat st not f . (i + 1) = Following p,(f . i) ) or s1 = s2 )
given f2 being Function of NAT ,(product the Object-Kind of S) such that H1:
s2 = f2 . k
and
H2:
f2 . 0 = s
and
H3:
for i being Nat holds f2 . (i + 1) = H1(i,f2 . i)
; :: thesis: s1 = s2
f1 = f2
from NAT_1:sch 16(G2, G3, H2, H3);
hence
s1 = s2
by G1, H1; :: thesis: verum