let d1, d2 be Element of D; ( ( b is having_a_unity & len F = 0 & d1 = the_unity_wrt b & d2 = the_unity_wrt b implies d1 = d2 ) & ( ( not b is having_a_unity or not len F = 0 ) & ex f being sequence of D st
( f . 0 = F . 0 & ( for n being Nat st n + 1 < len F holds
f . (n + 1) = b . ((f . n),(F . (n + 1))) ) & d1 = f . ((len F) - 1) ) & ex f being sequence of D st
( f . 0 = F . 0 & ( for n being Nat st n + 1 < len F holds
f . (n + 1) = b . ((f . n),(F . (n + 1))) ) & d2 = f . ((len F) - 1) ) implies d1 = d2 ) )
thus
( b is having_a_unity & len F = 0 & d1 = the_unity_wrt b & d2 = the_unity_wrt b implies d1 = d2 )
; ( ( not b is having_a_unity or not len F = 0 ) & ex f being sequence of D st
( f . 0 = F . 0 & ( for n being Nat st n + 1 < len F holds
f . (n + 1) = b . ((f . n),(F . (n + 1))) ) & d1 = f . ((len F) - 1) ) & ex f being sequence of D st
( f . 0 = F . 0 & ( for n being Nat st n + 1 < len F holds
f . (n + 1) = b . ((f . n),(F . (n + 1))) ) & d2 = f . ((len F) - 1) ) implies d1 = d2 )
A26:
((len F) - 1) + 1 = len F
;
assume
( not b is having_a_unity or len F <> 0 )
; ( for f being sequence of D holds
( not f . 0 = F . 0 or ex n being Nat st
( n + 1 < len F & not f . (n + 1) = b . ((f . n),(F . (n + 1))) ) or not d1 = f . ((len F) - 1) ) or for f being sequence of D holds
( not f . 0 = F . 0 or ex n being Nat st
( n + 1 < len F & not f . (n + 1) = b . ((f . n),(F . (n + 1))) ) or not d2 = f . ((len F) - 1) ) or d1 = d2 )
then
0 < len F
by A2;
then A27:
(len F) - 1 is Element of NAT
by NAT_1:20;
given f1 being sequence of D such that A28:
f1 . 0 = F . 0
and
A29:
for n being Nat st n + 1 < len F holds
f1 . (n + 1) = b . ((f1 . n),(F . (n + 1)))
and
A30:
d1 = f1 . ((len F) - 1)
; ( for f being sequence of D holds
( not f . 0 = F . 0 or ex n being Nat st
( n + 1 < len F & not f . (n + 1) = b . ((f . n),(F . (n + 1))) ) or not d2 = f . ((len F) - 1) ) or d1 = d2 )
given f2 being sequence of D such that A31:
f2 . 0 = F . 0
and
A32:
for n being Nat st n + 1 < len F holds
f2 . (n + 1) = b . ((f2 . n),(F . (n + 1)))
and
A33:
d2 = f2 . ((len F) - 1)
; d1 = d2
defpred S1[ Nat] means ( $1 + 1 <= len F implies f1 . $1 = f2 . $1 );
A34:
for n being Nat st S1[n] holds
S1[n + 1]
A37:
S1[ 0 ]
by A28, A31;
for n being Nat holds S1[n]
from NAT_1:sch 2(A37, A34);
hence
d1 = d2
by A30, A33, A26, A27; verum