let R be Ring; for a, b being Data-Location of R
for s being State of (SCM R) holds
( (Exec ((SubFrom (a,b)),s)) . (IC ) = (IC s) + 1 & (Exec ((SubFrom (a,b)),s)) . a = (s . a) - (s . b) & ( for c being Data-Location of R st c <> a holds
(Exec ((SubFrom (a,b)),s)) . c = s . c ) )
let a, b be Data-Location of R; for s being State of (SCM R) holds
( (Exec ((SubFrom (a,b)),s)) . (IC ) = (IC s) + 1 & (Exec ((SubFrom (a,b)),s)) . a = (s . a) - (s . b) & ( for c being Data-Location of R st c <> a holds
(Exec ((SubFrom (a,b)),s)) . c = s . c ) )
let s be State of (SCM R); ( (Exec ((SubFrom (a,b)),s)) . (IC ) = (IC s) + 1 & (Exec ((SubFrom (a,b)),s)) . a = (s . a) - (s . b) & ( for c being Data-Location of R st c <> a holds
(Exec ((SubFrom (a,b)),s)) . c = s . c ) )
A1:
a is Element of Data-Locations
by Th1;
A2:
the_Values_of (SCM R) = (SCM-VAL R) * SCM-OK
by Lm1;
reconsider S = s as SCM-State of R by A2, CARD_3:107;
reconsider I = SubFrom (a,b) as Element of SCM-Instr R by Def1;
set S1 = SCM-Chg (S,(I address_1),((S . (I address_1)) - (S . (I address_2))));
reconsider i = 3 as Element of Segm 8 by NAT_1:44;
A3:
IC s = IC S
by Def1;
A4:
b is Element of Data-Locations
by Th1;
A5: Exec ((SubFrom (a,b)),s) =
SCM-Exec-Res (I,S)
by Th10
.=
SCM-Chg ((SCM-Chg (S,(I address_1),((S . (I address_1)) - (S . (I address_2))))),((IC S) + 1))
by A1, A4, AMI_3:27, SCMRING1:def 14
;
A6:
I = [i,{},<*a,b*>]
;
then A7:
I address_1 = a
by A1, A4, AMI_3:27, SCMRINGI:1;
A8:
I address_2 = b
by A6, A1, A4, AMI_3:27, SCMRINGI:1;
thus (Exec ((SubFrom (a,b)),s)) . (IC ) =
(Exec ((SubFrom (a,b)),s)) . NAT
by Def1
.=
(IC s) + 1
by A3, A5, SCMRING1:7
; ( (Exec ((SubFrom (a,b)),s)) . a = (s . a) - (s . b) & ( for c being Data-Location of R st c <> a holds
(Exec ((SubFrom (a,b)),s)) . c = s . c ) )
thus (Exec ((SubFrom (a,b)),s)) . a =
(SCM-Chg (S,(I address_1),((S . (I address_1)) - (S . (I address_2))))) . a
by A1, A5, AMI_3:27, SCMRING1:8
.=
(s . a) - (s . b)
by A7, A8, SCMRING1:11
; for c being Data-Location of R st c <> a holds
(Exec ((SubFrom (a,b)),s)) . c = s . c
let c be Data-Location of R; ( c <> a implies (Exec ((SubFrom (a,b)),s)) . c = s . c )
assume A9:
c <> a
; (Exec ((SubFrom (a,b)),s)) . c = s . c
A10:
c is Element of Data-Locations
by Th1;
hence (Exec ((SubFrom (a,b)),s)) . c =
(SCM-Chg (S,(I address_1),((S . (I address_1)) - (S . (I address_2))))) . c
by A5, AMI_3:27, SCMRING1:8
.=
s . c
by A7, A9, A10, AMI_3:27, SCMRING1:12
;
verum