let R be good Ring; for a, c being Data-Location of R
for i1 being Element of NAT
for s being State of (SCM R) holds
( ( s . a = 0. R implies (Exec ((a =0_goto i1),s)) . (IC ) = i1 ) & ( s . a <> 0. R implies (Exec ((a =0_goto i1),s)) . (IC ) = succ (IC s) ) & (Exec ((a =0_goto i1),s)) . c = s . c )
let a, c be Data-Location of R; for i1 being Element of NAT
for s being State of (SCM R) holds
( ( s . a = 0. R implies (Exec ((a =0_goto i1),s)) . (IC ) = i1 ) & ( s . a <> 0. R implies (Exec ((a =0_goto i1),s)) . (IC ) = succ (IC s) ) & (Exec ((a =0_goto i1),s)) . c = s . c )
let i1 be Element of NAT ; for s being State of (SCM R) holds
( ( s . a = 0. R implies (Exec ((a =0_goto i1),s)) . (IC ) = i1 ) & ( s . a <> 0. R implies (Exec ((a =0_goto i1),s)) . (IC ) = succ (IC s) ) & (Exec ((a =0_goto i1),s)) . c = s . c )
let s be State of (SCM R); ( ( s . a = 0. R implies (Exec ((a =0_goto i1),s)) . (IC ) = i1 ) & ( s . a <> 0. R implies (Exec ((a =0_goto i1),s)) . (IC ) = succ (IC s) ) & (Exec ((a =0_goto i1),s)) . c = s . c )
A1:
the Object-Kind of (SCM R) = SCM-OK R
by Def1;
reconsider S = s as SCM-State of R by A1, CARD_3:107;
reconsider I = a =0_goto i1 as Element of SCM-Instr R by Def1;
reconsider i = 7 as Element of Segm 8 by NAT_1:44;
A2:
( a is Element of Data-Locations & i1 is Element of NAT )
by Th1;
A3: Exec ((a =0_goto i1),s) =
SCM-Exec-Res (I,S)
by Th12
.=
SCM-Chg (S,(IFEQ ((S . (I cond_address)),(0. R),(I cjump_address),(succ (IC S)))))
by A2, AMI_3:27, SCMRING1:def 14
;
A4:
I = [i,<*i1*>,<*a*>]
;
thus
( s . a = 0. R implies (Exec ((a =0_goto i1),s)) . (IC ) = i1 )
( ( s . a <> 0. R implies (Exec ((a =0_goto i1),s)) . (IC ) = succ (IC s) ) & (Exec ((a =0_goto i1),s)) . c = s . c )proof
assume
s . a = 0. R
;
(Exec ((a =0_goto i1),s)) . (IC ) = i1
then A5:
S . (I cond_address) = 0. R
by A4, A2, AMI_3:27, SCMRING1:15;
thus (Exec ((a =0_goto i1),s)) . (IC ) =
(Exec ((a =0_goto i1),s)) . NAT
by Def1
.=
IFEQ (
(S . (I cond_address)),
(0. R),
(I cjump_address),
(succ (IC S)))
by A3, SCMRING1:7
.=
I cjump_address
by A5, FUNCOP_1:def 8
.=
i1
by A4, A2, AMI_3:27, SCMRING1:15
;
verum
end;
A6:
IC s = IC S
by Def1;
thus
( s . a <> 0. R implies (Exec ((a =0_goto i1),s)) . (IC ) = succ (IC s) )
(Exec ((a =0_goto i1),s)) . c = s . cproof
assume
s . a <> 0. R
;
(Exec ((a =0_goto i1),s)) . (IC ) = succ (IC s)
then A7:
S . (I cond_address) <> 0. R
by A4, A2, AMI_3:27, SCMRING1:15;
thus (Exec ((a =0_goto i1),s)) . (IC ) =
(Exec ((a =0_goto i1),s)) . NAT
by Def1
.=
IFEQ (
(S . (I cond_address)),
(0. R),
(I cjump_address),
(succ (IC S)))
by A3, SCMRING1:7
.=
succ (IC s)
by A6, A7, FUNCOP_1:def 8
;
verum
end;
c is Element of Data-Locations
by Th1;
hence
(Exec ((a =0_goto i1),s)) . c = s . c
by A3, AMI_3:27, SCMRING1:8; verum