set Ma = Macro (MultBy (a,b));
let s be State of SCM+FSA; EXTPRO_1:def 10,SCMFSA6B:def 3,SCMFSA6C:def 1 ( not Initialize (Macro (MultBy (a,b))) c= s or for b1 being set holds
( not ProgramPart (Initialize (Macro (MultBy (a,b)))) c= b1 or b1 halts_on s ) )
assume A34:
Initialize (Macro (MultBy (a,b))) c= s
; for b1 being set holds
( not ProgramPart (Initialize (Macro (MultBy (a,b)))) c= b1 or b1 halts_on s )
let P be the Instructions of SCM+FSA -valued ManySortedSet of NAT ; ( not ProgramPart (Initialize (Macro (MultBy (a,b)))) c= P or P halts_on s )
assume A35:
ProgramPart (Initialize (Macro (MultBy (a,b)))) c= P
; P halts_on s
A36:
Macro (MultBy (a,b)) c= P
by A35, COMPOS_1:144;
take
1
; EXTPRO_1:def 7 ( IC (Comput (P,s,1)) in proj1 P & CurInstr (P,(Comput (P,s,1))) = halt SCM+FSA )
A37:
dom P = NAT
by PARTFUN1:def 4;
thus
IC (Comput (P,s,1)) in dom P
by A37; CurInstr (P,(Comput (P,s,1))) = halt SCM+FSA
dom (Start-At (0,SCM+FSA)) = {(IC )}
by FUNCOP_1:19;
then A38:
IC in dom (Start-At (0,SCM+FSA))
by TARSKI:def 1;
Start-At (0,SCM+FSA) c= Initialize (Macro (MultBy (a,b)))
by FUNCT_4:26;
then
Start-At (0,SCM+FSA) c= s
by A34, XBOOLE_1:1;
then A39: IC s =
(Start-At (0,SCM+FSA)) . (IC )
by A38, GRFUNC_1:8
.=
0
by FUNCOP_1:87
;
then A40: IC (Exec ((MultBy (a,b)),s)) =
succ 0
by SCMFSA_2:92
.=
0 + 1
;
A41:
1 in dom (Macro (MultBy (a,b)))
by COMPOS_1:147;
A42:
0 in dom (Macro (MultBy (a,b)))
by COMPOS_1:147;
A43: P . 0 =
(Macro (MultBy (a,b))) . 0
by A36, A42, GRFUNC_1:8
.=
MultBy (a,b)
by COMPOS_1:148
;
A44: P . 1 =
(Macro (MultBy (a,b))) . 1
by A36, A41, GRFUNC_1:8
.=
halt SCM+FSA
by COMPOS_1:148
;
Comput (P,s,(0 + 1)) =
Following (P,(Comput (P,s,0)))
by EXTPRO_1:4
.=
Following (P,s)
by EXTPRO_1:3
.=
Exec ((MultBy (a,b)),s)
by A39, A37, PARTFUN1:def 8, A43
;
hence
CurInstr (P,(Comput (P,s,1))) = halt SCM+FSA
by A40, A37, PARTFUN1:def 8, A44; verum