let R be good Ring; :: thesis: for i1 being Instruction-Location of SCM R holds not goto i1 is halting
let i1 be Instruction-Location of SCM R; :: thesis: not goto i1 is halting
assume A1: goto i1 is halting ; :: thesis: contradiction
reconsider V = goto i1 as Element of SCM-Instr R by Def1;
reconsider i5 = i1 as Element of NAT by AMI_1:def 4;
consider s being SCM-State of R;
set t = s +* (NAT .--> (Next ));
set f = the Object-Kind of (SCM R);
A2: the Object-Kind of (SCM R) = SCM-OK R by Def1;
A3: dom (NAT .--> (Next )) = {NAT } by FUNCOP_1:19;
then NAT in dom (NAT .--> (Next )) by TARSKI:def 1;
then A4: (s +* (NAT .--> (Next ))) . NAT = (NAT .--> (Next )) . NAT by FUNCT_4:14
.= succ i5 by FUNCOP_1:87 ;
A5: {NAT } c= SCM-Memory by AMI_2:30, ZFMISC_1:37;
A6: dom s = dom (SCM-OK R) by CARD_3:18;
A7: dom (s +* (NAT .--> (Next ))) = (dom s) \/ (dom (NAT .--> (Next ))) by FUNCT_4:def 1
.= SCM-Memory \/ (dom (NAT .--> (Next ))) by A6, FUNCT_2:def 1
.= SCM-Memory \/ {NAT } by FUNCOP_1:19
.= SCM-Memory by A5, XBOOLE_1:12 ;
A8: dom the Object-Kind of (SCM R) = SCM-Memory by A2, FUNCT_2:def 1;
for x being set st x in dom the Object-Kind of (SCM R) holds
(s +* (NAT .--> (Next ))) . x in the Object-Kind of (SCM R) . x
proof
let x be set ; :: thesis: ( x in dom the Object-Kind of (SCM R) implies (s +* (NAT .--> (Next ))) . x in the Object-Kind of (SCM R) . x )
assume A9: x in dom the Object-Kind of (SCM R) ; :: thesis: (s +* (NAT .--> (Next ))) . x in the Object-Kind of (SCM R) . x
per cases ( x = NAT or x <> NAT ) ;
suppose A10: x = NAT ; :: thesis: (s +* (NAT .--> (Next ))) . x in the Object-Kind of (SCM R) . x
then the Object-Kind of (SCM R) . x = NAT by A2, AMI_2:30, SCMRING1:2;
hence (s +* (NAT .--> (Next ))) . x in the Object-Kind of (SCM R) . x by A4, A10; :: thesis: verum
end;
end;
end;
then reconsider t = s +* (NAT .--> (Next )) as State of (SCM R) by A7, A8, CARD_3:18;
reconsider w = t as SCM-State of R by Def1;
dom (NAT .--> i1) = {NAT } by FUNCOP_1:19;
then NAT in dom (NAT .--> i1) by TARSKI:def 1;
then A11: (w +* (NAT .--> i1)) . NAT = (NAT .--> i1) . NAT by FUNCT_4:14
.= i1 by FUNCOP_1:87 ;
A12: 6 is Element of Segm 8 by GR_CY_1:10;
A13: i1 in NAT by AMI_1:def 4;
w +* (NAT .--> i1) = SCM-Chg w,i5
.= SCM-Chg w,(V jump_address ) by A12, SCMRING1:18
.= SCM-Exec-Res V,w by A13, SCMRING1:def 14
.= Exec (goto i1),t by Th12
.= t by A1, AMI_1:def 8 ;
hence contradiction by A4, A11; :: thesis: verum