:: SCM_HALT semantic presentation
:: 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
theorem Th2: :: SCM_HALT:2
set c1 = ((intloc 0) .--> 1) +* (Start-At (insloc 0));
theorem Th3: :: SCM_HALT:3
theorem Th4: :: SCM_HALT:4
theorem Th5: :: SCM_HALT:5
theorem Th6: :: SCM_HALT:6
theorem Th7: :: SCM_HALT:7
theorem Th8: :: SCM_HALT:8
theorem Th9: :: SCM_HALT:9
theorem Th10: :: SCM_HALT:10
theorem Th11: :: SCM_HALT:11
theorem Th12: :: SCM_HALT:12
theorem Th13: :: SCM_HALT:13
theorem Th14: :: SCM_HALT:14
theorem Th15: :: SCM_HALT:15
theorem Th16: :: SCM_HALT:16
canceled;
theorem Th17: :: SCM_HALT:17
theorem Th18: :: SCM_HALT:18
theorem Th19: :: SCM_HALT:19
theorem Th20: :: SCM_HALT:20
theorem Th21: :: SCM_HALT:21
theorem Th22: :: SCM_HALT:22
theorem Th23: :: SCM_HALT:23
theorem Th24: :: SCM_HALT:24
theorem Th25: :: SCM_HALT:25
theorem Th26: :: SCM_HALT:26
theorem Th27: :: SCM_HALT:27
theorem Th28: :: SCM_HALT:28
theorem Th29: :: SCM_HALT:29
theorem Th30: :: SCM_HALT:30
theorem Th31: :: SCM_HALT:31
theorem Th32: :: SCM_HALT:32
theorem Th33: :: SCM_HALT:33
theorem Th34: :: SCM_HALT:34
:: 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
theorem Th36: :: SCM_HALT:36
theorem Th37: :: SCM_HALT:37
theorem Th38: :: SCM_HALT:38
theorem Th39: :: SCM_HALT:39
theorem Th40: :: SCM_HALT:40
theorem Th41: :: SCM_HALT:41
theorem Th42: :: SCM_HALT:42
theorem Th43: :: SCM_HALT:43
theorem Th44: :: SCM_HALT:44
theorem Th45: :: SCM_HALT:45
theorem Th46: :: SCM_HALT:46
theorem Th47: :: SCM_HALT:47
for
b1 being
State of
SCM+FSA for
b2,
b3 being
InitHalting Macro-Instruction for
b4 being
read-write Int-Location holds
(
if=0 b4,
b2,
b3 is
InitHalting & (
b1 . b4 = 0 implies
IExec (if=0 b4,b2,b3),
b1 = (IExec b2,b1) +* (Start-At (insloc (((card b2) + (card b3)) + 3))) ) & (
b1 . b4 <> 0 implies
IExec (if=0 b4,b2,b3),
b1 = (IExec b3,b1) +* (Start-At (insloc (((card b2) + (card b3)) + 3))) ) )
theorem Th48: :: SCM_HALT:48
for
b1 being
State of
SCM+FSA for
b2,
b3 being
InitHalting Macro-Instruction for
b4 being
read-write Int-Location holds
(
IC (IExec (if=0 b4,b2,b3),b1) = insloc (((card b2) + (card b3)) + 3) & (
b1 . b4 = 0 implies ( ( for
b5 being
Int-Location holds
(IExec (if=0 b4,b2,b3),b1) . b5 = (IExec b2,b1) . b5 ) & ( for
b5 being
FinSeq-Location holds
(IExec (if=0 b4,b2,b3),b1) . b5 = (IExec b2,b1) . b5 ) ) ) & (
b1 . b4 <> 0 implies ( ( for
b5 being
Int-Location holds
(IExec (if=0 b4,b2,b3),b1) . b5 = (IExec b3,b1) . b5 ) & ( for
b5 being
FinSeq-Location holds
(IExec (if=0 b4,b2,b3),b1) . b5 = (IExec b3,b1) . b5 ) ) ) )
theorem Th49: :: SCM_HALT:49
theorem Th50: :: SCM_HALT:50
theorem Th51: :: SCM_HALT:51
theorem Th52: :: SCM_HALT:52
theorem Th53: :: SCM_HALT:53
for
b1 being
State of
SCM+FSA for
b2,
b3 being
InitHalting Macro-Instruction for
b4 being
read-write Int-Location holds
(
if>0 b4,
b2,
b3 is
InitHalting & (
b1 . b4 > 0 implies
IExec (if>0 b4,b2,b3),
b1 = (IExec b2,b1) +* (Start-At (insloc (((card b2) + (card b3)) + 3))) ) & (
b1 . b4 <= 0 implies
IExec (if>0 b4,b2,b3),
b1 = (IExec b3,b1) +* (Start-At (insloc (((card b2) + (card b3)) + 3))) ) )
theorem Th54: :: SCM_HALT:54
for
b1 being
State of
SCM+FSA for
b2,
b3 being
InitHalting Macro-Instruction for
b4 being
read-write Int-Location holds
(
IC (IExec (if>0 b4,b2,b3),b1) = insloc (((card b2) + (card b3)) + 3) & (
b1 . b4 > 0 implies ( ( for
b5 being
Int-Location holds
(IExec (if>0 b4,b2,b3),b1) . b5 = (IExec b2,b1) . b5 ) & ( for
b5 being
FinSeq-Location holds
(IExec (if>0 b4,b2,b3),b1) . b5 = (IExec b2,b1) . b5 ) ) ) & (
b1 . b4 <= 0 implies ( ( for
b5 being
Int-Location holds
(IExec (if>0 b4,b2,b3),b1) . b5 = (IExec b3,b1) . b5 ) & ( for
b5 being
FinSeq-Location holds
(IExec (if>0 b4,b2,b3),b1) . b5 = (IExec b3,b1) . b5 ) ) ) )
theorem Th55: :: SCM_HALT:55
theorem Th56: :: SCM_HALT:56
theorem Th57: :: SCM_HALT:57
theorem Th58: :: SCM_HALT:58
for
b1 being
State of
SCM+FSA for
b2,
b3 being
InitHalting Macro-Instruction for
b4 being
read-write Int-Location holds
(
if<0 b4,
b2,
b3 is
InitHalting & (
b1 . b4 < 0 implies
IExec (if<0 b4,b2,b3),
b1 = (IExec b2,b1) +* (Start-At (insloc ((((card b2) + (card b3)) + (card b3)) + 7))) ) & (
b1 . b4 >= 0 implies
IExec (if<0 b4,b2,b3),
b1 = (IExec b3,b1) +* (Start-At (insloc ((((card b2) + (card b3)) + (card b3)) + 7))) ) )
registration
let c2,
c3 be
InitHalting Macro-Instruction;
let c4 be
read-write Int-Location ;
cluster if=0 a3,
a1,
a2 -> non
empty InitClosed InitHalting ;
correctness
coherence
if=0 c4,c2,c3 is InitHalting;
by Th47;
cluster if>0 a3,
a1,
a2 -> non
empty InitClosed InitHalting ;
correctness
coherence
if>0 c4,c2,c3 is InitHalting;
by Th53;
cluster if<0 a3,
a1,
a2 -> non
empty InitClosed InitHalting ;
correctness
coherence
if<0 c4,c2,c3 is InitHalting;
by Th58;
end;
theorem Th59: :: SCM_HALT:59
theorem Th60: :: SCM_HALT:60
theorem Th61: :: SCM_HALT:61
theorem Th62: :: SCM_HALT:62
set c2 = the Instruction-Locations of SCM+FSA ;
set c3 = Int-Locations \/ FinSeq-Locations ;
theorem Th63: :: SCM_HALT:63
theorem Th64: :: SCM_HALT:64
theorem Th65: :: SCM_HALT:65
theorem Th66: :: SCM_HALT:66
theorem Th67: :: SCM_HALT:67
theorem Th68: :: SCM_HALT:68
theorem Th69: :: SCM_HALT:69
theorem Th70: :: SCM_HALT:70
theorem Th71: :: SCM_HALT:71
theorem Th72: :: SCM_HALT:72
theorem Th73: :: SCM_HALT:73
theorem Th74: :: SCM_HALT:74
theorem Th75: :: SCM_HALT:75
theorem Th76: :: SCM_HALT:76
theorem Th77: :: SCM_HALT:77
for
b1 being
State of
SCM+FSA for
b2 being
good InitHalting Macro-Instruction for
b3 being
read-write Int-Location st
b2 does_not_destroy b3 &
b1 . b3 > 0 holds
ex
b4 being
State of
SCM+FSA ex
b5 being
Nat st
(
b4 = b1 +* (Initialized (loop (if=0 b3,(Goto (insloc 2)),(b2 ';' (SubFrom b3,(intloc 0)))))) &
b5 = (LifeSpan (b1 +* (Initialized (if=0 b3,(Goto (insloc 2)),(b2 ';' (SubFrom b3,(intloc 0))))))) + 1 &
((Computation b4) . b5) . b3 = (b1 . b3) - 1 &
((Computation b4) . b5) . (intloc 0) = 1 & ( for
b6 being
read-write Int-Location st
b6 <> b3 holds
((Computation b4) . b5) . b6 = (IExec b2,b1) . b6 ) & ( for
b6 being
FinSeq-Location holds
((Computation b4) . b5) . b6 = (IExec b2,b1) . b6 ) &
IC ((Computation b4) . b5) = insloc 0 & ( for
b6 being
Nat st
b6 <= b5 holds
IC ((Computation b4) . b6) in dom (loop (if=0 b3,(Goto (insloc 2)),(b2 ';' (SubFrom b3,(intloc 0))))) ) )
theorem Th78: :: SCM_HALT:78
Lemma71:
for b1 being Int-Location
for b2 being Instruction-Location of SCM+FSA
for b3 being Instruction of SCM+FSA st ( b3 = b1 =0_goto b2 or b3 = goto b2 ) holds
b3 <> halt SCM+FSA
by SCMFSA_2:47, SCMFSA_2:48, SCMFSA_2:124;
theorem Th79: :: SCM_HALT:79
theorem Th80: :: SCM_HALT:80
theorem Th81: :: SCM_HALT:81
theorem Th82: :: SCM_HALT:82
theorem Th83: :: SCM_HALT:83
:: deftheorem Def6 defines good SCM_HALT:def 6 :