:: SCMFSA8B semantic presentation
set c1 = the Instruction-Locations of SCM+FSA ;
set c2 = Int-Locations \/ FinSeq-Locations ;
Lemma1:
for b1 being Instruction-Location of SCM+FSA holds
goto b1 <> halt SCM+FSA
by SCMFSA_2:47, SCMFSA_2:124;
Lemma2:
for b1 being Int-Location
for b2 being Instruction-Location of SCM+FSA holds
b1 =0_goto b2 <> halt SCM+FSA
by SCMFSA_2:48, SCMFSA_2:124;
Lemma3:
for b1 being Int-Location
for b2 being Instruction-Location of SCM+FSA holds
b1 >0_goto b2 <> halt SCM+FSA
by SCMFSA_2:49, SCMFSA_2:124;
Lemma4:
for b1, b2 being Macro-Instruction holds ProgramPart (Relocated b2,(card b1)) c= b1 ';' b2
theorem Th1: :: SCMFSA8B:1
theorem Th2: :: SCMFSA8B:2
theorem Th3: :: SCMFSA8B:3
theorem Th4: :: SCMFSA8B:4
theorem Th5: :: SCMFSA8B:5
theorem Th6: :: SCMFSA8B:6
theorem Th7: :: SCMFSA8B:7
theorem Th8: :: SCMFSA8B:8
theorem Th9: :: SCMFSA8B:9
theorem Th10: :: SCMFSA8B:10
theorem Th11: :: SCMFSA8B:11
theorem Th12: :: SCMFSA8B:12
theorem Th13: :: SCMFSA8B:13
:: deftheorem Def1 defines if=0 SCMFSA8B:def 1 :
:: deftheorem Def2 defines if>0 SCMFSA8B:def 2 :
definition
let c
3 be
Int-Location ;
let c
4, c
5 be
Macro-Instruction;
func if<0 c
1,c
2,c
3 -> Macro-Instruction equals :: SCMFSA8B:def 3
if=0 a
1,a
3,
(if>0 a1,a3,a2);
coherence
if=0 c3,c5,(if>0 c3,c5,c4) is Macro-Instruction
;
end;
:: deftheorem Def3 defines if<0 SCMFSA8B:def 3 :
Lemma18:
for b1 being Int-Location
for b2, b3 being Macro-Instruction holds
( insloc 0 in dom (if=0 b1,b2,b3) & insloc 1 in dom (if=0 b1,b2,b3) & insloc 0 in dom (if>0 b1,b2,b3) & insloc 1 in dom (if>0 b1,b2,b3) )
Lemma19:
for b1 being Int-Location
for b2, b3 being Macro-Instruction holds
( (if=0 b1,b2,b3) . (insloc 0) = b1 =0_goto (insloc ((card b3) + 3)) & (if=0 b1,b2,b3) . (insloc 1) = goto (insloc 2) & (if>0 b1,b2,b3) . (insloc 0) = b1 >0_goto (insloc ((card b3) + 3)) & (if>0 b1,b2,b3) . (insloc 1) = goto (insloc 2) )
theorem Th14: :: SCMFSA8B:14
theorem Th15: :: SCMFSA8B:15
theorem Th16: :: SCMFSA8B:16
theorem Th17: :: SCMFSA8B:17
theorem Th18: :: SCMFSA8B:18
theorem Th19: :: SCMFSA8B:19
theorem Th20: :: SCMFSA8B:20
for b
1 being
State of
SCM+FSA for b
2, b
3 being
parahalting Macro-Instructionfor b
4 being
read-write Int-Location holds
(
if=0 b
4,b
2,b
3 is
parahalting & ( b
1 . b
4 = 0 implies
IExec (if=0 b4,b2,b3),b
1 = (IExec b2,b1) +* (Start-At (insloc (((card b2) + (card b3)) + 3))) ) & ( b
1 . b
4 <> 0 implies
IExec (if=0 b4,b2,b3),b
1 = (IExec b3,b1) +* (Start-At (insloc (((card b2) + (card b3)) + 3))) ) )
theorem Th21: :: SCMFSA8B:21
for b
1 being
State of
SCM+FSA for b
2, b
3 being
parahalting Macro-Instructionfor b
4 being
read-write Int-Location holds
(
IC (IExec (if=0 b4,b2,b3),b1) = insloc (((card b2) + (card b3)) + 3) & ( b
1 . b
4 = 0 implies ( ( for b
5 being
Int-Location holds
(IExec (if=0 b4,b2,b3),b1) . b
5 = (IExec b2,b1) . b
5 ) & ( for b
5 being
FinSeq-Location holds
(IExec (if=0 b4,b2,b3),b1) . b
5 = (IExec b2,b1) . b
5 ) ) ) & ( b
1 . b
4 <> 0 implies ( ( for b
5 being
Int-Location holds
(IExec (if=0 b4,b2,b3),b1) . b
5 = (IExec b3,b1) . b
5 ) & ( for b
5 being
FinSeq-Location holds
(IExec (if=0 b4,b2,b3),b1) . b
5 = (IExec b3,b1) . b
5 ) ) ) )
theorem Th22: :: SCMFSA8B:22
theorem Th23: :: SCMFSA8B:23
theorem Th24: :: SCMFSA8B:24
theorem Th25: :: SCMFSA8B:25
theorem Th26: :: SCMFSA8B:26
for b
1 being
State of
SCM+FSA for b
2, b
3 being
parahalting Macro-Instructionfor b
4 being
read-write Int-Location holds
(
if>0 b
4,b
2,b
3 is
parahalting & ( b
1 . b
4 > 0 implies
IExec (if>0 b4,b2,b3),b
1 = (IExec b2,b1) +* (Start-At (insloc (((card b2) + (card b3)) + 3))) ) & ( b
1 . b
4 <= 0 implies
IExec (if>0 b4,b2,b3),b
1 = (IExec b3,b1) +* (Start-At (insloc (((card b2) + (card b3)) + 3))) ) )
theorem Th27: :: SCMFSA8B:27
for b
1 being
State of
SCM+FSA for b
2, b
3 being
parahalting Macro-Instructionfor b
4 being
read-write Int-Location holds
(
IC (IExec (if>0 b4,b2,b3),b1) = insloc (((card b2) + (card b3)) + 3) & ( b
1 . b
4 > 0 implies ( ( for b
5 being
Int-Location holds
(IExec (if>0 b4,b2,b3),b1) . b
5 = (IExec b2,b1) . b
5 ) & ( for b
5 being
FinSeq-Location holds
(IExec (if>0 b4,b2,b3),b1) . b
5 = (IExec b2,b1) . b
5 ) ) ) & ( b
1 . b
4 <= 0 implies ( ( for b
5 being
Int-Location holds
(IExec (if>0 b4,b2,b3),b1) . b
5 = (IExec b3,b1) . b
5 ) & ( for b
5 being
FinSeq-Location holds
(IExec (if>0 b4,b2,b3),b1) . b
5 = (IExec b3,b1) . b
5 ) ) ) )
theorem Th28: :: SCMFSA8B:28
theorem Th29: :: SCMFSA8B:29
theorem Th30: :: SCMFSA8B:30
theorem Th31: :: SCMFSA8B:31
theorem Th32: :: SCMFSA8B:32
theorem Th33: :: SCMFSA8B:33
theorem Th34: :: SCMFSA8B:34
for b
1 being
State of
SCM+FSA for b
2, b
3 being
parahalting Macro-Instructionfor b
4 being
read-write Int-Location holds
(
if<0 b
4,b
2,b
3 is
parahalting & ( b
1 . b
4 < 0 implies
IExec (if<0 b4,b2,b3),b
1 = (IExec b2,b1) +* (Start-At (insloc ((((card b2) + (card b3)) + (card b3)) + 7))) ) & ( b
1 . b
4 >= 0 implies
IExec (if<0 b4,b2,b3),b
1 = (IExec b3,b1) +* (Start-At (insloc ((((card b2) + (card b3)) + (card b3)) + 7))) ) )
definition
let c
3, c
4 be
Int-Location ;
let c
5, c
6 be
Macro-Instruction;
func if=0 c
1,c
2,c
3,c
4 -> Macro-Instruction equals :: SCMFSA8B:def 4
(SubFrom a1,a2) ';' (if=0 a1,a3,a4);
coherence
(SubFrom c3,c4) ';' (if=0 c3,c5,c6) is Macro-Instruction
;
func if>0 c
1,c
2,c
3,c
4 -> Macro-Instruction equals :: SCMFSA8B:def 5
(SubFrom a1,a2) ';' (if>0 a1,a3,a4);
coherence
(SubFrom c3,c4) ';' (if>0 c3,c5,c6) is Macro-Instruction
;
end;
:: deftheorem Def4 defines if=0 SCMFSA8B:def 4 :
:: deftheorem Def5 defines if>0 SCMFSA8B:def 5 :
registration
let c
3, c
4 be
parahalting Macro-Instruction;
let c
5, c
6 be
read-write Int-Location ;
cluster if=0 a
3,a
4,a
1,a
2 -> parahalting ;
correctness
coherence
if=0 c5,c6,c3,c4 is parahalting;
;
cluster if>0 a
3,a
4,a
1,a
2 -> parahalting ;
correctness
coherence
if>0 c5,c6,c3,c4 is parahalting;
;
end;
theorem Th35: :: SCMFSA8B:35
theorem Th36: :: SCMFSA8B:36
theorem Th37: :: SCMFSA8B:37
theorem Th38: :: SCMFSA8B:38
theorem Th39: :: SCMFSA8B:39
theorem Th40: :: SCMFSA8B:40
theorem Th41: :: SCMFSA8B:41
theorem Th42: :: SCMFSA8B:42
for b
1 being
State of
SCM+FSA for b
2, b
3 being
parahalting Macro-Instructionfor b
4, b
5 being
read-write Int-Location holds
( b
2 does_not_refer b
4 & b
3 does_not_refer b
4 implies (
IC (IExec (if=0 b4,b5,b2,b3),b1) = insloc (((card b2) + (card b3)) + 5) & ( b
1 . b
4 = b
1 . b
5 implies ( ( for b
6 being
Int-Location holds
( b
4 <> b
6 implies
(IExec (if=0 b4,b5,b2,b3),b1) . b
6 = (IExec b2,b1) . b
6 ) ) & ( for b
6 being
FinSeq-Location holds
(IExec (if=0 b4,b5,b2,b3),b1) . b
6 = (IExec b2,b1) . b
6 ) ) ) & ( b
1 . b
4 <> b
1 . b
5 implies ( ( for b
6 being
Int-Location holds
( b
4 <> b
6 implies
(IExec (if=0 b4,b5,b2,b3),b1) . b
6 = (IExec b3,b1) . b
6 ) ) & ( for b
6 being
FinSeq-Location holds
(IExec (if=0 b4,b5,b2,b3),b1) . b
6 = (IExec b3,b1) . b
6 ) ) ) ) )
theorem Th43: :: SCMFSA8B:43
for b
1 being
State of
SCM+FSA for b
2, b
3 being
parahalting Macro-Instructionfor b
4, b
5 being
read-write Int-Location holds
( b
2 does_not_refer b
4 & b
3 does_not_refer b
4 implies (
IC (IExec (if>0 b4,b5,b2,b3),b1) = insloc (((card b2) + (card b3)) + 5) & ( b
1 . b
4 > b
1 . b
5 implies ( ( for b
6 being
Int-Location holds
( b
4 <> b
6 implies
(IExec (if>0 b4,b5,b2,b3),b1) . b
6 = (IExec b2,b1) . b
6 ) ) & ( for b
6 being
FinSeq-Location holds
(IExec (if>0 b4,b5,b2,b3),b1) . b
6 = (IExec b2,b1) . b
6 ) ) ) & ( b
1 . b
4 <= b
1 . b
5 implies ( ( for b
6 being
Int-Location holds
( b
4 <> b
6 implies
(IExec (if>0 b4,b5,b2,b3),b1) . b
6 = (IExec b3,b1) . b
6 ) ) & ( for b
6 being
FinSeq-Location holds
(IExec (if>0 b4,b5,b2,b3),b1) . b
6 = (IExec b3,b1) . b
6 ) ) ) ) )