let IAlph, OAlph be non empty set ; for s being Element of IAlph
for w being FinSequence of IAlph
for tfsm being non empty Mealy-FSM over IAlph,OAlph
for qa, qa9 being State of tfsm st qa9 = the Tran of tfsm . [qa,s] holds
for i being Nat st i in Seg ((len w) + 1) holds
((qa,(<*s*> ^ w)) -admissible) . (i + 1) = ((qa9,w) -admissible) . i
let s be Element of IAlph; for w being FinSequence of IAlph
for tfsm being non empty Mealy-FSM over IAlph,OAlph
for qa, qa9 being State of tfsm st qa9 = the Tran of tfsm . [qa,s] holds
for i being Nat st i in Seg ((len w) + 1) holds
((qa,(<*s*> ^ w)) -admissible) . (i + 1) = ((qa9,w) -admissible) . i
let w be FinSequence of IAlph; for tfsm being non empty Mealy-FSM over IAlph,OAlph
for qa, qa9 being State of tfsm st qa9 = the Tran of tfsm . [qa,s] holds
for i being Nat st i in Seg ((len w) + 1) holds
((qa,(<*s*> ^ w)) -admissible) . (i + 1) = ((qa9,w) -admissible) . i
let tfsm be non empty Mealy-FSM over IAlph,OAlph; for qa, qa9 being State of tfsm st qa9 = the Tran of tfsm . [qa,s] holds
for i being Nat st i in Seg ((len w) + 1) holds
((qa,(<*s*> ^ w)) -admissible) . (i + 1) = ((qa9,w) -admissible) . i
let qa, qa9 be State of tfsm; ( qa9 = the Tran of tfsm . [qa,s] implies for i being Nat st i in Seg ((len w) + 1) holds
((qa,(<*s*> ^ w)) -admissible) . (i + 1) = ((qa9,w) -admissible) . i )
set sw = <*s*> ^ w;
A1: len (<*s*> ^ w) =
(len <*s*>) + (len w)
by FINSEQ_1:22
.=
(len w) + 1
by FINSEQ_1:40
;
defpred S1[ Nat] means ( $1 in Seg ((len w) + 1) implies ((qa,(<*s*> ^ w)) -admissible) . ($1 + 1) = ((qa9,w) -admissible) . $1 );
A2:
(<*s*> ^ w) . 1 = s
by FINSEQ_1:41;
assume A3:
qa9 = the Tran of tfsm . [qa,s]
; for i being Nat st i in Seg ((len w) + 1) holds
((qa,(<*s*> ^ w)) -admissible) . (i + 1) = ((qa9,w) -admissible) . i
A4:
for j being Nat st S1[j] holds
S1[j + 1]
proof
let j be
Nat;
( S1[j] implies S1[j + 1] )
assume A5:
(
j in Seg ((len w) + 1) implies
((qa,(<*s*> ^ w)) -admissible) . (j + 1) = ((qa9,w) -admissible) . j )
;
S1[j + 1]
assume A6:
j + 1
in Seg ((len w) + 1)
;
((qa,(<*s*> ^ w)) -admissible) . ((j + 1) + 1) = ((qa9,w) -admissible) . (j + 1)
per cases
( j = 0 or j <> 0 )
;
suppose A7:
j = 0
;
((qa,(<*s*> ^ w)) -admissible) . ((j + 1) + 1) = ((qa9,w) -admissible) . (j + 1)set aadm = (
qa,
(<*s*> ^ w))
-admissible ;
1
<= len (<*s*> ^ w)
by A1, A6, A7, FINSEQ_1:1;
then A8:
ex
swi1 being
Element of
IAlph ex
a1,
a11 being
Element of
tfsm st
(
swi1 = (<*s*> ^ w) . 1 &
a1 = ((qa,(<*s*> ^ w)) -admissible) . 1 &
a11 = ((qa,(<*s*> ^ w)) -admissible) . (1 + 1) &
swi1 -succ_of a1 = a11 )
by Def2;
((qa9,w) -admissible) . 1
= qa9
by Def2;
hence
((qa,(<*s*> ^ w)) -admissible) . ((j + 1) + 1) = ((qa9,w) -admissible) . (j + 1)
by A3, A2, A7, A8, Def2;
verum end; suppose A9:
j <> 0
;
((qa,(<*s*> ^ w)) -admissible) . ((j + 1) + 1) = ((qa9,w) -admissible) . (j + 1)set aadm = (
qa,
(<*s*> ^ w))
-admissible ;
set aadm9 = (
qa9,
w)
-admissible ;
A10:
j in Seg (len w)
by A6, A9, FINSEQ_1:61;
then A11:
j <= len w
by FINSEQ_1:1;
then
( 1
<= j + 1 &
j + 1
<= len (<*s*> ^ w) )
by A1, NAT_1:12, XREAL_1:7;
then A12:
ex
swj1 being
Element of
IAlph ex
aj1,
aj11 being
Element of
tfsm st
(
swj1 = (<*s*> ^ w) . (j + 1) &
aj1 = ((qa,(<*s*> ^ w)) -admissible) . (j + 1) &
aj11 = ((qa,(<*s*> ^ w)) -admissible) . ((j + 1) + 1) &
swj1 -succ_of aj1 = aj11 )
by Def2;
1
<= j
by A10, FINSEQ_1:1;
then A13:
ex
wj being
Element of
IAlph ex
aj9,
aj19 being
Element of
tfsm st
(
wj = w . j &
aj9 = ((qa9,w) -admissible) . j &
aj19 = ((qa9,w) -admissible) . (j + 1) &
wj -succ_of aj9 = aj19 )
by A11, Def2;
j in dom w
by A10, FINSEQ_1:def 3;
hence
((qa,(<*s*> ^ w)) -admissible) . ((j + 1) + 1) = ((qa9,w) -admissible) . (j + 1)
by A5, A6, A9, A12, A13, FINSEQ_1:61, FINSEQ_3:103;
verum end; end;
end;
A14:
S1[ 0 ]
by FINSEQ_1:1;
thus
for i being Nat holds S1[i]
from NAT_1:sch 2(A14, A4); verum