let a, b be Int-Location ; for s being State of SCM+FSA holds
( (Exec ((MultBy (a,b)),s)) . (IC ) = succ (IC s) & (Exec ((MultBy (a,b)),s)) . a = (s . a) * (s . b) & ( for c being Int-Location st c <> a holds
(Exec ((MultBy (a,b)),s)) . c = s . c ) & ( for f being FinSeq-Location holds (Exec ((MultBy (a,b)),s)) . f = s . f ) )
let s be State of SCM+FSA; ( (Exec ((MultBy (a,b)),s)) . (IC ) = succ (IC s) & (Exec ((MultBy (a,b)),s)) . a = (s . a) * (s . b) & ( for c being Int-Location st c <> a holds
(Exec ((MultBy (a,b)),s)) . c = s . c ) & ( for f being FinSeq-Location holds (Exec ((MultBy (a,b)),s)) . f = s . f ) )
consider A, B being Data-Location such that
A1:
a = A
and
A2:
b = B
and
A3:
MultBy (a,b) = MultBy (A,B)
by Def14;
reconsider S = s | SCM-Memory as State of SCM by Th73;
A4:
Exec ((MultBy (a,b)),s) = s +* (Exec ((MultBy (A,B)),S))
by A3, Th75;
hence (Exec ((MultBy (a,b)),s)) . (IC ) =
(Exec ((MultBy (A,B)),S)) . (IC )
by Th78
.=
succ (IC S)
by AMI_3:5
.=
succ (IC s)
by Th88
;
( (Exec ((MultBy (a,b)),s)) . a = (s . a) * (s . b) & ( for c being Int-Location st c <> a holds
(Exec ((MultBy (a,b)),s)) . c = s . c ) & ( for f being FinSeq-Location holds (Exec ((MultBy (a,b)),s)) . f = s . f ) )
thus (Exec ((MultBy (a,b)),s)) . a =
(Exec ((MultBy (A,B)),S)) . A
by A1, A4, Th79
.=
(S . A) * (S . B)
by AMI_3:5
.=
(S . A) * (s . b)
by A2, Th80
.=
(s . a) * (s . b)
by A1, Th80
; ( ( for c being Int-Location st c <> a holds
(Exec ((MultBy (a,b)),s)) . c = s . c ) & ( for f being FinSeq-Location holds (Exec ((MultBy (a,b)),s)) . f = s . f ) )
hereby for f being FinSeq-Location holds (Exec ((MultBy (a,b)),s)) . f = s . f
let c be
Int-Location ;
( c <> a implies (Exec ((MultBy (a,b)),s)) . c = s . c )assume A5:
c <> a
;
(Exec ((MultBy (a,b)),s)) . c = s . creconsider C =
c as
Data-Location by Th25;
thus (Exec ((MultBy (a,b)),s)) . c =
(Exec ((MultBy (A,B)),S)) . C
by A4, Th79
.=
S . C
by A1, A5, AMI_3:5
.=
s . c
by Th80
;
verum
end;
let f be FinSeq-Location ; (Exec ((MultBy (a,b)),s)) . f = s . f
A8:
not f in dom (Exec ((MultBy (A,B)),S))
by Th68;
thus (Exec ((MultBy (a,b)),s)) . f =
(s +* (Exec ((MultBy (A,B)),S))) . f
by A4
.=
s . f
by A8, FUNCT_4:11
; verum