let P be Instruction-Sequence of SCM+FSA; for s being State of SCM+FSA
for I, J being Program of SCM+FSA
for a being read-write Int-Location st s . (intloc 0) = 1 & s . a > 0 & Directed I is_pseudo-closed_on s,P holds
DataPart (IExec ((if>0 (a,I,J)),P,s)) = DataPart (IExec ((I ';' (Stop SCM+FSA)),P,s))
let ss be State of SCM+FSA; for I, J being Program of SCM+FSA
for a being read-write Int-Location st ss . (intloc 0) = 1 & ss . a > 0 & Directed I is_pseudo-closed_on ss,P holds
DataPart (IExec ((if>0 (a,I,J)),P,ss)) = DataPart (IExec ((I ';' (Stop SCM+FSA)),P,ss))
set A = NAT ;
set D = Data-Locations ;
let I, J be Program of SCM+FSA; for a being read-write Int-Location st ss . (intloc 0) = 1 & ss . a > 0 & Directed I is_pseudo-closed_on ss,P holds
DataPart (IExec ((if>0 (a,I,J)),P,ss)) = DataPart (IExec ((I ';' (Stop SCM+FSA)),P,ss))
let a be read-write Int-Location ; ( ss . (intloc 0) = 1 & ss . a > 0 & Directed I is_pseudo-closed_on ss,P implies DataPart (IExec ((if>0 (a,I,J)),P,ss)) = DataPart (IExec ((I ';' (Stop SCM+FSA)),P,ss)) )
set I0 = Directed I;
set s = Initialized ss;
set I1 = I ';' (Stop SCM+FSA);
set s00 = Initialize (Initialized ss);
set P00 = P +* (Directed I);
set s3 = Initialize (Initialized ss);
set P3 = P +* (if>0 (a,I,J));
set s4 = Comput ((P +* (if>0 (a,I,J))),(Initialize (Initialized ss)),1);
set i = a >0_goto ((card J) + 3);
A2:
Directed I c= P +* (Directed I)
by FUNCT_4:25;
A3:
if>0 (a,I,J) c= P +* (if>0 (a,I,J))
by FUNCT_4:25;
assume A4:
ss . (intloc 0) = 1
; ( not ss . a > 0 or not Directed I is_pseudo-closed_on ss,P or DataPart (IExec ((if>0 (a,I,J)),P,ss)) = DataPart (IExec ((I ';' (Stop SCM+FSA)),P,ss)) )
set s1 = Initialize (Initialized ss);
set P1 = P +* (I ';' (Stop SCM+FSA));
assume
ss . a > 0
; ( not Directed I is_pseudo-closed_on ss,P or DataPart (IExec ((if>0 (a,I,J)),P,ss)) = DataPart (IExec ((I ';' (Stop SCM+FSA)),P,ss)) )
then A6:
(Initialized ss) . a > 0
by SCMFSA6C:3;
X1:
IC in dom (Start-At (0,SCM+FSA))
by MEMSTR_0:15;
A7: IC (Initialize (Initialized ss)) =
IC (Initialize (Initialized ss))
.=
IC (Start-At (0,SCM+FSA))
by X1, FUNCT_4:13
.=
0
by FUNCOP_1:72
;
A8:
0 in dom (if>0 (a,I,J))
by Th54;
A9: (P +* (if>0 (a,I,J))) . 0 =
(if>0 (a,I,J)) . 0
by A8, FUNCT_4:13
.=
a >0_goto ((card J) + 3)
by Th55
;
A11: Comput ((P +* (if>0 (a,I,J))),(Initialize (Initialized ss)),(0 + 1)) =
Following ((P +* (if>0 (a,I,J))),(Comput ((P +* (if>0 (a,I,J))),(Initialize (Initialized ss)),0)))
by EXTPRO_1:3
.=
Following ((P +* (if>0 (a,I,J))),(Initialize (Initialized ss)))
by EXTPRO_1:2
.=
Exec ((a >0_goto ((card J) + 3)),(Initialize (Initialized ss)))
by A7, A9, PBOOLE:143
;
X2:
a <> IC
by SCMFSA_2:56;
dom (Start-At (0,SCM+FSA)) = {(IC )}
by FUNCOP_1:13;
then
not a in dom (Start-At (0,SCM+FSA))
by X2, TARSKI:def 1;
then
not a in dom (Start-At (0,SCM+FSA))
;
then
(Initialize (Initialized ss)) . a = (Initialized ss) . a
by FUNCT_4:11;
then A12:
IC (Comput ((P +* (if>0 (a,I,J))),(Initialize (Initialized ss)),1)) = (card J) + 3
by A6, A11, SCMFSA_2:71;
assume
Directed I is_pseudo-closed_on ss,P
; DataPart (IExec ((if>0 (a,I,J)),P,ss)) = DataPart (IExec ((I ';' (Stop SCM+FSA)),P,ss))
then A13:
Directed I is_pseudo-closed_on Initialized ss,P
by A4, Th53;
then A14:
LifeSpan ((P +* (I ';' (Stop SCM+FSA))),(Initialize (Initialized ss))) = pseudo-LifeSpan ((Initialized ss),P,(Directed I))
by Th58;
DataPart (Initialized ss) = DataPart (Initialize (Initialized ss))
by MEMSTR_0:79;
then A15:
Directed I is_pseudo-closed_on Initialize (Initialized ss),P +* (Directed I)
by A13, Th52;
A17:
for f being FinSeq-Location holds (Initialize (Initialized ss)) . f = (Comput ((P +* (if>0 (a,I,J))),(Initialize (Initialized ss)),1)) . f
by A11, SCMFSA_2:71;
for a being Int-Location holds (Initialize (Initialized ss)) . a = (Comput ((P +* (if>0 (a,I,J))),(Initialize (Initialized ss)),1)) . a
by A11, SCMFSA_2:71;
then A18:
DataPart (Initialize (Initialized ss)) = DataPart (Comput ((P +* (if>0 (a,I,J))),(Initialize (Initialized ss)),1))
by A17, SCMFSA6A:7;
card (if>0 (a,I,J)) =
((card I) + (card J)) + (3 + 1)
by SCMFSA8B:12
.=
(((card I) + (card J)) + 3) + 1
;
then
((card I) + (card J)) + 3 < card (if>0 (a,I,J))
by NAT_1:13;
then A19:
((card I) + (card J)) + 3 in dom (if>0 (a,I,J))
by AFINSQ_1:66;
A20: card (((a >0_goto ((card J) + 3)) ';' J) ';' (Goto ((card I) + 1))) =
(card ((Macro (a >0_goto ((card J) + 3))) ';' J)) + (card (Goto ((card I) + 1)))
by SCMFSA6A:21
.=
(card ((Macro (a >0_goto ((card J) + 3))) ';' J)) + 1
by SCMFSA8A:15
.=
((card (Macro (a >0_goto ((card J) + 3)))) + (card J)) + 1
by SCMFSA6A:21
.=
((card J) + 2) + 1
by COMPOS_1:56
.=
(card J) + (2 + 1)
;
(Initialized ss) +* (Initialize ((intloc 0) .--> 1)) = Initialize (Initialized (Initialized ss))
by MEMSTR_0:44;
then A21:
(Initialized ss) +* (Initialize ((intloc 0) .--> 1)) = Initialize (Initialized ss)
;
A23:
if>0 (a,I,J) c= P +* (if>0 (a,I,J))
by FUNCT_4:25;
A25:
if>0 (a,I,J) = ((((a >0_goto ((card J) + 3)) ';' J) ';' (Goto ((card I) + 1))) ';' I) ';' (Stop SCM+FSA)
by SCMFSA8B:def 2;
then
if>0 (a,I,J) = (((a >0_goto ((card J) + 3)) ';' J) ';' (Goto ((card I) + 1))) ';' (I ';' (Stop SCM+FSA))
by SCMFSA6A:25;
then
Reloc ((I ';' (Stop SCM+FSA)),((card J) + 3)) c= if>0 (a,I,J)
by A20, FUNCT_4:25;
then A27:
Reloc ((I ';' (Stop SCM+FSA)),((card J) + 3)) c= P +* (if>0 (a,I,J))
by A23, XBOOLE_1:1;
Reloc ((Directed I),((card J) + 3)) c= Reloc ((I ';' (Stop SCM+FSA)),((card J) + 3))
by COMPOS_1:44, SCMFSA6A:16;
then A29:
Reloc ((Directed I),((card J) + 3)) c= P +* (if>0 (a,I,J))
by A27, XBOOLE_1:1;
IC (Comput ((P +* (if>0 (a,I,J))),(Initialize (Initialized ss)),((pseudo-LifeSpan ((Initialize (Initialized ss)),(P +* (Directed I)),(Directed I))) + 1))) =
IC (Comput ((P +* (if>0 (a,I,J))),(Comput ((P +* (if>0 (a,I,J))),(Initialize (Initialized ss)),1)),(pseudo-LifeSpan ((Initialize (Initialized ss)),(P +* (Directed I)),(Directed I)))))
by EXTPRO_1:4
.=
(IC (Comput ((P +* (Directed I)),(Initialize (Initialized ss)),(pseudo-LifeSpan ((Initialize (Initialized ss)),(P +* (Directed I)),(Directed I)))))) + ((card J) + 3)
by A15, A29, A12, A18, Th51, A2
.=
(IC (Comput ((P +* (Directed I)),(Initialize (Initialized ss)),(pseudo-LifeSpan ((Initialized ss),P,(Directed I)))))) + ((card J) + 3)
by A13, Th50
.=
(card (Directed I)) + ((card J) + 3)
by A13, SCMFSA8A:def 4
.=
(card I) + ((card J) + 3)
by SCMFSA8A:20
.=
((card I) + (card J)) + 3
;
then A32: CurInstr ((P +* (if>0 (a,I,J))),(Comput ((P +* (if>0 (a,I,J))),(Initialize (Initialized ss)),((pseudo-LifeSpan ((Initialize (Initialized ss)),(P +* (Directed I)),(Directed I))) + 1)))) =
(P +* (if>0 (a,I,J))) . (((card I) + (card J)) + 3)
by PBOOLE:143
.=
(if>0 (a,I,J)) . (((card I) + (card J)) + 3)
by A19, A3, GRFUNC_1:2
.=
halt SCM+FSA
by Th62
;
then A33:
P +* (if>0 (a,I,J)) halts_on Initialize (Initialized ss)
by EXTPRO_1:29;
now set J1 =
(((a >0_goto ((card J) + 3)) ';' J) ';' (Goto ((card I) + 1))) ';' I;
let k be
Element of
NAT ;
( CurInstr ((P +* (if>0 (a,I,J))),(Comput ((P +* (if>0 (a,I,J))),(Initialize (Initialized ss)),k))) = halt SCM+FSA implies (pseudo-LifeSpan ((Initialize (Initialized ss)),(P +* (Directed I)),(Directed I))) + 1 <= k )assume A34:
CurInstr (
(P +* (if>0 (a,I,J))),
(Comput ((P +* (if>0 (a,I,J))),(Initialize (Initialized ss)),k)))
= halt SCM+FSA
;
(pseudo-LifeSpan ((Initialize (Initialized ss)),(P +* (Directed I)),(Directed I))) + 1 <= kassume
not
(pseudo-LifeSpan ((Initialize (Initialized ss)),(P +* (Directed I)),(Directed I))) + 1
<= k
;
contradictionthen A35:
k <= pseudo-LifeSpan (
(Initialize (Initialized ss)),
(P +* (Directed I)),
(Directed I))
by NAT_1:13;
A36:
0 in dom (if>0 (a,I,J))
by Th54;
A37:
Comput (
(P +* (if>0 (a,I,J))),
(Initialize (Initialized ss)),
0)
= Initialize (Initialized ss)
by EXTPRO_1:2;
A38:
(P +* (if>0 (a,I,J))) /. (IC (Initialize (Initialized ss))) = (P +* (if>0 (a,I,J))) . (IC (Initialize (Initialized ss)))
by PBOOLE:143;
CurInstr (
(P +* (if>0 (a,I,J))),
(Comput ((P +* (if>0 (a,I,J))),(Initialize (Initialized ss)),0))) =
(P +* (if>0 (a,I,J))) . 0
by MEMSTR_0:16, A38, A37
.=
(if>0 (a,I,J)) . 0
by A36, A3, GRFUNC_1:2
.=
a >0_goto ((card J) + 3)
by Th55
;
then consider k1 being
Nat such that A39:
k1 + 1
= k
by A34, NAT_1:6;
reconsider k1 =
k1 as
Element of
NAT by ORDINAL1:def 12;
reconsider n =
IC (Comput ((P +* (Directed I)),(Initialize (Initialized ss)),k1)) as
Element of
NAT ;
k1 < k
by A39, XREAL_1:29;
then A40:
k1 < pseudo-LifeSpan (
(Initialize (Initialized ss)),
(P +* (Directed I)),
(Directed I))
by A35, XXREAL_0:2;
then
k1 < pseudo-LifeSpan (
(Initialized ss),
P,
(Directed I))
by A13, Th50;
then
n in dom (Directed I)
by A13, SCMFSA8A:17;
then
n < card (Directed I)
by AFINSQ_1:66;
then
n + ((card J) + 3) < (card (Directed I)) + ((card J) + 3)
by XREAL_1:6;
then A41:
n + ((card J) + 3) < (card I) + ((card J) + 3)
by SCMFSA8A:20;
A42:
IC (Comput ((P +* (if>0 (a,I,J))),(Initialize (Initialized ss)),k)) =
IC (Comput ((P +* (if>0 (a,I,J))),(Comput ((P +* (if>0 (a,I,J))),(Initialize (Initialized ss)),1)),k1))
by A39, EXTPRO_1:4
.=
(IC (Comput ((P +* (Directed I)),(Initialize (Initialized ss)),k1))) + ((card J) + 3)
by A15, A29, A12, A18, A40, Th51, A2
;
card ((((a >0_goto ((card J) + 3)) ';' J) ';' (Goto ((card I) + 1))) ';' I) =
(card (((Macro (a >0_goto ((card J) + 3))) ';' J) ';' (Goto ((card I) + 1)))) + (card I)
by SCMFSA6A:21
.=
((card ((Macro (a >0_goto ((card J) + 3))) ';' J)) + (card (Goto ((card I) + 1)))) + (card I)
by SCMFSA6A:21
.=
((card ((Macro (a >0_goto ((card J) + 3))) ';' J)) + 1) + (card I)
by SCMFSA8A:15
.=
(((card (Macro (a >0_goto ((card J) + 3)))) + (card J)) + 1) + (card I)
by SCMFSA6A:21
.=
((2 + (card J)) + 1) + (card I)
by COMPOS_1:56
.=
((card I) + (card J)) + 3
;
then
IC (Comput ((P +* (if>0 (a,I,J))),(Initialize (Initialized ss)),k)) in dom ((((a >0_goto ((card J) + 3)) ';' J) ';' (Goto ((card I) + 1))) ';' I)
by A42, A41, AFINSQ_1:66;
then A43:
IC (Comput ((P +* (if>0 (a,I,J))),(Initialize (Initialized ss)),k)) in dom (Directed ((((a >0_goto ((card J) + 3)) ';' J) ';' (Goto ((card I) + 1))) ';' I))
by FUNCT_4:99;
then A44:
(Directed ((((a >0_goto ((card J) + 3)) ';' J) ';' (Goto ((card I) + 1))) ';' I)) . (IC (Comput ((P +* (if>0 (a,I,J))),(Initialize (Initialized ss)),k))) in rng (Directed ((((a >0_goto ((card J) + 3)) ';' J) ';' (Goto ((card I) + 1))) ';' I))
by FUNCT_1:def 3;
card (if>0 (a,I,J)) =
((card I) + (card J)) + (3 + 1)
by SCMFSA8B:12
.=
(((card I) + (card J)) + 3) + 1
;
then
((card I) + (card J)) + 3
< card (if>0 (a,I,J))
by XREAL_1:29;
then
n + ((card J) + 3) < card (if>0 (a,I,J))
by A41, XXREAL_0:2;
then A45:
IC (Comput ((P +* (if>0 (a,I,J))),(Initialize (Initialized ss)),k)) in dom (if>0 (a,I,J))
by A42, AFINSQ_1:66;
A47:
CurInstr (
(P +* (if>0 (a,I,J))),
(Comput ((P +* (if>0 (a,I,J))),(Initialize (Initialized ss)),k))) =
(P +* (if>0 (a,I,J))) . (IC (Comput ((P +* (if>0 (a,I,J))),(Initialize (Initialized ss)),k)))
by PBOOLE:143
.=
(if>0 (a,I,J)) . (IC (Comput ((P +* (if>0 (a,I,J))),(Initialize (Initialized ss)),k)))
by A45, A3, GRFUNC_1:2
;
Directed ((((a >0_goto ((card J) + 3)) ';' J) ';' (Goto ((card I) + 1))) ';' I) c= if>0 (
a,
I,
J)
by A25, SCMFSA6A:16;
then
(if>0 (a,I,J)) . (IC (Comput ((P +* (if>0 (a,I,J))),(Initialize (Initialized ss)),k))) = (Directed ((((a >0_goto ((card J) + 3)) ';' J) ';' (Goto ((card I) + 1))) ';' I)) . (IC (Comput ((P +* (if>0 (a,I,J))),(Initialize (Initialized ss)),k)))
by A43, GRFUNC_1:2;
hence
contradiction
by A34, A44, A47, COMPOS_1:def 3;
verum end;
then A48:
LifeSpan ((P +* (if>0 (a,I,J))),(Initialize (Initialized ss))) = (pseudo-LifeSpan ((Initialize (Initialized ss)),(P +* (Directed I)),(Directed I))) + 1
by A32, A33, EXTPRO_1:def 15;
B49:
(Initialized ss) +* (Initialize ((intloc 0) .--> 1)) = Initialize (Initialized (Initialized ss))
by MEMSTR_0:44;
A50:
(Directed I) ';' (Stop SCM+FSA) = I ';' (Stop SCM+FSA)
by SCMFSA8A:25;
Directed (Directed I) = Directed I
by SCMFSA6A:22;
then A51:
DataPart (Comput ((P +* (Directed I)),(Initialize (Initialized ss)),(pseudo-LifeSpan ((Initialized ss),P,(Directed I))))) = DataPart (Comput ((P +* (I ';' (Stop SCM+FSA))),(Initialize (Initialized ss)),(pseudo-LifeSpan ((Initialized ss),P,(Directed I)))))
by A13, A50, Th58;
I ';' (Stop SCM+FSA) is_halting_on Initialized ss,P
by A13, Th58;
then A52:
P +* (I ';' (Stop SCM+FSA)) halts_on Initialize (Initialized ss)
by SCMFSA7B:def 7;
thus DataPart (IExec ((if>0 (a,I,J)),P,ss)) =
DataPart (IExec ((if>0 (a,I,J)),P,(Initialized ss)))
.=
DataPart (Result ((P +* (if>0 (a,I,J))),(Initialize (Initialized ss))))
by A21
.=
DataPart (Comput ((P +* (if>0 (a,I,J))),(Initialize (Initialized ss)),(LifeSpan ((P +* (if>0 (a,I,J))),(Initialize (Initialized ss))))))
by A33, EXTPRO_1:23
.=
DataPart (Comput ((P +* (if>0 (a,I,J))),(Comput ((P +* (if>0 (a,I,J))),(Initialize (Initialized ss)),1)),(pseudo-LifeSpan ((Initialize (Initialized ss)),(P +* (Directed I)),(Directed I)))))
by A48, EXTPRO_1:4
.=
DataPart (Comput ((P +* (Directed I)),(Initialize (Initialized ss)),(pseudo-LifeSpan ((Initialize (Initialized ss)),(P +* (Directed I)),(Directed I)))))
by A15, A29, A12, A18, Th51, A2
.=
DataPart (Comput ((P +* (I ';' (Stop SCM+FSA))),(Initialize (Initialized ss)),(LifeSpan ((P +* (I ';' (Stop SCM+FSA))),(Initialize (Initialized ss))))))
by A13, A14, A51, Th50
.=
DataPart (Result ((P +* (I ';' (Stop SCM+FSA))),((Initialized ss) +* (Initialize ((intloc 0) .--> 1)))))
by B49, A52, EXTPRO_1:23
.=
DataPart (IExec ((I ';' (Stop SCM+FSA)),P,(Initialized ss)))
.=
DataPart (IExec ((I ';' (Stop SCM+FSA)),P,ss))
; verum