let p be the Instructions of SCM+FSA -valued ManySortedSet of NAT ; for s being State of SCM+FSA
for I being good InitHalting Program of SCM+FSA
for a being read-write Int-Location st not I destroys a & s . a > 0 holds
ex s2 being State of SCM+FSA ex p2 being the Instructions of SCM+FSA -valued ManySortedSet of NAT ex k being Element of NAT st
( s2 = s +* (Initialize ((intloc 0) .--> 1)) & p2 = p +* (loop (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))) & k = (LifeSpan ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),(s +* (Initialize ((intloc 0) .--> 1))))) + 1 & (Comput (p2,s2,k)) . a = (s . a) - 1 & (Comput (p2,s2,k)) . (intloc 0) = 1 & ( for b being read-write Int-Location st b <> a holds
(Comput (p2,s2,k)) . b = (IExec (I,p,s)) . b ) & ( for f being FinSeq-Location holds (Comput (p2,s2,k)) . f = (IExec (I,p,s)) . f ) & IC (Comput (p2,s2,k)) = 0 & ( for n being Element of NAT st n <= k holds
IC (Comput (p2,s2,n)) in dom (loop (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))) ) )
let s be State of SCM+FSA; for I being good InitHalting Program of SCM+FSA
for a being read-write Int-Location st not I destroys a & s . a > 0 holds
ex s2 being State of SCM+FSA ex p2 being the Instructions of SCM+FSA -valued ManySortedSet of NAT ex k being Element of NAT st
( s2 = s +* (Initialize ((intloc 0) .--> 1)) & p2 = p +* (loop (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))) & k = (LifeSpan ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),(s +* (Initialize ((intloc 0) .--> 1))))) + 1 & (Comput (p2,s2,k)) . a = (s . a) - 1 & (Comput (p2,s2,k)) . (intloc 0) = 1 & ( for b being read-write Int-Location st b <> a holds
(Comput (p2,s2,k)) . b = (IExec (I,p,s)) . b ) & ( for f being FinSeq-Location holds (Comput (p2,s2,k)) . f = (IExec (I,p,s)) . f ) & IC (Comput (p2,s2,k)) = 0 & ( for n being Element of NAT st n <= k holds
IC (Comput (p2,s2,n)) in dom (loop (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))) ) )
let I be good InitHalting Program of SCM+FSA; for a being read-write Int-Location st not I destroys a & s . a > 0 holds
ex s2 being State of SCM+FSA ex p2 being the Instructions of SCM+FSA -valued ManySortedSet of NAT ex k being Element of NAT st
( s2 = s +* (Initialize ((intloc 0) .--> 1)) & p2 = p +* (loop (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))) & k = (LifeSpan ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),(s +* (Initialize ((intloc 0) .--> 1))))) + 1 & (Comput (p2,s2,k)) . a = (s . a) - 1 & (Comput (p2,s2,k)) . (intloc 0) = 1 & ( for b being read-write Int-Location st b <> a holds
(Comput (p2,s2,k)) . b = (IExec (I,p,s)) . b ) & ( for f being FinSeq-Location holds (Comput (p2,s2,k)) . f = (IExec (I,p,s)) . f ) & IC (Comput (p2,s2,k)) = 0 & ( for n being Element of NAT st n <= k holds
IC (Comput (p2,s2,n)) in dom (loop (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))) ) )
let a be read-write Int-Location ; ( not I destroys a & s . a > 0 implies ex s2 being State of SCM+FSA ex p2 being the Instructions of SCM+FSA -valued ManySortedSet of NAT ex k being Element of NAT st
( s2 = s +* (Initialize ((intloc 0) .--> 1)) & p2 = p +* (loop (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))) & k = (LifeSpan ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),(s +* (Initialize ((intloc 0) .--> 1))))) + 1 & (Comput (p2,s2,k)) . a = (s . a) - 1 & (Comput (p2,s2,k)) . (intloc 0) = 1 & ( for b being read-write Int-Location st b <> a holds
(Comput (p2,s2,k)) . b = (IExec (I,p,s)) . b ) & ( for f being FinSeq-Location holds (Comput (p2,s2,k)) . f = (IExec (I,p,s)) . f ) & IC (Comput (p2,s2,k)) = 0 & ( for n being Element of NAT st n <= k holds
IC (Comput (p2,s2,n)) in dom (loop (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))) ) ) )
assume A1:
not I destroys a
; ( not s . a > 0 or ex s2 being State of SCM+FSA ex p2 being the Instructions of SCM+FSA -valued ManySortedSet of NAT ex k being Element of NAT st
( s2 = s +* (Initialize ((intloc 0) .--> 1)) & p2 = p +* (loop (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))) & k = (LifeSpan ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),(s +* (Initialize ((intloc 0) .--> 1))))) + 1 & (Comput (p2,s2,k)) . a = (s . a) - 1 & (Comput (p2,s2,k)) . (intloc 0) = 1 & ( for b being read-write Int-Location st b <> a holds
(Comput (p2,s2,k)) . b = (IExec (I,p,s)) . b ) & ( for f being FinSeq-Location holds (Comput (p2,s2,k)) . f = (IExec (I,p,s)) . f ) & IC (Comput (p2,s2,k)) = 0 & ( for n being Element of NAT st n <= k holds
IC (Comput (p2,s2,n)) in dom (loop (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))) ) ) )
reconsider I1 = I ';' (SubFrom (a,(intloc 0))) as InitHalting Program of SCM+FSA ;
set P = if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0)))));
assume A2:
s . a > 0
; ex s2 being State of SCM+FSA ex p2 being the Instructions of SCM+FSA -valued ManySortedSet of NAT ex k being Element of NAT st
( s2 = s +* (Initialize ((intloc 0) .--> 1)) & p2 = p +* (loop (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))) & k = (LifeSpan ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),(s +* (Initialize ((intloc 0) .--> 1))))) + 1 & (Comput (p2,s2,k)) . a = (s . a) - 1 & (Comput (p2,s2,k)) . (intloc 0) = 1 & ( for b being read-write Int-Location st b <> a holds
(Comput (p2,s2,k)) . b = (IExec (I,p,s)) . b ) & ( for f being FinSeq-Location holds (Comput (p2,s2,k)) . f = (IExec (I,p,s)) . f ) & IC (Comput (p2,s2,k)) = 0 & ( for n being Element of NAT st n <= k holds
IC (Comput (p2,s2,n)) in dom (loop (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))) ) )
set Is = (Initialized s) +* (Initialize ((intloc 0) .--> 1));
take s2 = s +* (Initialize ((intloc 0) .--> 1)); ex p2 being the Instructions of SCM+FSA -valued ManySortedSet of NAT ex k being Element of NAT st
( s2 = s +* (Initialize ((intloc 0) .--> 1)) & p2 = p +* (loop (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))) & k = (LifeSpan ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),(s +* (Initialize ((intloc 0) .--> 1))))) + 1 & (Comput (p2,s2,k)) . a = (s . a) - 1 & (Comput (p2,s2,k)) . (intloc 0) = 1 & ( for b being read-write Int-Location st b <> a holds
(Comput (p2,s2,k)) . b = (IExec (I,p,s)) . b ) & ( for f being FinSeq-Location holds (Comput (p2,s2,k)) . f = (IExec (I,p,s)) . f ) & IC (Comput (p2,s2,k)) = 0 & ( for n being Element of NAT st n <= k holds
IC (Comput (p2,s2,n)) in dom (loop (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))) ) )
take p2 = p +* (loop (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))); ex k being Element of NAT st
( s2 = s +* (Initialize ((intloc 0) .--> 1)) & p2 = p +* (loop (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))) & k = (LifeSpan ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),(s +* (Initialize ((intloc 0) .--> 1))))) + 1 & (Comput (p2,s2,k)) . a = (s . a) - 1 & (Comput (p2,s2,k)) . (intloc 0) = 1 & ( for b being read-write Int-Location st b <> a holds
(Comput (p2,s2,k)) . b = (IExec (I,p,s)) . b ) & ( for f being FinSeq-Location holds (Comput (p2,s2,k)) . f = (IExec (I,p,s)) . f ) & IC (Comput (p2,s2,k)) = 0 & ( for n being Element of NAT st n <= k holds
IC (Comput (p2,s2,n)) in dom (loop (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))) ) )
set s1 = s +* (Initialize ((intloc 0) .--> 1));
set p1 = p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))));
take k = (LifeSpan ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),(s +* (Initialize ((intloc 0) .--> 1))))) + 1; ( s2 = s +* (Initialize ((intloc 0) .--> 1)) & p2 = p +* (loop (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))) & k = (LifeSpan ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),(s +* (Initialize ((intloc 0) .--> 1))))) + 1 & (Comput (p2,s2,k)) . a = (s . a) - 1 & (Comput (p2,s2,k)) . (intloc 0) = 1 & ( for b being read-write Int-Location st b <> a holds
(Comput (p2,s2,k)) . b = (IExec (I,p,s)) . b ) & ( for f being FinSeq-Location holds (Comput (p2,s2,k)) . f = (IExec (I,p,s)) . f ) & IC (Comput (p2,s2,k)) = 0 & ( for n being Element of NAT st n <= k holds
IC (Comput (p2,s2,n)) in dom (loop (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))) ) )
thus
( s2 = s +* (Initialize ((intloc 0) .--> 1)) & p2 = p +* (loop (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))) & k = (LifeSpan ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),(s +* (Initialize ((intloc 0) .--> 1))))) + 1 )
; ( (Comput (p2,s2,k)) . a = (s . a) - 1 & (Comput (p2,s2,k)) . (intloc 0) = 1 & ( for b being read-write Int-Location st b <> a holds
(Comput (p2,s2,k)) . b = (IExec (I,p,s)) . b ) & ( for f being FinSeq-Location holds (Comput (p2,s2,k)) . f = (IExec (I,p,s)) . f ) & IC (Comput (p2,s2,k)) = 0 & ( for n being Element of NAT st n <= k holds
IC (Comput (p2,s2,n)) in dom (loop (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))) ) )
A3: (Initialized s) +* (Initialize ((intloc 0) .--> 1)) =
Initialized s
by FUNCT_4:99
.=
s +* ((Initialize ((intloc 0) .--> 1)) +* (Start-At (0,SCM+FSA)))
by FUNCT_4:99
.=
s +* ((Initialize ((intloc 0) .--> 1)) +* (Start-At (0,SCM+FSA)))
.=
Initialize (Initialized s)
by FUNCT_4:15
;
A4:
I1 is_halting_onInit s,p
by Th36;
then A5:
I1 is_halting_on Initialized s,p
by Th41;
A6:
IExec ((if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0)))))),p,s) = (IExec (I1,p,s)) +* (Start-At ((((card (Goto 2)) + (card I1)) + 3),SCM+FSA))
by A2, A4, Th46, Th35;
then A7:
(IExec ((if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0)))))),p,s)) . a = (IExec (I1,p,s)) . a
by SCMFSA_3:11;
( I1 is_closed_onInit s,p & I1 is_halting_onInit s,p )
by Th35, Th36;
then A8:
( if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))) is_closed_onInit s,p & if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))) is_halting_onInit s,p )
by A2, Th45;
Comput (p2,s2,((LifeSpan ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),(s +* (Initialize ((intloc 0) .--> 1))))) + 1)) =
Following (p2,(Comput (p2,s2,(LifeSpan ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),(s +* (Initialize ((intloc 0) .--> 1))))))))
by EXTPRO_1:4
.=
Exec ((CurInstr (p2,(Comput (p2,s2,(LifeSpan ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),(s +* (Initialize ((intloc 0) .--> 1))))))))),(Comput (p2,s2,(LifeSpan ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),(s +* (Initialize ((intloc 0) .--> 1))))))))
;
then A9:
Comput (p2,s2,((LifeSpan ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),(s +* (Initialize ((intloc 0) .--> 1))))) + 1)) = Exec ((goto 0),(Comput (p2,s2,(LifeSpan ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),(s +* (Initialize ((intloc 0) .--> 1))))))))
by A8, Th71;
A10:
( I1 is_closed_onInit s,p & I1 is_halting_onInit s,p )
by Th35, Th36;
then
if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))) is_closed_onInit s,p
by A2, Th45;
then A11:
if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))) is_closed_on Initialized s,p
by Th40;
if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))) is_halting_onInit s,p
by A2, A10, Th45;
then A12:
if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))) is_halting_on Initialized s,p
by Th41;
A13:
(Initialized s) +* (Initialize ((intloc 0) .--> 1)) = s +* (Initialize ((intloc 0) .--> 1))
by FUNCT_4:99;
OO:
(Initialized s) +* (Initialize ((intloc 0) .--> 1)) = Initialize (Initialized s)
by A3;
XX:
NPP (Comput ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),((Initialized s) +* (Initialize ((intloc 0) .--> 1))),(LifeSpan ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),((Initialized s) +* (Initialize ((intloc 0) .--> 1))))))) = NPP (Comput ((p +* (loop (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0)))))))),((Initialized s) +* (Initialize ((intloc 0) .--> 1))),(LifeSpan ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),((Initialized s) +* (Initialize ((intloc 0) .--> 1)))))))
by A8, A13, Th68;
A14:
now let b be
Int-Location ;
(Comput (p2,s2,((LifeSpan ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),(s +* (Initialize ((intloc 0) .--> 1))))) + 1))) . b = (Comput ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),((Initialized s) +* (Initialize ((intloc 0) .--> 1))),(LifeSpan ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),((Initialized s) +* (Initialize ((intloc 0) .--> 1))))))) . b
(Comput (p2,s2,((LifeSpan ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),(s +* (Initialize ((intloc 0) .--> 1))))) + 1))) . b = (Comput (p2,s2,(LifeSpan ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),(s +* (Initialize ((intloc 0) .--> 1))))))) . b
by A9, SCMFSA_2:95;
hence
(Comput (p2,s2,((LifeSpan ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),(s +* (Initialize ((intloc 0) .--> 1))))) + 1))) . b = (Comput ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),((Initialized s) +* (Initialize ((intloc 0) .--> 1))),(LifeSpan ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),((Initialized s) +* (Initialize ((intloc 0) .--> 1))))))) . b
by A13, XX, SCMFSA10:92;
verum end;
then (Comput (p2,s2,((LifeSpan ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),(s +* (Initialize ((intloc 0) .--> 1))))) + 1))) . a =
(Comput ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),((Initialized s) +* (Initialize ((intloc 0) .--> 1))),(LifeSpan ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),((Initialized s) +* (Initialize ((intloc 0) .--> 1))))))) . a
.=
(IExec ((if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0)))))),p,s)) . a
by A3, A12, SCMFSA8C:87
;
hence (Comput (p2,s2,k)) . a =
(Comput ((p +* I1),(Initialize (Initialized s)),(LifeSpan ((p +* I1),(Initialize (Initialized s)))))) . a
by A5, A7, SCMFSA8C:87
.=
(s . a) - 1
by A1, Th64
;
( (Comput (p2,s2,k)) . (intloc 0) = 1 & ( for b being read-write Int-Location st b <> a holds
(Comput (p2,s2,k)) . b = (IExec (I,p,s)) . b ) & ( for f being FinSeq-Location holds (Comput (p2,s2,k)) . f = (IExec (I,p,s)) . f ) & IC (Comput (p2,s2,k)) = 0 & ( for n being Element of NAT st n <= k holds
IC (Comput (p2,s2,n)) in dom (loop (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))) ) )
(Comput (p2,s2,((LifeSpan ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),(s +* (Initialize ((intloc 0) .--> 1))))) + 1))) . (intloc 0) =
(Comput ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),((Initialized s) +* (Initialize ((intloc 0) .--> 1))),(LifeSpan ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),((Initialized s) +* (Initialize ((intloc 0) .--> 1))))))) . (intloc 0)
by A14
.=
1
by A12, A11, OO, SCMFSA8C:96
;
hence
(Comput (p2,s2,k)) . (intloc 0) = 1
; ( ( for b being read-write Int-Location st b <> a holds
(Comput (p2,s2,k)) . b = (IExec (I,p,s)) . b ) & ( for f being FinSeq-Location holds (Comput (p2,s2,k)) . f = (IExec (I,p,s)) . f ) & IC (Comput (p2,s2,k)) = 0 & ( for n being Element of NAT st n <= k holds
IC (Comput (p2,s2,n)) in dom (loop (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))) ) )
hereby ( ( for f being FinSeq-Location holds (Comput (p2,s2,k)) . f = (IExec (I,p,s)) . f ) & IC (Comput (p2,s2,k)) = 0 & ( for n being Element of NAT st n <= k holds
IC (Comput (p2,s2,n)) in dom (loop (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))) ) )
let b be
read-write Int-Location ;
( b <> a implies (Comput (p2,s2,k)) . b = (IExec (I,p,s)) . b )assume A15:
b <> a
;
(Comput (p2,s2,k)) . b = (IExec (I,p,s)) . bthus (Comput (p2,s2,k)) . b =
(Comput ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),((Initialized s) +* (Initialize ((intloc 0) .--> 1))),(LifeSpan ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),((Initialized s) +* (Initialize ((intloc 0) .--> 1))))))) . b
by A14
.=
(IExec ((if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0)))))),p,s)) . b
by A3, A12, SCMFSA8C:87
.=
(IExec (I1,p,s)) . b
by A6, SCMFSA_3:11
.=
(Exec ((SubFrom (a,(intloc 0))),(IExec (I,p,s)))) . b
by Th33
.=
(IExec (I,p,s)) . b
by A15, SCMFSA_2:91
;
verum
end;
hereby ( IC (Comput (p2,s2,k)) = 0 & ( for n being Element of NAT st n <= k holds
IC (Comput (p2,s2,n)) in dom (loop (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))) ) )
let f be
FinSeq-Location ;
(Comput (p2,s2,k)) . f = (IExec (I,p,s)) . f
(Comput (p2,s2,((LifeSpan ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),(s +* (Initialize ((intloc 0) .--> 1))))) + 1))) . f = (Comput (p2,s2,(LifeSpan ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),(s +* (Initialize ((intloc 0) .--> 1))))))) . f
by A9, SCMFSA_2:95;
hence (Comput (p2,s2,k)) . f =
(Comput ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),((Initialized s) +* (Initialize ((intloc 0) .--> 1))),(LifeSpan ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),((Initialized s) +* (Initialize ((intloc 0) .--> 1))))))) . f
by A13, XX, SCMFSA10:93
.=
(IExec ((if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0)))))),p,s)) . f
by A3, A12, SCMFSA8C:87
.=
(IExec (I1,p,s)) . f
by A6, SCMFSA_3:12
.=
(Exec ((SubFrom (a,(intloc 0))),(IExec (I,p,s)))) . f
by Th34
.=
(IExec (I,p,s)) . f
by SCMFSA_2:91
;
verum
end;
thus
IC (Comput (p2,s2,k)) = 0
by A9, SCMFSA_2:95; for n being Element of NAT st n <= k holds
IC (Comput (p2,s2,n)) in dom (loop (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0)))))))
A16:
IC (Comput (p2,s2,((LifeSpan ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),(s +* (Initialize ((intloc 0) .--> 1))))) + 1))) = 0
by A9, SCMFSA_2:95;
hereby verum
let n be
Element of
NAT ;
( n <= k implies IC (Comput (p2,s2,b1)) in dom (loop (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))) )assume A17:
n <= k
;
IC (Comput (p2,s2,b1)) in dom (loop (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0)))))))per cases
( n <= LifeSpan ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),(s +* (Initialize ((intloc 0) .--> 1)))) or n = (LifeSpan ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),(s +* (Initialize ((intloc 0) .--> 1))))) + 1 )
by A17, NAT_1:8;
suppose A18:
n <= LifeSpan (
(p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),
(s +* (Initialize ((intloc 0) .--> 1))))
;
IC (Comput (p2,s2,b1)) in dom (loop (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0)))))))A19:
(
I1 is_closed_onInit s,
p &
I1 is_halting_onInit s,
p )
by Th35, Th36;
then A20:
if=0 (
a,
(Goto 2),
(I ';' (SubFrom (a,(intloc 0)))))
is_closed_onInit s,
p
by A2, Th45;
if=0 (
a,
(Goto 2),
(I ';' (SubFrom (a,(intloc 0)))))
is_halting_onInit s,
p
by A2, A19, Th45;
then
NPP (Comput ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),(s +* (Initialize ((intloc 0) .--> 1))),n)) = NPP (Comput (p2,s2,n))
by A18, A20, Th68;
then A21:
IC (Comput (p2,s2,n)) = IC (Comput ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),(s +* (Initialize ((intloc 0) .--> 1))),n))
by SCMFSA8A:6;
IC (Comput ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),(s +* (Initialize ((intloc 0) .--> 1))),n)) in dom (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))
by A20, Def4;
hence
IC (Comput (p2,s2,n)) in dom (loop (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0)))))))
by A21, FUNCT_4:105;
verum end; suppose A22:
n = (LifeSpan ((p +* (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))),(s +* (Initialize ((intloc 0) .--> 1))))) + 1
;
IC (Comput (p2,s2,b1)) in dom (loop (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0)))))))A23:
card (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0)))))) =
((card (Goto 2)) + (card I1)) + 4
by SCMFSA8B:14
.=
((card I1) + 1) + 4
by SCMFSA8A:29
.=
((card I1) + 3) + 2
;
card (loop (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))) =
card (dom (loop (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))))
by CARD_1:104
.=
card (dom (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0)))))))
by FUNCT_4:105
.=
card (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0))))))
by CARD_1:104
;
hence
IC (Comput (p2,s2,n)) in dom (loop (if=0 (a,(Goto 2),(I ';' (SubFrom (a,(intloc 0)))))))
by A16, A22, A23, AFINSQ_1:70;
verum end; end;
end;