thus
SCM R is halting
:: thesis: ( SCM R is definite & SCM R is steady-programmed & SCM R is realistic )
thus
SCM R is definite
:: thesis: ( SCM R is steady-programmed & SCM R is realistic )
thus
SCM R is steady-programmed
:: thesis: SCM R is realisticproof
let s be
State of
(SCM R);
:: according to AMI_1:def 13 :: thesis: for b1 being Element of the Instructions of (SCM R)
for b2 being Instruction-Location of SCM R holds (Exec b1,s) . b2 = s . b2let j be
Instruction of
(SCM R);
:: thesis: for b1 being Instruction-Location of SCM R holds (Exec j,s) . b1 = s . b1let l be
Instruction-Location of
SCM R;
:: thesis: (Exec j,s) . l = s . l
reconsider c =
j as
Element of
SCM-Instr R by Def1;
(
c in (({[0 ,{} ]} \/ { [I,<*a,b*>] where I is Element of Segm 8, a, b is Element of SCM-Data-Loc : I in {1,2,3,4} } ) \/ { [6,<*i*>] where i is Element of NAT : verum } ) \/ { [7,<*i,a*>] where i is Element of NAT , a is Element of SCM-Data-Loc : verum } or
c in { [5,<*a,r*>] where a is Element of SCM-Data-Loc , r is Element of R : verum } )
by XBOOLE_0:def 3;
then
(
c in ({[0 ,{} ]} \/ { [I,<*a,b*>] where I is Element of Segm 8, a, b is Element of SCM-Data-Loc : I in {1,2,3,4} } ) \/ { [6,<*i*>] where i is Element of NAT : verum } or
c in { [7,<*i,a*>] where i is Element of NAT , a is Element of SCM-Data-Loc : verum } or
c in { [5,<*a,r*>] where a is Element of SCM-Data-Loc , r is Element of R : verum } )
by XBOOLE_0:def 3;
then A1:
(
c in {[0 ,{} ]} \/ { [I,<*a,b*>] where I is Element of Segm 8, a, b is Element of SCM-Data-Loc : I in {1,2,3,4} } or
c in { [6,<*i*>] where i is Element of NAT : verum } or
c in { [7,<*i,a*>] where i is Element of NAT , a is Element of SCM-Data-Loc : verum } or
c in { [5,<*a,r*>] where a is Element of SCM-Data-Loc , r is Element of R : verum } )
by XBOOLE_0:def 3;
reconsider S =
s as
SCM-State of
R by Def1;
reconsider l' =
l as
Element of
NAT by AMI_1:def 4;
A2:
Exec j,
s =
((SCM-Exec R) . c) . S
by Def1
.=
SCM-Exec-Res c,
S
by SCMRING1:def 15
;
now per cases
( c in {[0 ,{} ]} or c in { [6,<*i*>] where i is Element of NAT : verum } or c in { [7,<*i,a*>] where i is Element of NAT , a is Element of SCM-Data-Loc : verum } or c in { [I,<*a,b*>] where I is Element of Segm 8, a, b is Element of SCM-Data-Loc : I in {1,2,3,4} } or c in { [5,<*a,r*>] where a is Element of SCM-Data-Loc , r is Element of R : verum } )
by A1, XBOOLE_0:def 3;
case
c in {[0 ,{} ]}
;
:: thesis: (SCM-Exec-Res c,S) . l' = S . l'then
c = [0 ,{} ]
by TARSKI:def 1;
then
c `2 = {}
by MCART_1:7;
then
( ( for
mk,
ml being
Element of
SCM-Data-Loc holds not
c = [1,<*mk,ml*>] ) & ( for
mk,
ml being
Element of
SCM-Data-Loc holds not
c = [2,<*mk,ml*>] ) & ( for
mk,
ml being
Element of
SCM-Data-Loc holds not
c = [3,<*mk,ml*>] ) & ( for
mk,
ml being
Element of
SCM-Data-Loc holds not
c = [4,<*mk,ml*>] ) & ( for
mk being
Element of
NAT holds not
c = [6,<*mk*>] ) & ( for
mk being
Element of
NAT for
ml being
Element of
SCM-Data-Loc holds not
c = [7,<*mk,ml*>] ) & ( for
mk being
Element of
SCM-Data-Loc for
r being
Element of
R holds not
c = [5,<*mk,r*>] ) )
by MCART_1:7;
hence
(SCM-Exec-Res c,S) . l' = S . l'
by SCMRING1:def 14;
:: thesis: verum end; case
c in { [5,<*a,r*>] where a is Element of SCM-Data-Loc , r is Element of R : verum }
;
:: thesis: (SCM-Exec-Res c,S) . l' = S . l'then consider a being
Element of
SCM-Data-Loc ,
r being
Element of
R such that A6:
c = [5,<*a,r*>]
and
verum
;
thus (SCM-Exec-Res c,S) . l' =
(SCM-Chg (SCM-Chg S,(c const_address ),(c const_value )),(succ (IC S))) . l'
by A6, SCMRING1:def 14
.=
(SCM-Chg S,(c const_address ),(c const_value )) . l'
by SCMRING1:12
.=
S . l'
by SCMRING1:16
;
:: thesis: verum end; end; end;
hence
s . l = (Exec j,s) . l
by A2;
:: thesis: verum
end;
A7:
the Instruction-Counter of (SCM R) = NAT
by Def1;
assume
the Instruction-Counter of (SCM R) in NAT
; :: according to AMI_1:def 21 :: thesis: contradiction
hence
contradiction
by A7; :: thesis: verum