let N be non empty with_non-empty_elements set ; for S being non empty stored-program IC-Ins-separated definite realistic halting AMI-Struct of N
for l being Element of NAT
for P being NAT -defined the Instructions of b1 -valued Function st l .--> (halt S) c= P holds
for p being b2 -started PartState of S
for s being State of S st p +* P c= s holds
for i being Element of NAT holds Comput ((ProgramPart s),s,i) = s
let S be non empty stored-program IC-Ins-separated definite realistic halting AMI-Struct of N; for l being Element of NAT
for P being NAT -defined the Instructions of S -valued Function st l .--> (halt S) c= P holds
for p being b1 -started PartState of S
for s being State of S st p +* P c= s holds
for i being Element of NAT holds Comput ((ProgramPart s),s,i) = s
let l be Element of NAT ; for P being NAT -defined the Instructions of S -valued Function st l .--> (halt S) c= P holds
for p being l -started PartState of S
for s being State of S st p +* P c= s holds
for i being Element of NAT holds Comput ((ProgramPart s),s,i) = s
let P be NAT -defined the Instructions of S -valued Function; ( l .--> (halt S) c= P implies for p being l -started PartState of S
for s being State of S st p +* P c= s holds
for i being Element of NAT holds Comput ((ProgramPart s),s,i) = s )
assume Z1:
l .--> (halt S) c= P
; for p being l -started PartState of S
for s being State of S st p +* P c= s holds
for i being Element of NAT holds Comput ((ProgramPart s),s,i) = s
let p be l -started PartState of S; for s being State of S st p +* P c= s holds
for i being Element of NAT holds Comput ((ProgramPart s),s,i) = s
let s be State of S; ( p +* P c= s implies for i being Element of NAT holds Comput ((ProgramPart s),s,i) = s )
assume A3:
p +* P c= s
; for i being Element of NAT holds Comput ((ProgramPart s),s,i) = s
AA:
Start-At (l,S) c= p
by COMPOS_1:151;
defpred S1[ Element of NAT ] means Comput ((ProgramPart s),s,$1) = s;
dom (Start-At (l,S)) misses dom P
by COMPOS_1:130;
then
Start-At (l,S) c= p +* P
by AA, FUNCT_4:125;
then B3:
Start-At (l,S) c= s
by A3, XBOOLE_1:1;
A4:
now let i be
Element of
NAT ;
( S1[i] implies S1[i + 1] )assume A5:
S1[
i]
;
S1[i + 1]
P c= p +* P
by FUNCT_4:26;
then
P c= s
by A3, XBOOLE_1:1;
then B5:
l .--> (halt S) c= s
by Z1, XBOOLE_1:1;
Comput (
(ProgramPart s),
s,
(i + 1)) =
Following (
(ProgramPart s),
s)
by A5, Th14
.=
Exec (
(halt S),
s)
by B3, B5, COMPOS_1:6, RELAT_1:210
.=
s
by Def8
;
hence
S1[
i + 1]
;
verum end;
A6:
S1[ 0 ]
by Th3;
thus
for i being Element of NAT holds S1[i]
from NAT_1:sch 1(A6, A4); verum