let I, J be Program of SCM+FSA ; :: thesis: for a being read-write Int-Location
for s being State of SCM+FSA st s . a <> 0 & J is_closed_on Initialize s & J is_halting_on Initialize s holds
IExec (if=0 a,I,J),s = (IExec J,s) +* (Start-At (insloc (((card I) + (card J)) + 3)))
let a be read-write Int-Location ; :: thesis: for s being State of SCM+FSA st s . a <> 0 & J is_closed_on Initialize s & J is_halting_on Initialize s holds
IExec (if=0 a,I,J),s = (IExec J,s) +* (Start-At (insloc (((card I) + (card J)) + 3)))
let s be State of SCM+FSA ; :: thesis: ( s . a <> 0 & J is_closed_on Initialize s & J is_halting_on Initialize s implies IExec (if=0 a,I,J),s = (IExec J,s) +* (Start-At (insloc (((card I) + (card J)) + 3))) )
assume A1:
s . a <> 0
; :: thesis: ( not J is_closed_on Initialize s or not J is_halting_on Initialize s or IExec (if=0 a,I,J),s = (IExec J,s) +* (Start-At (insloc (((card I) + (card J)) + 3))) )
assume A2:
J is_closed_on Initialize s
; :: thesis: ( not J is_halting_on Initialize s or IExec (if=0 a,I,J),s = (IExec J,s) +* (Start-At (insloc (((card I) + (card J)) + 3))) )
assume A3:
J is_halting_on Initialize s
; :: thesis: IExec (if=0 a,I,J),s = (IExec J,s) +* (Start-At (insloc (((card I) + (card J)) + 3)))
set I1 = I ';' (Stop SCM+FSA );
set JI2 = ((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA );
set s2 = s +* (Initialized (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA )));
set s3 = s +* (Initialized (if=0 a,I,J));
set s4 = Computation (s +* (Initialized (if=0 a,I,J))),1;
set s5 = Computation (s +* (Initialized (if=0 a,I,J))),2;
set i = a =0_goto (insloc ((card J) + 3));
A4:
(((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA )) +* (Start-At (insloc 0 )) c= s +* (Initialized (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA )))
by FUNCT_4:26, SCMFSA6B:8;
A5:
s +* (Initialized (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA ))) is halting
by A2, A3, SCMFSA8A:60;
((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA ) is_closed_on Initialize s
by A2, A3, SCMFSA8A:58;
then A6:
((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA ) is_closed_on s +* (Initialized (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA )))
by Th9;
A7:
insloc 0 in dom (if=0 a,I,J)
by Lm2;
if=0 a,I,J c= Initialized (if=0 a,I,J)
by SCMFSA6A:26;
then A8:
dom (if=0 a,I,J) c= dom (Initialized (if=0 a,I,J))
by GRFUNC_1:8;
IC SCM+FSA in dom (Initialized (if=0 a,I,J))
by SCMFSA6A:24;
then A9: IC (s +* (Initialized (if=0 a,I,J))) =
(Initialized (if=0 a,I,J)) . (IC SCM+FSA )
by FUNCT_4:14
.=
insloc 0
by SCMFSA6A:46
;
A10: (s +* (Initialized (if=0 a,I,J))) . (insloc 0 ) =
(Initialized (if=0 a,I,J)) . (insloc 0 )
by A7, A8, FUNCT_4:14
.=
(if=0 a,I,J) . (insloc 0 )
by A7, SCMFSA6A:50
.=
a =0_goto (insloc ((card J) + 3))
by Lm3
;
A11: Computation (s +* (Initialized (if=0 a,I,J))),(0 + 1) =
Following (Computation (s +* (Initialized (if=0 a,I,J))),0 )
by AMI_1:14
.=
Following (s +* (Initialized (if=0 a,I,J)))
by AMI_1:13
.=
Exec (a =0_goto (insloc ((card J) + 3))),(s +* (Initialized (if=0 a,I,J)))
by A9, A10
;
A12: dom (s | NAT ) =
(dom s) /\ NAT
by RELAT_1:90
.=
(((Int-Locations \/ FinSeq-Locations ) \/ {(IC SCM+FSA )}) \/ NAT ) /\ NAT
by SCMFSA6A:34
.=
NAT
by XBOOLE_1:21
;
( not a in dom (Initialized (if=0 a,I,J)) & a in dom s )
by SCMFSA6A:48, SCMFSA_2:66;
then A13:
(s +* (Initialized (if=0 a,I,J))) . a <> 0
by A1, FUNCT_4:12;
A14:
Initialized (if=0 a,I,J) c= s +* (Initialized (if=0 a,I,J))
by FUNCT_4:26;
if=0 a,I,J c= Initialized (if=0 a,I,J)
by SCMFSA6A:26;
then A15:
if=0 a,I,J c= s +* (Initialized (if=0 a,I,J))
by A14, XBOOLE_1:1;
if=0 a,I,J =
(((a =0_goto (insloc ((card J) + 3))) ';' J) ';' (Goto (insloc ((card I) + 1)))) ';' (I ';' (Stop SCM+FSA ))
by SCMFSA6A:67
.=
((a =0_goto (insloc ((card J) + 3))) ';' J) ';' ((Goto (insloc ((card I) + 1))) ';' (I ';' (Stop SCM+FSA )))
by SCMFSA6A:67
.=
(a =0_goto (insloc ((card J) + 3))) ';' (J ';' ((Goto (insloc ((card I) + 1))) ';' (I ';' (Stop SCM+FSA ))))
by SCMFSA6A:71
.=
(a =0_goto (insloc ((card J) + 3))) ';' ((J ';' (Goto (insloc ((card I) + 1)))) ';' (I ';' (Stop SCM+FSA )))
by SCMFSA6A:67
.=
(a =0_goto (insloc ((card J) + 3))) ';' (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA ))
by SCMFSA6A:67
.=
(Macro (a =0_goto (insloc ((card J) + 3)))) ';' (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA ))
by SCMFSA6A:def 6
;
then
ProgramPart (Relocated (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA )),(card (Macro (a =0_goto (insloc ((card J) + 3)))))) c= if=0 a,I,J
by Lm1;
then
ProgramPart (Relocated (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA )),2) c= if=0 a,I,J
by SCMFSA7B:6;
then
ProgramPart (Relocated (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA )),2) c= s +* (Initialized (if=0 a,I,J))
by A15, XBOOLE_1:1;
then
ProgramPart [(ProgramPart (Relocated (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA )),2))] c= Computation (s +* (Initialized (if=0 a,I,J))),2
by AMI_1:99;
then A16:
ProgramPart (Relocated (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA )),2) c= Computation (s +* (Initialized (if=0 a,I,J))),2
by AMI_1:105;
A17: IC (Computation (s +* (Initialized (if=0 a,I,J))),1) =
Next (insloc 0 )
by A9, A11, A13, SCMFSA_2:96
.=
insloc (0 + 1)
;
A18:
insloc 1 in dom (if=0 a,I,J)
by Lm2;
A19: (Computation (s +* (Initialized (if=0 a,I,J))),1) . (insloc 1) =
(s +* (Initialized (if=0 a,I,J))) . (insloc 1)
by AMI_1:54
.=
(Initialized (if=0 a,I,J)) . (insloc 1)
by A8, A18, FUNCT_4:14
.=
(if=0 a,I,J) . (insloc 1)
by A18, SCMFSA6A:50
.=
goto (insloc 2)
by Lm3
;
A20: Computation (s +* (Initialized (if=0 a,I,J))),(1 + 1) =
Following (Computation (s +* (Initialized (if=0 a,I,J))),1)
by AMI_1:14
.=
Exec (goto (insloc 2)),(Computation (s +* (Initialized (if=0 a,I,J))),1)
by A17, A19
;
then A21:
IC (Computation (s +* (Initialized (if=0 a,I,J))),2) = insloc 2
by SCMFSA_2:95;
A22:
DataPart (s +* (Initialized (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA )))) = DataPart (s +* (Initialized (if=0 a,I,J)))
by SCMFSA6A:39, SCMFSA6A:53;
A23:
now let a be
Int-Location ;
:: thesis: (s +* (Initialized (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA )))) . a = (Computation (s +* (Initialized (if=0 a,I,J))),2) . athus (s +* (Initialized (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA )))) . a =
(s +* (Initialized (if=0 a,I,J))) . a
by A22, SCMFSA6A:38
.=
(Computation (s +* (Initialized (if=0 a,I,J))),1) . a
by A11, SCMFSA_2:96
.=
(Computation (s +* (Initialized (if=0 a,I,J))),2) . a
by A20, SCMFSA_2:95
;
:: thesis: verum end;
now let f be
FinSeq-Location ;
:: thesis: (s +* (Initialized (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA )))) . f = (Computation (s +* (Initialized (if=0 a,I,J))),2) . fthus (s +* (Initialized (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA )))) . f =
(s +* (Initialized (if=0 a,I,J))) . f
by A22, SCMFSA6A:38
.=
(Computation (s +* (Initialized (if=0 a,I,J))),1) . f
by A11, SCMFSA_2:96
.=
(Computation (s +* (Initialized (if=0 a,I,J))),2) . f
by A20, SCMFSA_2:95
;
:: thesis: verum end;
then A24:
DataPart (s +* (Initialized (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA )))) = DataPart (Computation (s +* (Initialized (if=0 a,I,J))),2)
by A23, SCMFSA6A:38;
A25: CurInstr (Computation (s +* (Initialized (if=0 a,I,J))),((LifeSpan (s +* (Initialized (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA ))))) + 2)) =
CurInstr (Computation (Computation (s +* (Initialized (if=0 a,I,J))),2),(LifeSpan (s +* (Initialized (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA ))))))
by AMI_1:51
.=
IncAddr (CurInstr (Computation (s +* (Initialized (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA )))),(LifeSpan (s +* (Initialized (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA ))))))),2
by A4, A6, A16, A21, A24, Th11
.=
IncAddr (halt SCM+FSA ),2
by A5, AMI_1:def 46
.=
halt SCM+FSA
by SCMFSA_4:8
;
then A26:
s +* (Initialized (if=0 a,I,J)) is halting
by AMI_1:def 20;
now let l be
Element of
NAT ;
:: thesis: ( l < (LifeSpan (s +* (Initialized (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA ))))) + 2 implies CurInstr (Computation (s +* (Initialized (if=0 a,I,J))),b1) <> halt SCM+FSA )assume A27:
l < (LifeSpan (s +* (Initialized (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA ))))) + 2
;
:: thesis: CurInstr (Computation (s +* (Initialized (if=0 a,I,J))),b1) <> halt SCM+FSA per cases
( l = 0 or l = 1 or ( l <> 0 & l <> 1 ) )
;
suppose
l = 0
;
:: thesis: CurInstr (Computation (s +* (Initialized (if=0 a,I,J))),b1) <> halt SCM+FSA then
CurInstr (Computation (s +* (Initialized (if=0 a,I,J))),l) = CurInstr (s +* (Initialized (if=0 a,I,J)))
by AMI_1:13;
hence
CurInstr (Computation (s +* (Initialized (if=0 a,I,J))),l) <> halt SCM+FSA
by A9, A10, SCMFSA_2:48, SCMFSA_2:124;
:: thesis: verum end; suppose A28:
(
l <> 0 &
l <> 1 )
;
:: thesis: not CurInstr (Computation (s +* (Initialized (if=0 a,I,J))),b1) = halt SCM+FSA then consider n being
Nat such that A29:
l = n + 1
by NAT_1:6;
n + 1
< ((LifeSpan (s +* (Initialized (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA ))))) + 1) + 1
by A27, A29;
then A30:
n < (LifeSpan (s +* (Initialized (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA ))))) + 1
by XREAL_1:8;
n <> 0
by A28, A29;
then consider l2 being
Nat such that A31:
n = l2 + 1
by NAT_1:6;
reconsider l2 =
l2 as
Element of
NAT by ORDINAL1:def 13;
A32:
l2 < LifeSpan (s +* (Initialized (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA ))))
by A30, A31, XREAL_1:8;
assume A33:
CurInstr (Computation (s +* (Initialized (if=0 a,I,J))),l) = halt SCM+FSA
;
:: thesis: contradiction InsCode (CurInstr (Computation (s +* (Initialized (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA )))),l2)) =
InsCode (IncAddr (CurInstr (Computation (s +* (Initialized (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA )))),l2)),2)
by SCMFSA_4:22
.=
InsCode (CurInstr (Computation (Computation (s +* (Initialized (if=0 a,I,J))),2),l2))
by A4, A6, A16, A21, A24, Th11
.=
InsCode (CurInstr (Computation (s +* (Initialized (if=0 a,I,J))),(l2 + (1 + 1))))
by AMI_1:51
.=
0
by A29, A31, A33, SCMFSA_2:124
;
then
CurInstr (Computation (s +* (Initialized (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA )))),l2) = halt SCM+FSA
by SCMFSA_2:122;
hence
contradiction
by A5, A32, AMI_1:def 46;
:: thesis: verum end; end; end;
then
for l being Element of NAT st CurInstr (Computation (s +* (Initialized (if=0 a,I,J))),l) = halt SCM+FSA holds
(LifeSpan (s +* (Initialized (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA ))))) + 2 <= l
;
then A34:
LifeSpan (s +* (Initialized (if=0 a,I,J))) = (LifeSpan (s +* (Initialized (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA ))))) + 2
by A25, A26, AMI_1:def 46;
A35: DataPart (Result (s +* (Initialized (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA ))))) =
DataPart (Computation (s +* (Initialized (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA )))),(LifeSpan (s +* (Initialized (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA ))))))
by A2, A3, AMI_1:122, SCMFSA8A:60
.=
DataPart (Computation (Computation (s +* (Initialized (if=0 a,I,J))),2),(LifeSpan (s +* (Initialized (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA ))))))
by A4, A6, A16, A21, A24, Th11
.=
DataPart (Computation (s +* (Initialized (if=0 a,I,J))),((LifeSpan (s +* (Initialized (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA ))))) + 2))
by AMI_1:51
.=
DataPart (Result (s +* (Initialized (if=0 a,I,J))))
by A26, A34, AMI_1:122
;
A36: dom (IExec (if=0 a,I,J),s) =
the carrier of SCM+FSA
by AMI_1:79
.=
dom ((IExec (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA )),s) +* (Start-At (insloc (((card I) + (card J)) + 3))))
by AMI_1:79
;
now let x be
set ;
:: thesis: ( x in dom (IExec (if=0 a,I,J),s) implies (IExec (if=0 a,I,J),s) . b1 = ((IExec (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA )),s) +* (Start-At (insloc (((card I) + (card J)) + 3)))) . b1 )A38:
IExec (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA )),
s = (Result (s +* (Initialized (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA ))))) +* (s | NAT )
by SCMFSA6B:def 1;
A39:
IExec (if=0 a,I,J),
s = (Result (s +* (Initialized (if=0 a,I,J)))) +* (s | NAT )
by SCMFSA6B:def 1;
assume A40:
x in dom (IExec (if=0 a,I,J),s)
;
:: thesis: (IExec (if=0 a,I,J),s) . b1 = ((IExec (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA )),s) +* (Start-At (insloc (((card I) + (card J)) + 3)))) . b1A41:
dom (Start-At (insloc (((card I) + (card J)) + 3))) = {(IC SCM+FSA )}
by FUNCOP_1:19;
per cases
( x is Int-Location or x is FinSeq-Location or x = IC SCM+FSA or x is Instruction-Location of SCM+FSA )
by A40, SCMFSA6A:35;
suppose A42:
x is
Int-Location
;
:: thesis: (IExec (if=0 a,I,J),s) . b1 = ((IExec (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA )),s) +* (Start-At (insloc (((card I) + (card J)) + 3)))) . b1then
x <> IC SCM+FSA
by SCMFSA_2:81;
then A43:
(
x in dom (IExec (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA )),s) & not
x in dom (Start-At (insloc (((card I) + (card J)) + 3))) )
by A41, A42, SCMFSA_2:66, TARSKI:def 1;
thus (IExec (if=0 a,I,J),s) . x =
(Result (s +* (Initialized (if=0 a,I,J)))) . x
by A37, A39, A42, FUNCT_4:12, SCMFSA_2:84
.=
(Result (s +* (Initialized (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA ))))) . x
by A35, A42, SCMFSA6A:38
.=
(IExec (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA )),s) . x
by A37, A38, A42, FUNCT_4:12, SCMFSA_2:84
.=
((IExec (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA )),s) +* (Start-At (insloc (((card I) + (card J)) + 3)))) . x
by A43, FUNCT_4:12
;
:: thesis: verum end; suppose A44:
x is
FinSeq-Location
;
:: thesis: (IExec (if=0 a,I,J),s) . b1 = ((IExec (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA )),s) +* (Start-At (insloc (((card I) + (card J)) + 3)))) . b1then
x <> IC SCM+FSA
by SCMFSA_2:82;
then A45:
(
x in dom (IExec (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA )),s) & not
x in dom (Start-At (insloc (((card I) + (card J)) + 3))) )
by A41, A44, SCMFSA_2:67, TARSKI:def 1;
thus (IExec (if=0 a,I,J),s) . x =
(Result (s +* (Initialized (if=0 a,I,J)))) . x
by A37, A39, A44, FUNCT_4:12, SCMFSA_2:85
.=
(Result (s +* (Initialized (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA ))))) . x
by A35, A44, SCMFSA6A:38
.=
(IExec (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA )),s) . x
by A37, A38, A44, FUNCT_4:12, SCMFSA_2:85
.=
((IExec (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA )),s) +* (Start-At (insloc (((card I) + (card J)) + 3)))) . x
by A45, FUNCT_4:12
;
:: thesis: verum end; suppose A46:
x = IC SCM+FSA
;
:: thesis: (IExec (if=0 a,I,J),s) . b1 = ((IExec (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA )),s) +* (Start-At (insloc (((card I) + (card J)) + 3)))) . b1then A47:
x in dom (Start-At (insloc (((card I) + (card J)) + 3)))
by A41, TARSKI:def 1;
A48:
IC (Result (s +* (Initialized (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA ))))) =
IC (IExec (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA )),s)
by A37, A38, A46, AMI_1:48, FUNCT_4:12
.=
insloc (((card I) + (card J)) + 1)
by A2, A3, SCMFSA8A:61
;
thus (IExec (if=0 a,I,J),s) . x =
(Result (s +* (Initialized (if=0 a,I,J)))) . x
by A37, A39, A46, AMI_1:48, FUNCT_4:12
.=
(Computation (s +* (Initialized (if=0 a,I,J))),((LifeSpan (s +* (Initialized (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA ))))) + 2)) . x
by A26, A34, AMI_1:122
.=
IC (Computation (Computation (s +* (Initialized (if=0 a,I,J))),2),(LifeSpan (s +* (Initialized (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA ))))))
by A46, AMI_1:51
.=
(IC (Computation (s +* (Initialized (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA )))),(LifeSpan (s +* (Initialized (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA ))))))) + 2
by A4, A6, A16, A21, A24, Th11
.=
(IC (Result (s +* (Initialized (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA )))))) + 2
by A2, A3, AMI_1:122, SCMFSA8A:60
.=
(Start-At ((insloc (((card I) + (card J)) + 1)) + 2)) . (IC SCM+FSA )
by A48, FUNCOP_1:87
.=
((IExec (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA )),s) +* (Start-At (insloc (((card I) + (card J)) + 3)))) . x
by A46, A47, FUNCT_4:14
;
:: thesis: verum end; suppose A49:
x is
Instruction-Location of
SCM+FSA
;
:: thesis: (IExec (if=0 a,I,J),s) . b1 = ((IExec (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA )),s) +* (Start-At (insloc (((card I) + (card J)) + 3)))) . b1then
x <> IC SCM+FSA
by AMI_1:48;
then A50:
(
x in dom (IExec (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA )),s) & not
x in dom (Start-At (insloc (((card I) + (card J)) + 3))) )
by A41, A49, Th2, TARSKI:def 1;
A51:
x in NAT
by A49, AMI_1:def 4;
hence (IExec (if=0 a,I,J),s) . x =
(s | NAT ) . x
by A12, A39, FUNCT_4:14
.=
(IExec (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA )),s) . x
by A12, A38, A51, FUNCT_4:14
.=
((IExec (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA )),s) +* (Start-At (insloc (((card I) + (card J)) + 3)))) . x
by A50, FUNCT_4:12
;
:: thesis: verum end; end; end;
hence IExec (if=0 a,I,J),s =
(IExec (((J ';' (Goto (insloc ((card I) + 1)))) ';' I) ';' (Stop SCM+FSA )),s) +* (Start-At (insloc (((card I) + (card J)) + 3)))
by A36, FUNCT_1:9
.=
((IExec J,s) +* (Start-At (insloc (((card I) + (card J)) + 1)))) +* (Start-At (insloc (((card I) + (card J)) + 3)))
by A2, A3, SCMFSA8A:62
.=
(IExec J,s) +* (Start-At (insloc (((card I) + (card J)) + 3)))
by AMI_1:141
;
:: thesis: verum