:: SCM_HALT semantic presentation
:: Showing IDV graph ... (Click the Palm Trees again to close it)
:: deftheorem Def1 defines InitClosed SCM_HALT:def 1 :
:: deftheorem Def2 defines InitHalting SCM_HALT:def 2 :
:: deftheorem Def3 defines keepInt0_1 SCM_HALT:def 3 :
theorem Th1: :: SCM_HALT:1
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th2: :: SCM_HALT:2
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
set iS = ((intloc 0) .--> 1) +* (Start-At (insloc 0));
theorem Th3: :: SCM_HALT:3
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th4: :: SCM_HALT:4
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th5: :: SCM_HALT:5
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th6: :: SCM_HALT:6
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th7: :: SCM_HALT:7
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: SCM_HALT:8
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: SCM_HALT:9
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th10: :: SCM_HALT:10
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th11: :: SCM_HALT:11
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th12: :: SCM_HALT:12
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th13: :: SCM_HALT:13
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th14: :: SCM_HALT:14
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th15: :: SCM_HALT:15
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: SCM_HALT:16
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
canceled;
theorem Th17: :: SCM_HALT:17
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th18: :: SCM_HALT:18
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th19: :: SCM_HALT:19
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th20: :: SCM_HALT:20
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th21: :: SCM_HALT:21
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th22: :: SCM_HALT:22
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th23: :: SCM_HALT:23
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th24: :: SCM_HALT:24
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th25: :: SCM_HALT:25
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th26: :: SCM_HALT:26
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th27: :: SCM_HALT:27
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th28: :: SCM_HALT:28
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th29: :: SCM_HALT:29
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th30: :: SCM_HALT:30
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th31: :: SCM_HALT:31
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th32: :: SCM_HALT:32
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th33: :: SCM_HALT:33
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th34: :: SCM_HALT:34
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
:: deftheorem Def4 defines is_closed_onInit SCM_HALT:def 4 :
:: deftheorem Def5 defines is_halting_onInit SCM_HALT:def 5 :
theorem Th35: :: SCM_HALT:35
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th36: :: SCM_HALT:36
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th37: :: SCM_HALT:37
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: SCM_HALT:38
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: SCM_HALT:39
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th40: :: SCM_HALT:40
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th41: :: SCM_HALT:41
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: SCM_HALT:42
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th43: :: SCM_HALT:43
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th44: :: SCM_HALT:44
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th45: :: SCM_HALT:45
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th46: :: SCM_HALT:46
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th47: :: SCM_HALT:47
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
for
s being
State of
SCM+FSA for
I,
J being
InitHalting Macro-Instruction for
a being
read-write Int-Location holds
(
if=0 a,
I,
J is
InitHalting & (
s . a = 0 implies
IExec (if=0 a,I,J),
s = (IExec I,s) +* (Start-At (insloc (((card I) + (card J)) + 3))) ) & (
s . a <> 0 implies
IExec (if=0 a,I,J),
s = (IExec J,s) +* (Start-At (insloc (((card I) + (card J)) + 3))) ) )
theorem :: SCM_HALT:48
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
for
s being
State of
SCM+FSA for
I,
J being
InitHalting Macro-Instruction for
a being
read-write Int-Location holds
(
IC (IExec (if=0 a,I,J),s) = insloc (((card I) + (card J)) + 3) & (
s . a = 0 implies ( ( for
d being
Int-Location holds
(IExec (if=0 a,I,J),s) . d = (IExec I,s) . d ) & ( for
f being
FinSeq-Location holds
(IExec (if=0 a,I,J),s) . f = (IExec I,s) . f ) ) ) & (
s . a <> 0 implies ( ( for
d being
Int-Location holds
(IExec (if=0 a,I,J),s) . d = (IExec J,s) . d ) & ( for
f being
FinSeq-Location holds
(IExec (if=0 a,I,J),s) . f = (IExec J,s) . f ) ) ) )
theorem Th49: :: SCM_HALT:49
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th50: :: SCM_HALT:50
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th51: :: SCM_HALT:51
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th52: :: SCM_HALT:52
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th53: :: SCM_HALT:53
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
for
s being
State of
SCM+FSA for
I,
J being
InitHalting Macro-Instruction for
a being
read-write Int-Location holds
(
if>0 a,
I,
J is
InitHalting & (
s . a > 0 implies
IExec (if>0 a,I,J),
s = (IExec I,s) +* (Start-At (insloc (((card I) + (card J)) + 3))) ) & (
s . a <= 0 implies
IExec (if>0 a,I,J),
s = (IExec J,s) +* (Start-At (insloc (((card I) + (card J)) + 3))) ) )
theorem :: SCM_HALT:54
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
for
s being
State of
SCM+FSA for
I,
J being
InitHalting Macro-Instruction for
a being
read-write Int-Location holds
(
IC (IExec (if>0 a,I,J),s) = insloc (((card I) + (card J)) + 3) & (
s . a > 0 implies ( ( for
d being
Int-Location holds
(IExec (if>0 a,I,J),s) . d = (IExec I,s) . d ) & ( for
f being
FinSeq-Location holds
(IExec (if>0 a,I,J),s) . f = (IExec I,s) . f ) ) ) & (
s . a <= 0 implies ( ( for
d being
Int-Location holds
(IExec (if>0 a,I,J),s) . d = (IExec J,s) . d ) & ( for
f being
FinSeq-Location holds
(IExec (if>0 a,I,J),s) . f = (IExec J,s) . f ) ) ) )
theorem Th55: :: SCM_HALT:55
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th56: :: SCM_HALT:56
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th57: :: SCM_HALT:57
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th58: :: SCM_HALT:58
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
for
s being
State of
SCM+FSA for
I,
J being
InitHalting Macro-Instruction for
a being
read-write Int-Location holds
(
if<0 a,
I,
J is
InitHalting & (
s . a < 0 implies
IExec (if<0 a,I,J),
s = (IExec I,s) +* (Start-At (insloc ((((card I) + (card J)) + (card J)) + 7))) ) & (
s . a >= 0 implies
IExec (if<0 a,I,J),
s = (IExec J,s) +* (Start-At (insloc ((((card I) + (card J)) + (card J)) + 7))) ) )
registration
let I,
J be
InitHalting Macro-Instruction;
let a be
read-write Int-Location ;
cluster if=0 a,
I,
J -> non
empty InitClosed InitHalting ;
correctness
coherence
if=0 a,I,J is InitHalting;
by Th47;
cluster if>0 a,
I,
J -> non
empty InitClosed InitHalting ;
correctness
coherence
if>0 a,I,J is InitHalting;
by Th53;
cluster if<0 a,
I,
J -> non
empty InitClosed InitHalting ;
correctness
coherence
if<0 a,I,J is InitHalting;
by Th58;
end;
theorem Th59: :: SCM_HALT:59
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th60: :: SCM_HALT:60
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th61: :: SCM_HALT:61
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th62: :: SCM_HALT:62
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
set A = the Instruction-Locations of SCM+FSA ;
set D = Int-Locations \/ FinSeq-Locations ;
theorem Th63: :: SCM_HALT:63
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th64: :: SCM_HALT:64
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th65: :: SCM_HALT:65
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: SCM_HALT:66
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th67: :: SCM_HALT:67
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th68: :: SCM_HALT:68
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th69: :: SCM_HALT:69
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th70: :: SCM_HALT:70
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th71: :: SCM_HALT:71
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: SCM_HALT:72
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th73: :: SCM_HALT:73
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: SCM_HALT:74
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: SCM_HALT:75
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: SCM_HALT:76
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th77: :: SCM_HALT:77
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
for
s being
State of
SCM+FSA for
I being
good InitHalting Macro-Instruction for
a being
read-write Int-Location st
I does_not_destroy a &
s . a > 0 holds
ex
s2 being
State of
SCM+FSA ex
k being
Nat st
(
s2 = s +* (Initialized (loop (if=0 a,(Goto (insloc 2)),(I ';' (SubFrom a,(intloc 0)))))) &
k = (LifeSpan (s +* (Initialized (if=0 a,(Goto (insloc 2)),(I ';' (SubFrom a,(intloc 0))))))) + 1 &
((Computation s2) . k) . a = (s . a) - 1 &
((Computation s2) . k) . (intloc 0) = 1 & ( for
b being
read-write Int-Location st
b <> a holds
((Computation s2) . k) . b = (IExec I,s) . b ) & ( for
f being
FinSeq-Location holds
((Computation s2) . k) . f = (IExec I,s) . f ) &
IC ((Computation s2) . k) = insloc 0 & ( for
n being
Nat st
n <= k holds
IC ((Computation s2) . n) in dom (loop (if=0 a,(Goto (insloc 2)),(I ';' (SubFrom a,(intloc 0))))) ) )
theorem Th78: :: SCM_HALT:78
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
Lm1:
for a being Int-Location
for l being Instruction-Location of SCM+FSA
for ic being Instruction of SCM+FSA st ( ic = a =0_goto l or ic = goto l ) holds
ic <> halt SCM+FSA
by SCMFSA_2:47, SCMFSA_2:48, SCMFSA_2:124;
theorem Th79: :: SCM_HALT:79
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: SCM_HALT:80
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: SCM_HALT:81
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: SCM_HALT:82
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: SCM_HALT:83
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
:: deftheorem Def6 defines good SCM_HALT:def 6 :