let R be Ring; :: thesis: for i1 being Nat holds not goto (i1,R) is halting

let i1 be Nat; :: thesis: not goto (i1,R) is halting

reconsider i5 = i1 as Element of NAT by ORDINAL1:def 12;

set s = the SCM-State of R;

set t = the SCM-State of R +* (NAT .--> (i1 + 1));

set f = the_Values_of (SCM R);

A1: {NAT} c= SCM-Memory by AMI_2:22, ZFMISC_1:31;

A2: dom ( the SCM-State of R +* (NAT .--> (i1 + 1))) = (dom the SCM-State of R) \/ (dom (NAT .--> (i1 + 1))) by FUNCT_4:def 1

.= SCM-Memory \/ (dom (NAT .--> (i1 + 1))) by SCMRING1:19

.= SCM-Memory \/ {NAT}

.= SCM-Memory by A1, XBOOLE_1:12 ;

A3: the_Values_of (SCM R) = (SCM-VAL R) * SCM-OK by Lm1;

NAT in dom (NAT .--> (i1 + 1)) by TARSKI:def 1;

then A5: ( the SCM-State of R +* (NAT .--> (i1 + 1))) . NAT = (NAT .--> (i1 + 1)) . NAT by FUNCT_4:13

.= i5 + 1 by FUNCOP_1:72 ;

A6: dom ( the SCM-State of R +* (NAT .--> (i1 + 1))) = the carrier of (SCM R) by A2, Def1

.= dom (the_Values_of (SCM R)) by PARTFUN1:def 2 ;

A7: for x being object st x in dom ( the SCM-State of R +* (NAT .--> (i1 + 1))) holds

( the SCM-State of R +* (NAT .--> (i1 + 1))) . x in (the_Values_of (SCM R)) . x

dom ( the SCM-State of R +* (NAT .--> (i1 + 1))) = the carrier of (SCM R) by A2, Def1;

then reconsider t = the SCM-State of R +* (NAT .--> (i1 + 1)) as PartState of (SCM R) by A7, FUNCT_1:def 14, RELAT_1:def 18;

dom t = the carrier of (SCM R) by A2, Def1;

then reconsider t = t as State of (SCM R) by PARTFUN1:def 2;

reconsider w = t as SCM-State of R by A10, CARD_3:107;

A11: i1 in NAT by ORDINAL1:def 12;

NAT in dom (NAT .--> i1) by TARSKI:def 1;

then A12: (w +* (NAT .--> i1)) . NAT = (NAT .--> i1) . NAT by FUNCT_4:13

.= i1 by FUNCOP_1:72 ;

reconsider V = goto (i1,R) as Element of SCM-Instr R by Def1;

assume A13: goto (i1,R) is halting ; :: thesis: contradiction

A14: 6 is Element of Segm 8 by NAT_1:44;

w +* (NAT .--> i1) = SCM-Chg (w,i5)

.= SCM-Chg (w,(V jump_address)) by A14, SCMRINGI:2

.= SCM-Exec-Res (V,w) by SCMRING1:def 14, A11

.= Exec ((goto (i1,R)),t) by Th10

.= t by A13 ;

hence contradiction by A5, A12; :: thesis: verum

let i1 be Nat; :: thesis: not goto (i1,R) is halting

reconsider i5 = i1 as Element of NAT by ORDINAL1:def 12;

set s = the SCM-State of R;

set t = the SCM-State of R +* (NAT .--> (i1 + 1));

set f = the_Values_of (SCM R);

A1: {NAT} c= SCM-Memory by AMI_2:22, ZFMISC_1:31;

A2: dom ( the SCM-State of R +* (NAT .--> (i1 + 1))) = (dom the SCM-State of R) \/ (dom (NAT .--> (i1 + 1))) by FUNCT_4:def 1

.= SCM-Memory \/ (dom (NAT .--> (i1 + 1))) by SCMRING1:19

.= SCM-Memory \/ {NAT}

.= SCM-Memory by A1, XBOOLE_1:12 ;

A3: the_Values_of (SCM R) = (SCM-VAL R) * SCM-OK by Lm1;

NAT in dom (NAT .--> (i1 + 1)) by TARSKI:def 1;

then A5: ( the SCM-State of R +* (NAT .--> (i1 + 1))) . NAT = (NAT .--> (i1 + 1)) . NAT by FUNCT_4:13

.= i5 + 1 by FUNCOP_1:72 ;

A6: dom ( the SCM-State of R +* (NAT .--> (i1 + 1))) = the carrier of (SCM R) by A2, Def1

.= dom (the_Values_of (SCM R)) by PARTFUN1:def 2 ;

A7: for x being object st x in dom ( the SCM-State of R +* (NAT .--> (i1 + 1))) holds

( the SCM-State of R +* (NAT .--> (i1 + 1))) . x in (the_Values_of (SCM R)) . x

proof

A10:
the_Values_of (SCM R) = (SCM-VAL R) * SCM-OK
by Lm1;
let x be object ; :: thesis: ( x in dom ( the SCM-State of R +* (NAT .--> (i1 + 1))) implies ( the SCM-State of R +* (NAT .--> (i1 + 1))) . x in (the_Values_of (SCM R)) . x )

assume A8: x in dom ( the SCM-State of R +* (NAT .--> (i1 + 1))) ; :: thesis: ( the SCM-State of R +* (NAT .--> (i1 + 1))) . x in (the_Values_of (SCM R)) . x

end;assume A8: x in dom ( the SCM-State of R +* (NAT .--> (i1 + 1))) ; :: thesis: ( the SCM-State of R +* (NAT .--> (i1 + 1))) . x in (the_Values_of (SCM R)) . x

per cases
( x = NAT or x <> NAT )
;

end;

suppose A9:
x = NAT
; :: thesis: ( the SCM-State of R +* (NAT .--> (i1 + 1))) . x in (the_Values_of (SCM R)) . x

then
(the_Values_of (SCM R)) . x = NAT
by A3, SCMRING1:2;

hence ( the SCM-State of R +* (NAT .--> (i1 + 1))) . x in (the_Values_of (SCM R)) . x by A5, A9, ORDINAL1:def 12; :: thesis: verum

end;hence ( the SCM-State of R +* (NAT .--> (i1 + 1))) . x in (the_Values_of (SCM R)) . x by A5, A9, ORDINAL1:def 12; :: thesis: verum

suppose
x <> NAT
; :: thesis: ( the SCM-State of R +* (NAT .--> (i1 + 1))) . x in (the_Values_of (SCM R)) . x

then
not x in dom (NAT .--> (i1 + 1))
by TARSKI:def 1;

then ( the SCM-State of R +* (NAT .--> (i1 + 1))) . x = the SCM-State of R . x by FUNCT_4:11;

hence ( the SCM-State of R +* (NAT .--> (i1 + 1))) . x in (the_Values_of (SCM R)) . x by A3, A8, A6, CARD_3:9; :: thesis: verum

end;then ( the SCM-State of R +* (NAT .--> (i1 + 1))) . x = the SCM-State of R . x by FUNCT_4:11;

hence ( the SCM-State of R +* (NAT .--> (i1 + 1))) . x in (the_Values_of (SCM R)) . x by A3, A8, A6, CARD_3:9; :: thesis: verum

dom ( the SCM-State of R +* (NAT .--> (i1 + 1))) = the carrier of (SCM R) by A2, Def1;

then reconsider t = the SCM-State of R +* (NAT .--> (i1 + 1)) as PartState of (SCM R) by A7, FUNCT_1:def 14, RELAT_1:def 18;

dom t = the carrier of (SCM R) by A2, Def1;

then reconsider t = t as State of (SCM R) by PARTFUN1:def 2;

reconsider w = t as SCM-State of R by A10, CARD_3:107;

A11: i1 in NAT by ORDINAL1:def 12;

NAT in dom (NAT .--> i1) by TARSKI:def 1;

then A12: (w +* (NAT .--> i1)) . NAT = (NAT .--> i1) . NAT by FUNCT_4:13

.= i1 by FUNCOP_1:72 ;

reconsider V = goto (i1,R) as Element of SCM-Instr R by Def1;

assume A13: goto (i1,R) is halting ; :: thesis: contradiction

A14: 6 is Element of Segm 8 by NAT_1:44;

w +* (NAT .--> i1) = SCM-Chg (w,i5)

.= SCM-Chg (w,(V jump_address)) by A14, SCMRINGI:2

.= SCM-Exec-Res (V,w) by SCMRING1:def 14, A11

.= Exec ((goto (i1,R)),t) by Th10

.= t by A13 ;

hence contradiction by A5, A12; :: thesis: verum