let R be good Ring; :: thesis: for a being Data-Location of R
for i1 being Element of NAT holds not a =0_goto i1 is halting

let a be Data-Location of R; :: thesis: for i1 being Element of NAT holds not a =0_goto i1 is halting
let i1 be Element of NAT ; :: thesis: not a =0_goto i1 is halting
reconsider i5 = i1 as Element of NAT ;
consider s being SCM-State of R;
set t = s +* (NAT .--> (succ i1));
set f = the Object-Kind of (SCM R);
reconsider V = a =0_goto i1 as Element of SCM-Instr R by Def1;
A2: {NAT } c= SCM-Memory by AMI_2:30, ZFMISC_1:37;
A3: dom (s +* (NAT .--> (succ i1))) = (dom s) \/ (dom (NAT .--> (succ i1))) by FUNCT_4:def 1
.= SCM-Memory \/ (dom (NAT .--> (succ i1))) by PARTFUN1:def 4
.= SCM-Memory \/ {NAT } by FUNCOP_1:19
.= SCM-Memory by A2, XBOOLE_1:12 ;
A4: the Object-Kind of (SCM R) = SCM-OK R by Def1;
A5: dom (NAT .--> (succ i1)) = {NAT } by FUNCOP_1:19;
then NAT in dom (NAT .--> (succ i1)) by TARSKI:def 1;
then A6: (s +* (NAT .--> (succ i1))) . NAT = (NAT .--> (succ i1)) . NAT by FUNCT_4:14
.= succ i5 by FUNCOP_1:87 ;
YY: dom (s +* (NAT .--> (succ i1))) = the carrier of (SCM R) by A3, Def1
.= dom the Object-Kind of (SCM R) by PARTFUN1:def 4 ;
X: for x being set st x in dom (s +* (NAT .--> (succ i1))) holds
(s +* (NAT .--> (succ i1))) . x in the Object-Kind of (SCM R) . x
proof
let x be set ; :: thesis: ( x in dom (s +* (NAT .--> (succ i1))) implies (s +* (NAT .--> (succ i1))) . x in the Object-Kind of (SCM R) . x )
assume A8: x in dom (s +* (NAT .--> (succ i1))) ; :: thesis: (s +* (NAT .--> (succ i1))) . x in the Object-Kind of (SCM R) . x
per cases ( x = NAT or x <> NAT ) ;
suppose A9: x = NAT ; :: thesis: (s +* (NAT .--> (succ i1))) . x in the Object-Kind of (SCM R) . x
then the Object-Kind of (SCM R) . x = NAT by A4, AMI_2:30, SCMRING1:2;
hence (s +* (NAT .--> (succ i1))) . x in the Object-Kind of (SCM R) . x by A6, A9; :: thesis: verum
end;
suppose x <> NAT ; :: thesis: (s +* (NAT .--> (succ i1))) . x in the Object-Kind of (SCM R) . x
then not x in dom (NAT .--> (succ i1)) by A5, TARSKI:def 1;
then (s +* (NAT .--> (succ i1))) . x = s . x by FUNCT_4:12;
hence (s +* (NAT .--> (succ i1))) . x in the Object-Kind of (SCM R) . x by A4, A8, YY, CARD_3:18; :: thesis: verum
end;
end;
end;
dom (s +* (NAT .--> (succ i1))) = the carrier of (SCM R) by A3, Def1;
then reconsider t = s +* (NAT .--> (succ i1)) as PartState of (SCM R) by X, FUNCT_1:def 20, RELAT_1:def 18;
dom t = the carrier of (SCM R) by A3, Def1;
then reconsider t = t as State of (SCM R) by PARTFUN1:def 4;
Y: the Object-Kind of (SCM R) = SCM-OK R by Def1;
reconsider w = t as SCM-State of R by Y, PBOOLE:155;
dom (NAT .--> i1) = {NAT } by FUNCOP_1:19;
then NAT in dom (NAT .--> i1) by TARSKI:def 1;
then A10: (w +* (NAT .--> i1)) . NAT = (NAT .--> i1) . NAT by FUNCT_4:14
.= i1 by FUNCOP_1:87 ;
A11: 7 is Element of Segm 8 by NAT_1:45;
A13: a is Element of SCM-Data-Loc by Th1;
assume A14: a =0_goto i1 is halting ; :: thesis: contradiction
per cases ( w . (V cond_address ) <> 0. R or w . (V cond_address ) = 0. R ) ;
suppose A15: w . (V cond_address ) <> 0. R ; :: thesis: contradiction
IC w = w . NAT ;
then reconsider e = w . NAT as Element of NAT ;
A16: IC t = IC w by Def1;
then A17: (Exec (a =0_goto i1),t) . (IC (SCM R)) = w . NAT by A14, AMI_1:def 8;
a is Element of SCM-Data-Loc by Th1;
then t . a <> 0. R by A11, A15, SCMRING1:19;
then (Exec (a =0_goto i1),t) . (IC (SCM R)) = succ e by A16, Th18;
hence contradiction by A17; :: thesis: verum
end;
suppose A18: w . (V cond_address ) = 0. R ; :: thesis: contradiction
w +* (NAT .--> i1) = SCM-Chg w,i5
.= SCM-Chg w,(V cjump_address ) by A11, A13, SCMRING1:19
.= SCM-Chg w,(IFEQ (w . (V cond_address )),(0. R),(V cjump_address ),(succ (IC w))) by A18, FUNCOP_1:def 8
.= SCM-Exec-Res V,w by A13, SCMRING1:def 14
.= Exec (a =0_goto i1),t by Th12
.= t by A14, AMI_1:def 8 ;
hence contradiction by A6, A10; :: thesis: verum
end;
end;