let a, b be Data-Location; for s being State of SCM holds
( (Exec ((MultBy (a,b)),s)) . (IC ) = (IC s) + 1 & (Exec ((MultBy (a,b)),s)) . a = (s . a) * (s . b) & ( for c being Data-Location st c <> a holds
(Exec ((MultBy (a,b)),s)) . c = s . c ) )
let s be State of SCM; ( (Exec ((MultBy (a,b)),s)) . (IC ) = (IC s) + 1 & (Exec ((MultBy (a,b)),s)) . a = (s . a) * (s . b) & ( for c being Data-Location st c <> a holds
(Exec ((MultBy (a,b)),s)) . c = s . c ) )
reconsider S = s as SCM-State by CARD_3:107;
reconsider mk = a, ml = b as Element of SCM-Data-Loc by AMI_2:def 16;
reconsider I = MultBy (a,b) as Element of SCM-Instr ;
set S1 = SCM-Chg (S,(I address_1),((S . (I address_1)) * (S . (I address_2))));
reconsider i = 4 as Element of Segm 9 by NAT_1:44;
A1:
I = [i,{},<*mk,ml*>]
;
then A2:
I address_1 = mk
by SCM_INST:5;
A3:
I address_2 = ml
by A1, SCM_INST:5;
A4: Exec ((MultBy (a,b)),s) =
SCM-Exec-Res (I,S)
by AMI_2:def 15
.=
SCM-Chg ((SCM-Chg (S,(I address_1),((S . (I address_1)) * (S . (I address_2))))),((IC S) + 1))
by A1, AMI_2:def 14
;
hence
(Exec ((MultBy (a,b)),s)) . (IC ) = (IC s) + 1
by Th1, AMI_2:11; ( (Exec ((MultBy (a,b)),s)) . a = (s . a) * (s . b) & ( for c being Data-Location st c <> a holds
(Exec ((MultBy (a,b)),s)) . c = s . c ) )
thus (Exec ((MultBy (a,b)),s)) . a =
(SCM-Chg (S,(I address_1),((S . (I address_1)) * (S . (I address_2))))) . mk
by A4, AMI_2:12
.=
(s . a) * (s . b)
by A2, A3, AMI_2:15
; for c being Data-Location st c <> a holds
(Exec ((MultBy (a,b)),s)) . c = s . c
let c be Data-Location; ( c <> a implies (Exec ((MultBy (a,b)),s)) . c = s . c )
reconsider mn = c as Element of SCM-Data-Loc by AMI_2:def 16;
assume A5:
c <> a
; (Exec ((MultBy (a,b)),s)) . c = s . c
thus (Exec ((MultBy (a,b)),s)) . c =
(SCM-Chg (S,(I address_1),((S . (I address_1)) * (S . (I address_2))))) . mn
by A4, AMI_2:12
.=
s . c
by A2, A5, AMI_2:16
; verum