let k be Element of NAT ; for s being State of holds Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k))) = (Following s) +* (Start-At ((IC (Following s)) + k))
let s be State of ; Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k))) = (Following s) +* (Start-At ((IC (Following s)) + k))
set INS = CurInstr s;
reconsider m = IC s as Element of NAT by ORDINAL1:def 13;
A1: Next (IC (s +* (Start-At ((IC s) + k)))) =
Next (insloc (m + k))
by AMI_1:111
.=
insloc ((m + k) + 1)
by NAT_1:39
.=
insloc ((m + 1) + k)
.=
(insloc (m + 1)) + k
.=
(Next (IC s)) + k
by NAT_1:39
.=
IC ((Exec (CurInstr s),s) +* (Start-At ((Next (IC s)) + k)))
by AMI_1:111
;
A2:
( not InsCode (CurInstr s) <= 9 + 1 or InsCode (CurInstr s) <= 8 + 1 or InsCode (CurInstr s) = 10 )
by NAT_1:8;
A3:
( not InsCode (CurInstr s) <= 10 + 1 or InsCode (CurInstr s) <= 10 or InsCode (CurInstr s) = 11 )
by NAT_1:8;
A4:
InsCode (CurInstr s) <= 11 + 1
by SCMFSA_2:35;
per cases
( InsCode (CurInstr s) = 0 or InsCode (CurInstr s) = 1 or InsCode (CurInstr s) = 2 or InsCode (CurInstr s) = 3 or InsCode (CurInstr s) = 4 or InsCode (CurInstr s) = 5 or InsCode (CurInstr s) = 6 or InsCode (CurInstr s) = 7 or InsCode (CurInstr s) = 8 or InsCode (CurInstr s) = 9 or InsCode (CurInstr s) = 10 or InsCode (CurInstr s) = 11 or InsCode (CurInstr s) = 12 )
by A4, A3, A2, NAT_1:8, NAT_1:33;
suppose
InsCode (CurInstr s) = 1
;
Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k))) = (Following s) +* (Start-At ((IC (Following s)) + k))then consider da,
db being
Int-Location such that A8:
CurInstr s = da := db
by SCMFSA_2:54;
A9:
IncAddr (CurInstr s),
k = CurInstr s
by A8, Th9;
A10:
now let d be
FinSeq-Location ;
(Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k)))) . d = ((Exec (CurInstr s),s) +* (Start-At ((IC (Exec (CurInstr s),s)) + k))) . dthus (Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k)))) . d =
(s +* (Start-At ((IC s) + k))) . d
by A8, A9, SCMFSA_2:89
.=
s . d
by SCMFSA_3:12
.=
(Exec (CurInstr s),s) . d
by A8, SCMFSA_2:89
.=
((Exec (CurInstr s),s) +* (Start-At ((IC (Exec (CurInstr s),s)) + k))) . d
by SCMFSA_3:12
;
verum end;
(
IC (Exec (CurInstr s),s) = Next (IC s) &
IC (Exec (CurInstr s),(s +* (Start-At ((IC s) + k)))) = IC ((Exec (CurInstr s),s) +* (Start-At ((Next (IC s)) + k))) )
by A1, A8, SCMFSA_2:89;
hence
Exec (IncAddr (CurInstr s),k),
(s +* (Start-At ((IC s) + k))) = (Following s) +* (Start-At ((IC (Following s)) + k))
by A5, A9, A10, A11, SCMFSA_2:86;
verum end; suppose
InsCode (CurInstr s) = 2
;
Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k))) = (Following s) +* (Start-At ((IC (Following s)) + k))then consider da,
db being
Int-Location such that A14:
CurInstr s = AddTo da,
db
by SCMFSA_2:55;
A15:
IncAddr (CurInstr s),
k = CurInstr s
by A14, Th10;
A16:
now let d be
FinSeq-Location ;
(Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k)))) . d = ((Exec (CurInstr s),s) +* (Start-At ((IC (Exec (CurInstr s),s)) + k))) . dthus (Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k)))) . d =
(s +* (Start-At ((IC s) + k))) . d
by A14, A15, SCMFSA_2:90
.=
s . d
by SCMFSA_3:12
.=
(Exec (CurInstr s),s) . d
by A14, SCMFSA_2:90
.=
((Exec (CurInstr s),s) +* (Start-At ((IC (Exec (CurInstr s),s)) + k))) . d
by SCMFSA_3:12
;
verum end;
(
IC (Exec (CurInstr s),s) = Next (IC s) &
IC (Exec (CurInstr s),(s +* (Start-At ((IC s) + k)))) = IC ((Exec (CurInstr s),s) +* (Start-At ((Next (IC s)) + k))) )
by A1, A14, SCMFSA_2:90;
hence
Exec (IncAddr (CurInstr s),k),
(s +* (Start-At ((IC s) + k))) = (Following s) +* (Start-At ((IC (Following s)) + k))
by A5, A15, A16, A17, SCMFSA_2:86;
verum end; suppose
InsCode (CurInstr s) = 3
;
Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k))) = (Following s) +* (Start-At ((IC (Following s)) + k))then consider da,
db being
Int-Location such that A20:
CurInstr s = SubFrom da,
db
by SCMFSA_2:56;
A21:
IncAddr (CurInstr s),
k = CurInstr s
by A20, Th11;
A22:
now let d be
FinSeq-Location ;
(Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k)))) . d = ((Exec (CurInstr s),s) +* (Start-At ((IC (Exec (CurInstr s),s)) + k))) . dthus (Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k)))) . d =
(s +* (Start-At ((IC s) + k))) . d
by A20, A21, SCMFSA_2:91
.=
s . d
by SCMFSA_3:12
.=
(Exec (CurInstr s),s) . d
by A20, SCMFSA_2:91
.=
((Exec (CurInstr s),s) +* (Start-At ((IC (Exec (CurInstr s),s)) + k))) . d
by SCMFSA_3:12
;
verum end;
(
IC (Exec (CurInstr s),s) = Next (IC s) &
IC (Exec (CurInstr s),(s +* (Start-At ((IC s) + k)))) = IC ((Exec (CurInstr s),s) +* (Start-At ((Next (IC s)) + k))) )
by A1, A20, SCMFSA_2:91;
hence
Exec (IncAddr (CurInstr s),k),
(s +* (Start-At ((IC s) + k))) = (Following s) +* (Start-At ((IC (Following s)) + k))
by A5, A21, A22, A23, SCMFSA_2:86;
verum end; suppose
InsCode (CurInstr s) = 4
;
Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k))) = (Following s) +* (Start-At ((IC (Following s)) + k))then consider da,
db being
Int-Location such that A26:
CurInstr s = MultBy da,
db
by SCMFSA_2:57;
A27:
IncAddr (CurInstr s),
k = CurInstr s
by A26, Th12;
A28:
now let d be
FinSeq-Location ;
(Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k)))) . d = ((Exec (CurInstr s),s) +* (Start-At ((IC (Exec (CurInstr s),s)) + k))) . dthus (Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k)))) . d =
(s +* (Start-At ((IC s) + k))) . d
by A26, A27, SCMFSA_2:92
.=
s . d
by SCMFSA_3:12
.=
(Exec (CurInstr s),s) . d
by A26, SCMFSA_2:92
.=
((Exec (CurInstr s),s) +* (Start-At ((IC (Exec (CurInstr s),s)) + k))) . d
by SCMFSA_3:12
;
verum end;
(
IC (Exec (CurInstr s),s) = Next (IC s) &
IC (Exec (CurInstr s),(s +* (Start-At ((IC s) + k)))) = IC ((Exec (CurInstr s),s) +* (Start-At ((Next (IC s)) + k))) )
by A1, A26, SCMFSA_2:92;
hence
Exec (IncAddr (CurInstr s),k),
(s +* (Start-At ((IC s) + k))) = (Following s) +* (Start-At ((IC (Following s)) + k))
by A5, A27, A28, A29, SCMFSA_2:86;
verum end; suppose
InsCode (CurInstr s) = 5
;
Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k))) = (Following s) +* (Start-At ((IC (Following s)) + k))then consider da,
db being
Int-Location such that A32:
CurInstr s = Divide da,
db
by SCMFSA_2:58;
A33:
IncAddr (CurInstr s),
k = CurInstr s
by A32, Th13;
A34:
now let d be
FinSeq-Location ;
(Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k)))) . d = ((Exec (CurInstr s),s) +* (Start-At ((IC (Exec (CurInstr s),s)) + k))) . dthus (Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k)))) . d =
(s +* (Start-At ((IC s) + k))) . d
by A32, A33, SCMFSA_2:93
.=
s . d
by SCMFSA_3:12
.=
(Exec (CurInstr s),s) . d
by A32, SCMFSA_2:93
.=
((Exec (CurInstr s),s) +* (Start-At ((IC (Exec (CurInstr s),s)) + k))) . d
by SCMFSA_3:12
;
verum end;
(
IC (Exec (CurInstr s),s) = Next (IC s) &
IC (Exec (CurInstr s),(s +* (Start-At ((IC s) + k)))) = IC ((Exec (CurInstr s),s) +* (Start-At ((Next (IC s)) + k))) )
by A1, A32, SCMFSA_2:93;
hence
Exec (IncAddr (CurInstr s),k),
(s +* (Start-At ((IC s) + k))) = (Following s) +* (Start-At ((IC (Following s)) + k))
by A5, A33, A34, A35, SCMFSA_2:86;
verum end; suppose
InsCode (CurInstr s) = 6
;
Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k))) = (Following s) +* (Start-At ((IC (Following s)) + k))then consider loc being
Instruction-Location of
SCM+FSA such that A43:
CurInstr s = goto loc
by SCMFSA_2:59;
A44:
IncAddr (CurInstr s),
k = goto (loc + k)
by A43, Th14;
A45:
now let d be
Int-Location ;
(Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k)))) . d = ((Exec (CurInstr s),s) +* (Start-At ((IC (Exec (CurInstr s),s)) + k))) . dthus (Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k)))) . d =
(s +* (Start-At ((IC s) + k))) . d
by A44, SCMFSA_2:95
.=
s . d
by SCMFSA_3:11
.=
(Exec (CurInstr s),s) . d
by A43, SCMFSA_2:95
.=
((Exec (CurInstr s),s) +* (Start-At ((IC (Exec (CurInstr s),s)) + k))) . d
by SCMFSA_3:11
;
verum end; A46:
IC (Exec (CurInstr s),s) = loc
by A43, SCMFSA_2:95;
A48:
now let d be
FinSeq-Location ;
(Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k)))) . d = ((Exec (CurInstr s),s) +* (Start-At ((IC (Exec (CurInstr s),s)) + k))) . dthus (Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k)))) . d =
(s +* (Start-At ((IC s) + k))) . d
by A44, SCMFSA_2:95
.=
s . d
by SCMFSA_3:12
.=
(Exec (CurInstr s),s) . d
by A43, SCMFSA_2:95
.=
((Exec (CurInstr s),s) +* (Start-At ((IC (Exec (CurInstr s),s)) + k))) . d
by SCMFSA_3:12
;
verum end; IC (Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k)))) =
loc + k
by A44, SCMFSA_2:95
.=
IC ((Exec (CurInstr s),s) +* (Start-At ((IC (Exec (CurInstr s),s)) + k)))
by A46, AMI_1:111
;
hence
Exec (IncAddr (CurInstr s),k),
(s +* (Start-At ((IC s) + k))) = (Following s) +* (Start-At ((IC (Following s)) + k))
by A45, A48, A47, SCMFSA_2:86;
verum end; suppose
InsCode (CurInstr s) = 7
;
Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k))) = (Following s) +* (Start-At ((IC (Following s)) + k))then consider loc being
Instruction-Location of
SCM+FSA ,
da being
Int-Location such that A49:
CurInstr s = da =0_goto loc
by SCMFSA_2:60;
A50:
IncAddr (CurInstr s),
k = da =0_goto (loc + k)
by A49, Th15;
now per cases
( s . da = 0 or s . da <> 0 )
;
suppose A51:
s . da = 0
;
Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k))) = (Exec (CurInstr s),s) +* (Start-At ((IC (Exec (CurInstr s),s)) + k))A52:
now let d be
Int-Location ;
(Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k)))) . d = ((Exec (CurInstr s),s) +* (Start-At ((IC (Exec (CurInstr s),s)) + k))) . dthus (Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k)))) . d =
(s +* (Start-At ((IC s) + k))) . d
by A50, SCMFSA_2:96
.=
s . d
by SCMFSA_3:11
.=
(Exec (CurInstr s),s) . d
by A49, SCMFSA_2:96
.=
((Exec (CurInstr s),s) +* (Start-At ((IC (Exec (CurInstr s),s)) + k))) . d
by SCMFSA_3:11
;
verum end; A53:
now let d be
FinSeq-Location ;
(Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k)))) . d = ((Exec (CurInstr s),s) +* (Start-At ((IC (Exec (CurInstr s),s)) + k))) . dthus (Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k)))) . d =
(s +* (Start-At ((IC s) + k))) . d
by A50, SCMFSA_2:96
.=
s . d
by SCMFSA_3:12
.=
(Exec (CurInstr s),s) . d
by A49, SCMFSA_2:96
.=
((Exec (CurInstr s),s) +* (Start-At ((IC (Exec (CurInstr s),s)) + k))) . d
by SCMFSA_3:12
;
verum end; A54:
IC (Exec (CurInstr s),s) = loc
by A49, A51, SCMFSA_2:96;
(s +* (Start-At ((IC s) + k))) . da = 0
by A51, SCMFSA_3:11;
then IC (Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k)))) =
loc + k
by A50, SCMFSA_2:96
.=
IC ((Exec (CurInstr s),s) +* (Start-At ((IC (Exec (CurInstr s),s)) + k)))
by A54, AMI_1:111
;
hence
Exec (IncAddr (CurInstr s),k),
(s +* (Start-At ((IC s) + k))) = (Exec (CurInstr s),s) +* (Start-At ((IC (Exec (CurInstr s),s)) + k))
by A53, A52, A55, SCMFSA_2:86;
verum end; suppose A56:
s . da <> 0
;
Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k))) = (Exec (CurInstr s),s) +* (Start-At ((IC (Exec (CurInstr s),s)) + k))A58:
now let d be
Int-Location ;
(Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k)))) . d = ((Exec (CurInstr s),s) +* (Start-At ((IC (Exec (CurInstr s),s)) + k))) . dthus (Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k)))) . d =
(s +* (Start-At ((IC s) + k))) . d
by A50, SCMFSA_2:96
.=
s . d
by SCMFSA_3:11
.=
(Exec (CurInstr s),s) . d
by A49, SCMFSA_2:96
.=
((Exec (CurInstr s),s) +* (Start-At ((IC (Exec (CurInstr s),s)) + k))) . d
by SCMFSA_3:11
;
verum end; A59:
now let d be
FinSeq-Location ;
(Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k)))) . d = ((Exec (CurInstr s),s) +* (Start-At ((IC (Exec (CurInstr s),s)) + k))) . dthus (Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k)))) . d =
(s +* (Start-At ((IC s) + k))) . d
by A50, SCMFSA_2:96
.=
s . d
by SCMFSA_3:12
.=
(Exec (CurInstr s),s) . d
by A49, SCMFSA_2:96
.=
((Exec (CurInstr s),s) +* (Start-At ((IC (Exec (CurInstr s),s)) + k))) . d
by SCMFSA_3:12
;
verum end;
(
(s +* (Start-At ((IC s) + k))) . da <> 0 &
IC (Exec (CurInstr s),s) = Next (IC s) )
by A49, A56, SCMFSA_2:96, SCMFSA_3:11;
then
IC (Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k)))) = IC ((Exec (CurInstr s),s) +* (Start-At ((IC (Exec (CurInstr s),s)) + k)))
by A1, A50, SCMFSA_2:96;
hence
Exec (IncAddr (CurInstr s),k),
(s +* (Start-At ((IC s) + k))) = (Exec (CurInstr s),s) +* (Start-At ((IC (Exec (CurInstr s),s)) + k))
by A59, A58, A57, SCMFSA_2:86;
verum end; end; end; hence
Exec (IncAddr (CurInstr s),k),
(s +* (Start-At ((IC s) + k))) = (Following s) +* (Start-At ((IC (Following s)) + k))
;
verum end; suppose
InsCode (CurInstr s) = 8
;
Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k))) = (Following s) +* (Start-At ((IC (Following s)) + k))then consider loc being
Instruction-Location of
SCM+FSA ,
da being
Int-Location such that A60:
CurInstr s = da >0_goto loc
by SCMFSA_2:61;
now per cases
( s . da > 0 or s . da <= 0 )
;
suppose A61:
s . da > 0
;
Exec (da >0_goto (loc + k)),(s +* (Start-At ((IC s) + k))) = (Exec (CurInstr s),s) +* (Start-At ((IC (Exec (CurInstr s),s)) + k))A64:
IC (Exec (CurInstr s),s) = loc
by A60, A61, SCMFSA_2:97;
(s +* (Start-At ((IC s) + k))) . da > 0
by A61, SCMFSA_3:11;
then IC (Exec (da >0_goto (loc + k)),(s +* (Start-At ((IC s) + k)))) =
loc + k
by SCMFSA_2:97
.=
IC ((Exec (CurInstr s),s) +* (Start-At ((IC (Exec (CurInstr s),s)) + k)))
by A64, AMI_1:111
;
hence
Exec (da >0_goto (loc + k)),
(s +* (Start-At ((IC s) + k))) = (Exec (CurInstr s),s) +* (Start-At ((IC (Exec (CurInstr s),s)) + k))
by A63, A62, A65, SCMFSA_2:86;
verum end; suppose A66:
s . da <= 0
;
Exec (da >0_goto (loc + k)),(s +* (Start-At ((IC s) + k))) = (Exec (CurInstr s),s) +* (Start-At ((IC (Exec (CurInstr s),s)) + k))
(
(s +* (Start-At ((IC s) + k))) . da <= 0 &
IC (Exec (CurInstr s),s) = Next (IC s) )
by A60, A66, SCMFSA_2:97, SCMFSA_3:11;
then
IC (Exec (da >0_goto (loc + k)),(s +* (Start-At ((IC s) + k)))) = IC ((Exec (CurInstr s),s) +* (Start-At ((IC (Exec (CurInstr s),s)) + k)))
by A1, SCMFSA_2:97;
hence
Exec (da >0_goto (loc + k)),
(s +* (Start-At ((IC s) + k))) = (Exec (CurInstr s),s) +* (Start-At ((IC (Exec (CurInstr s),s)) + k))
by A69, A68, A67, SCMFSA_2:86;
verum end; end; end; hence
Exec (IncAddr (CurInstr s),k),
(s +* (Start-At ((IC s) + k))) = (Following s) +* (Start-At ((IC (Following s)) + k))
by A60, Th16;
verum end; suppose
InsCode (CurInstr s) = 9
;
Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k))) = (Following s) +* (Start-At ((IC (Following s)) + k))then consider db,
da being
Int-Location ,
f being
FinSeq-Location such that A70:
CurInstr s = da := f,
db
by SCMFSA_2:62;
A71:
IncAddr (CurInstr s),
k = CurInstr s
by A70, Th17;
A72:
now let d be
FinSeq-Location ;
(Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k)))) . d = ((Exec (CurInstr s),s) +* (Start-At ((IC (Exec (CurInstr s),s)) + k))) . dthus (Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k)))) . d =
(s +* (Start-At ((IC s) + k))) . d
by A70, A71, SCMFSA_2:98
.=
s . d
by SCMFSA_3:12
.=
(Exec (CurInstr s),s) . d
by A70, SCMFSA_2:98
.=
((Exec (CurInstr s),s) +* (Start-At ((IC (Exec (CurInstr s),s)) + k))) . d
by SCMFSA_3:12
;
verum end;
(
IC (Exec (CurInstr s),s) = Next (IC s) &
IC (Exec (CurInstr s),(s +* (Start-At ((IC s) + k)))) = IC ((Exec (CurInstr s),s) +* (Start-At ((Next (IC s)) + k))) )
by A1, A70, SCMFSA_2:98;
hence
Exec (IncAddr (CurInstr s),k),
(s +* (Start-At ((IC s) + k))) = (Following s) +* (Start-At ((IC (Following s)) + k))
by A5, A71, A72, A73, SCMFSA_2:86;
verum end; suppose
InsCode (CurInstr s) = 10
;
Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k))) = (Following s) +* (Start-At ((IC (Following s)) + k))then consider db,
da being
Int-Location ,
f being
FinSeq-Location such that A79:
CurInstr s = f,
db := da
by SCMFSA_2:63;
A80:
IncAddr (CurInstr s),
k = CurInstr s
by A79, Th18;
A81:
now let d be
Int-Location ;
(Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k)))) . d = ((Exec (CurInstr s),s) +* (Start-At ((IC (Exec (CurInstr s),s)) + k))) . dthus (Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k)))) . d =
(s +* (Start-At ((IC s) + k))) . d
by A79, A80, SCMFSA_2:99
.=
s . d
by SCMFSA_3:11
.=
(Exec (CurInstr s),s) . d
by A79, SCMFSA_2:99
.=
((Exec (CurInstr s),s) +* (Start-At ((IC (Exec (CurInstr s),s)) + k))) . d
by SCMFSA_3:11
;
verum end;
(
IC (Exec (CurInstr s),s) = Next (IC s) &
IC (Exec (CurInstr s),(s +* (Start-At ((IC s) + k)))) = IC ((Exec (CurInstr s),s) +* (Start-At ((Next (IC s)) + k))) )
by A1, A79, SCMFSA_2:99;
hence
Exec (IncAddr (CurInstr s),k),
(s +* (Start-At ((IC s) + k))) = (Following s) +* (Start-At ((IC (Following s)) + k))
by A5, A80, A81, A82, SCMFSA_2:86;
verum end; suppose
InsCode (CurInstr s) = 11
;
Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k))) = (Following s) +* (Start-At ((IC (Following s)) + k))then consider da being
Int-Location ,
f being
FinSeq-Location such that A88:
CurInstr s = da :=len f
by SCMFSA_2:64;
A89:
IncAddr (CurInstr s),
k = CurInstr s
by A88, Th19;
A90:
now let d be
FinSeq-Location ;
(Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k)))) . d = ((Exec (CurInstr s),s) +* (Start-At ((IC (Exec (CurInstr s),s)) + k))) . dthus (Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k)))) . d =
(s +* (Start-At ((IC s) + k))) . d
by A88, A89, SCMFSA_2:100
.=
s . d
by SCMFSA_3:12
.=
(Exec (CurInstr s),s) . d
by A88, SCMFSA_2:100
.=
((Exec (CurInstr s),s) +* (Start-At ((IC (Exec (CurInstr s),s)) + k))) . d
by SCMFSA_3:12
;
verum end;
(
IC (Exec (CurInstr s),s) = Next (IC s) &
IC (Exec (CurInstr s),(s +* (Start-At ((IC s) + k)))) = IC ((Exec (CurInstr s),s) +* (Start-At ((Next (IC s)) + k))) )
by A1, A88, SCMFSA_2:100;
hence
Exec (IncAddr (CurInstr s),k),
(s +* (Start-At ((IC s) + k))) = (Following s) +* (Start-At ((IC (Following s)) + k))
by A5, A89, A90, A91, SCMFSA_2:86;
verum end; suppose
InsCode (CurInstr s) = 12
;
Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k))) = (Following s) +* (Start-At ((IC (Following s)) + k))then consider da being
Int-Location ,
f being
FinSeq-Location such that A94:
CurInstr s = f :=<0,...,0> da
by SCMFSA_2:65;
A95:
IncAddr (CurInstr s),
k = CurInstr s
by A94, Th20;
A96:
now let d be
Int-Location ;
(Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k)))) . d = ((Exec (CurInstr s),s) +* (Start-At ((IC (Exec (CurInstr s),s)) + k))) . dthus (Exec (IncAddr (CurInstr s),k),(s +* (Start-At ((IC s) + k)))) . d =
(s +* (Start-At ((IC s) + k))) . d
by A94, A95, SCMFSA_2:101
.=
s . d
by SCMFSA_3:11
.=
(Exec (CurInstr s),s) . d
by A94, SCMFSA_2:101
.=
((Exec (CurInstr s),s) +* (Start-At ((IC (Exec (CurInstr s),s)) + k))) . d
by SCMFSA_3:11
;
verum end;
(
IC (Exec (CurInstr s),s) = Next (IC s) &
IC (Exec (CurInstr s),(s +* (Start-At ((IC s) + k)))) = IC ((Exec (CurInstr s),s) +* (Start-At ((Next (IC s)) + k))) )
by A1, A94, SCMFSA_2:101;
hence
Exec (IncAddr (CurInstr s),k),
(s +* (Start-At ((IC s) + k))) = (Following s) +* (Start-At ((IC (Following s)) + k))
by A5, A95, A96, A97, SCMFSA_2:86;
verum end; end;