:: SCMPDS_6 semantic presentation
set c1 = the Instruction-Locations of SCMPDS ;
set c2 = SCM-Data-Loc ;
theorem Th1: :: SCMPDS_6:1
theorem Th2: :: SCMPDS_6:2
theorem Th3: :: SCMPDS_6:3
theorem Th4: :: SCMPDS_6:4
theorem Th5: :: SCMPDS_6:5
theorem Th6: :: SCMPDS_6:6
theorem Th7: :: SCMPDS_6:7
theorem Th8: :: SCMPDS_6:8
theorem Th9: :: SCMPDS_6:9
theorem Th10: :: SCMPDS_6:10
theorem Th11: :: SCMPDS_6:11
theorem Th12: :: SCMPDS_6:12
theorem Th13: :: SCMPDS_6:13
canceled;
theorem Th14: :: SCMPDS_6:14
theorem Th15: :: SCMPDS_6:15
theorem Th16: :: SCMPDS_6:16
theorem Th17: :: SCMPDS_6:17
theorem Th18: :: SCMPDS_6:18
theorem Th19: :: SCMPDS_6:19
theorem Th20: :: SCMPDS_6:20
theorem Th21: :: SCMPDS_6:21
theorem Th22: :: SCMPDS_6:22
theorem Th23: :: SCMPDS_6:23
theorem Th24: :: SCMPDS_6:24
theorem Th25: :: SCMPDS_6:25
theorem Th26: :: SCMPDS_6:26
theorem Th27: :: SCMPDS_6:27
theorem Th28: :: SCMPDS_6:28
theorem Th29: :: SCMPDS_6:29
theorem Th30: :: SCMPDS_6:30
theorem Th31: :: SCMPDS_6:31
:: deftheorem Def1 defines Goto SCMPDS_6:def 1 :
theorem Th32: :: SCMPDS_6:32
Lemma28:
for b1 being Integer holds
( inspos 0 in dom ((inspos 0) .--> (goto b1)) & ((inspos 0) .--> (goto b1)) . (inspos 0) = goto b1 )
theorem Th33: :: SCMPDS_6:33
:: deftheorem Def2 defines is_closed_on SCMPDS_6:def 2 :
:: deftheorem Def3 defines is_halting_on SCMPDS_6:def 3 :
theorem Th34: :: SCMPDS_6:34
theorem Th35: :: SCMPDS_6:35
theorem Th36: :: SCMPDS_6:36
theorem Th37: :: SCMPDS_6:37
theorem Th38: :: SCMPDS_6:38
theorem Th39: :: SCMPDS_6:39
theorem Th40: :: SCMPDS_6:40
theorem Th41: :: SCMPDS_6:41
theorem Th42: :: SCMPDS_6:42
theorem Th43: :: SCMPDS_6:43
Lemma41:
for b1 being No-StopCode Program-block
for b2 being Program-block
for b3 being State of SCMPDS st b1 is_closed_on b3 & b1 is_halting_on b3 holds
( IC ((Computation (b3 +* (Initialized (stop ((b1 ';' (Goto ((card b2) + 1))) ';' b2))))) . ((LifeSpan (b3 +* (Initialized (stop b1)))) + 1)) = inspos (((card b1) + (card b2)) + 1) & ((Computation (b3 +* (Initialized (stop b1)))) . (LifeSpan (b3 +* (Initialized (stop b1))))) | SCM-Data-Loc = ((Computation (b3 +* (Initialized (stop ((b1 ';' (Goto ((card b2) + 1))) ';' b2))))) . ((LifeSpan (b3 +* (Initialized (stop b1)))) + 1)) | SCM-Data-Loc & ( for b4 being Nat st b4 <= LifeSpan (b3 +* (Initialized (stop b1))) holds
CurInstr ((Computation (b3 +* (Initialized (stop ((b1 ';' (Goto ((card b2) + 1))) ';' b2))))) . b4) <> halt SCMPDS ) & IC ((Computation (b3 +* (Initialized (stop ((b1 ';' (Goto ((card b2) + 1))) ';' b2))))) . (LifeSpan (b3 +* (Initialized (stop b1))))) = inspos (card b1) & b3 +* (Initialized (stop ((b1 ';' (Goto ((card b2) + 1))) ';' b2))) is halting & LifeSpan (b3 +* (Initialized (stop ((b1 ';' (Goto ((card b2) + 1))) ';' b2)))) = (LifeSpan (b3 +* (Initialized (stop b1)))) + 1 )
theorem Th44: :: SCMPDS_6:44
theorem Th45: :: SCMPDS_6:45
Lemma44:
for b1 being State of SCMPDS
for b2, b3 being shiftable Program-block
for b4 being Nat holds (b2 ';' (Goto b4)) ';' b3 is shiftable
theorem Th46: :: SCMPDS_6:46
theorem Th47: :: SCMPDS_6:47
theorem Th48: :: SCMPDS_6:48
definition
let c3 be
Int_position ;
let c4 be
Integer;
let c5,
c6 be
Program-block;
func if=0 c1,
c2,
c3,
c4 -> Program-block equals :: SCMPDS_6:def 4
(((a1,a2 <>0_goto ((card a3) + 2)) ';' a3) ';' (Goto ((card a4) + 1))) ';' a4;
coherence
(((c3,c4 <>0_goto ((card c5) + 2)) ';' c5) ';' (Goto ((card c6) + 1))) ';' c6 is Program-block
;
func if>0 c1,
c2,
c3,
c4 -> Program-block equals :: SCMPDS_6:def 5
(((a1,a2 <=0_goto ((card a3) + 2)) ';' a3) ';' (Goto ((card a4) + 1))) ';' a4;
coherence
(((c3,c4 <=0_goto ((card c5) + 2)) ';' c5) ';' (Goto ((card c6) + 1))) ';' c6 is Program-block
;
func if<0 c1,
c2,
c3,
c4 -> Program-block equals :: SCMPDS_6:def 6
(((a1,a2 >=0_goto ((card a3) + 2)) ';' a3) ';' (Goto ((card a4) + 1))) ';' a4;
coherence
(((c3,c4 >=0_goto ((card c5) + 2)) ';' c5) ';' (Goto ((card c6) + 1))) ';' c6 is Program-block
;
end;
:: deftheorem Def4 defines if=0 SCMPDS_6:def 4 :
:: deftheorem Def5 defines if>0 SCMPDS_6:def 5 :
:: deftheorem Def6 defines if<0 SCMPDS_6:def 6 :
definition
let c3 be
Int_position ;
let c4 be
Integer;
let c5 be
Program-block;
func if=0 c1,
c2,
c3 -> Program-block equals :: SCMPDS_6:def 7
(a1,a2 <>0_goto ((card a3) + 1)) ';' a3;
coherence
(c3,c4 <>0_goto ((card c5) + 1)) ';' c5 is Program-block
;
func if<>0 c1,
c2,
c3 -> Program-block equals :: SCMPDS_6:def 8
((a1,a2 <>0_goto 2) ';' (goto ((card a3) + 1))) ';' a3;
coherence
((c3,c4 <>0_goto 2) ';' (goto ((card c5) + 1))) ';' c5 is Program-block
;
func if>0 c1,
c2,
c3 -> Program-block equals :: SCMPDS_6:def 9
(a1,a2 <=0_goto ((card a3) + 1)) ';' a3;
coherence
(c3,c4 <=0_goto ((card c5) + 1)) ';' c5 is Program-block
;
func if<=0 c1,
c2,
c3 -> Program-block equals :: SCMPDS_6:def 10
((a1,a2 <=0_goto 2) ';' (goto ((card a3) + 1))) ';' a3;
coherence
((c3,c4 <=0_goto 2) ';' (goto ((card c5) + 1))) ';' c5 is Program-block
;
func if<0 c1,
c2,
c3 -> Program-block equals :: SCMPDS_6:def 11
(a1,a2 >=0_goto ((card a3) + 1)) ';' a3;
coherence
(c3,c4 >=0_goto ((card c5) + 1)) ';' c5 is Program-block
;
func if>=0 c1,
c2,
c3 -> Program-block equals :: SCMPDS_6:def 12
((a1,a2 >=0_goto 2) ';' (goto ((card a3) + 1))) ';' a3;
coherence
((c3,c4 >=0_goto 2) ';' (goto ((card c5) + 1))) ';' c5 is Program-block
;
end;
:: deftheorem Def7 defines if=0 SCMPDS_6:def 7 :
:: deftheorem Def8 defines if<>0 SCMPDS_6:def 8 :
:: deftheorem Def9 defines if>0 SCMPDS_6:def 9 :
:: deftheorem Def10 defines if<=0 SCMPDS_6:def 10 :
:: deftheorem Def11 defines if<0 SCMPDS_6:def 11 :
:: deftheorem Def12 defines if>=0 SCMPDS_6:def 12 :
Lemma48:
for b1 being Nat
for b2 being Instruction of SCMPDS
for b3, b4 being Program-block holds card (((b2 ';' b3) ';' (Goto b1)) ';' b4) = ((card b3) + (card b4)) + 2
theorem Th49: :: SCMPDS_6:49
theorem Th50: :: SCMPDS_6:50
Lemma50:
for b1 being Instruction of SCMPDS
for b2, b3, b4 being Program-block holds (((b1 ';' b2) ';' b3) ';' b4) . (inspos 0) = b1
theorem Th51: :: SCMPDS_6:51
Lemma51:
for b1 being Nat
for b2 being Instruction of SCMPDS
for b3 being State of SCMPDS
for b4 being Program-block holds Shift (stop b4),1 c= (Computation (b3 +* (Initialized (stop (b2 ';' b4))))) . b1
Lemma52:
for b1 being Nat
for b2, b3 being Instruction of SCMPDS
for b4 being State of SCMPDS
for b5 being Program-block holds Shift (stop b5),2 c= (Computation (b4 +* (Initialized (stop ((b2 ';' b3) ';' b5))))) . b1
theorem Th52: :: SCMPDS_6:52
theorem Th53: :: SCMPDS_6:53
theorem Th54: :: SCMPDS_6:54
theorem Th55: :: SCMPDS_6:55
registration
let c3,
c4 be
parahalting shiftable Program-block;
let c5 be
Int_position ;
let c6 be
Integer;
cluster if=0 a3,
a4,
a1,
a2 -> parahalting shiftable ;
correctness
coherence
( if=0 c5,c6,c3,c4 is shiftable & if=0 c5,c6,c3,c4 is parahalting );
end;
theorem Th56: :: SCMPDS_6:56
theorem Th57: :: SCMPDS_6:57
theorem Th58: :: SCMPDS_6:58
theorem Th59: :: SCMPDS_6:59
theorem Th60: :: SCMPDS_6:60
theorem Th61: :: SCMPDS_6:61
theorem Th62: :: SCMPDS_6:62
theorem Th63: :: SCMPDS_6:63
theorem Th64: :: SCMPDS_6:64
Lemma61:
for b1 being State of SCMPDS
for b2 being Instruction-Location of SCMPDS holds (b1 +* (Start-At b2)) . (IC SCMPDS ) = b2
theorem Th65: :: SCMPDS_6:65
theorem Th66: :: SCMPDS_6:66
theorem Th67: :: SCMPDS_6:67
theorem Th68: :: SCMPDS_6:68
Lemma63:
for b1, b2 being Instruction of SCMPDS
for b3 being Program-block holds card ((b1 ';' b2) ';' b3) = (card b3) + 2
theorem Th69: :: SCMPDS_6:69
Lemma65:
for b1, b2 being Instruction of SCMPDS
for b3 being Program-block holds
( inspos 0 in dom ((b1 ';' b2) ';' b3) & inspos 1 in dom ((b1 ';' b2) ';' b3) )
theorem Th70: :: SCMPDS_6:70
Lemma67:
for b1, b2 being Instruction of SCMPDS
for b3 being Program-block holds
( ((b1 ';' b2) ';' b3) . (inspos 0) = b1 & ((b1 ';' b2) ';' b3) . (inspos 1) = b2 )
theorem Th71: :: SCMPDS_6:71
theorem Th72: :: SCMPDS_6:72
theorem Th73: :: SCMPDS_6:73
theorem Th74: :: SCMPDS_6:74
theorem Th75: :: SCMPDS_6:75
theorem Th76: :: SCMPDS_6:76
theorem Th77: :: SCMPDS_6:77
theorem Th78: :: SCMPDS_6:78
theorem Th79: :: SCMPDS_6:79
theorem Th80: :: SCMPDS_6:80
theorem Th81: :: SCMPDS_6:81
theorem Th82: :: SCMPDS_6:82
theorem Th83: :: SCMPDS_6:83
theorem Th84: :: SCMPDS_6:84
theorem Th85: :: SCMPDS_6:85
registration
let c3,
c4 be
parahalting shiftable Program-block;
let c5 be
Int_position ;
let c6 be
Integer;
cluster if>0 a3,
a4,
a1,
a2 -> parahalting shiftable ;
correctness
coherence
( if>0 c5,c6,c3,c4 is shiftable & if>0 c5,c6,c3,c4 is parahalting );
end;
theorem Th86: :: SCMPDS_6:86
theorem Th87: :: SCMPDS_6:87
theorem Th88: :: SCMPDS_6:88
theorem Th89: :: SCMPDS_6:89
theorem Th90: :: SCMPDS_6:90
theorem Th91: :: SCMPDS_6:91
theorem Th92: :: SCMPDS_6:92
theorem Th93: :: SCMPDS_6:93
theorem Th94: :: SCMPDS_6:94
theorem Th95: :: SCMPDS_6:95
theorem Th96: :: SCMPDS_6:96
theorem Th97: :: SCMPDS_6:97
theorem Th98: :: SCMPDS_6:98
theorem Th99: :: SCMPDS_6:99
theorem Th100: :: SCMPDS_6:100
theorem Th101: :: SCMPDS_6:101
theorem Th102: :: SCMPDS_6:102
theorem Th103: :: SCMPDS_6:103
theorem Th104: :: SCMPDS_6:104
theorem Th105: :: SCMPDS_6:105
theorem Th106: :: SCMPDS_6:106
theorem Th107: :: SCMPDS_6:107
theorem Th108: :: SCMPDS_6:108
theorem Th109: :: SCMPDS_6:109
theorem Th110: :: SCMPDS_6:110
theorem Th111: :: SCMPDS_6:111
theorem Th112: :: SCMPDS_6:112
theorem Th113: :: SCMPDS_6:113
theorem Th114: :: SCMPDS_6:114
theorem Th115: :: SCMPDS_6:115
registration
let c3,
c4 be
parahalting shiftable Program-block;
let c5 be
Int_position ;
let c6 be
Integer;
cluster if<0 a3,
a4,
a1,
a2 -> parahalting shiftable ;
correctness
coherence
( if<0 c5,c6,c3,c4 is shiftable & if<0 c5,c6,c3,c4 is parahalting );
end;
theorem Th116: :: SCMPDS_6:116
theorem Th117: :: SCMPDS_6:117
theorem Th118: :: SCMPDS_6:118
theorem Th119: :: SCMPDS_6:119
theorem Th120: :: SCMPDS_6:120
theorem Th121: :: SCMPDS_6:121
theorem Th122: :: SCMPDS_6:122
theorem Th123: :: SCMPDS_6:123
theorem Th124: :: SCMPDS_6:124
theorem Th125: :: SCMPDS_6:125
theorem Th126: :: SCMPDS_6:126
theorem Th127: :: SCMPDS_6:127
theorem Th128: :: SCMPDS_6:128
theorem Th129: :: SCMPDS_6:129
theorem Th130: :: SCMPDS_6:130
theorem Th131: :: SCMPDS_6:131
theorem Th132: :: SCMPDS_6:132
theorem Th133: :: SCMPDS_6:133
theorem Th134: :: SCMPDS_6:134
theorem Th135: :: SCMPDS_6:135
theorem Th136: :: SCMPDS_6:136
theorem Th137: :: SCMPDS_6:137
theorem Th138: :: SCMPDS_6:138