:: SCMFSA_9 semantic presentation
theorem Th1: :: SCMFSA_9:1
theorem Th2: :: SCMFSA_9:2
definition
let c
1 be
Int-Location ;
let c
2 be
Macro-Instruction;
func while=0 c
1,c
2 -> Macro-Instruction equals :: SCMFSA_9:def 1
(if=0 a1,(a2 ';' (Goto (insloc 0))),SCM+FSA-Stop ) +* ((insloc ((card a2) + 4)) .--> (goto (insloc 0)));
correctness
coherence
(if=0 c1,(c2 ';' (Goto (insloc 0))),SCM+FSA-Stop ) +* ((insloc ((card c2) + 4)) .--> (goto (insloc 0))) is Macro-Instruction;
func while>0 c
1,c
2 -> Macro-Instruction equals :: SCMFSA_9:def 2
(if>0 a1,(a2 ';' (Goto (insloc 0))),SCM+FSA-Stop ) +* ((insloc ((card a2) + 4)) .--> (goto (insloc 0)));
correctness
coherence
(if>0 c1,(c2 ';' (Goto (insloc 0))),SCM+FSA-Stop ) +* ((insloc ((card c2) + 4)) .--> (goto (insloc 0))) is Macro-Instruction;
end;
:: deftheorem Def1 defines while=0 SCMFSA_9:def 1 :
:: deftheorem Def2 defines while>0 SCMFSA_9:def 2 :
theorem Th3: :: SCMFSA_9:3
:: deftheorem Def3 defines while<0 SCMFSA_9:def 3 :
theorem Th4: :: SCMFSA_9:4
theorem Th5: :: SCMFSA_9:5
theorem Th6: :: SCMFSA_9:6
theorem Th7: :: SCMFSA_9:7
theorem Th8: :: SCMFSA_9:8
theorem Th9: :: SCMFSA_9:9
theorem Th10: :: SCMFSA_9:10
theorem Th11: :: SCMFSA_9:11
theorem Th12: :: SCMFSA_9:12
theorem Th13: :: SCMFSA_9:13
theorem Th14: :: SCMFSA_9:14
theorem Th15: :: SCMFSA_9:15
theorem Th16: :: SCMFSA_9:16
theorem Th17: :: SCMFSA_9:17
theorem Th18: :: SCMFSA_9:18
theorem Th19: :: SCMFSA_9:19
theorem Th20: :: SCMFSA_9:20
theorem Th21: :: SCMFSA_9:21
theorem Th22: :: SCMFSA_9:22
set c1 = Start-At (insloc 0);
definition
let c
2 be
State of
SCM+FSA ;
let c
3 be
Macro-Instruction;
let c
4 be
read-write Int-Location ;
func StepWhile=0 c
3,c
2,c
1 -> Function of
NAT ,
product the
Object-Kind of
SCM+FSA means :
Def4:
:: SCMFSA_9:def 4
( a
4 . 0
= a
1 & ( for b
1 being
Nat holds a
4 . (b1 + 1) = (Computation ((a4 . b1) +* ((while=0 a3,a2) +* (Start-At (insloc 0))))) . ((LifeSpan ((a4 . b1) +* (a2 +* (Start-At (insloc 0))))) + 3) ) );
existence
ex b1 being Function of NAT , product the Object-Kind of SCM+FSA st
( b1 . 0 = c2 & ( for b2 being Nat holds b1 . (b2 + 1) = (Computation ((b1 . b2) +* ((while=0 c4,c3) +* (Start-At (insloc 0))))) . ((LifeSpan ((b1 . b2) +* (c3 +* (Start-At (insloc 0))))) + 3) ) )
uniqueness
for b1, b2 being Function of NAT , product the Object-Kind of SCM+FSA holds
( b1 . 0 = c2 & ( for b3 being Nat holds b1 . (b3 + 1) = (Computation ((b1 . b3) +* ((while=0 c4,c3) +* (Start-At (insloc 0))))) . ((LifeSpan ((b1 . b3) +* (c3 +* (Start-At (insloc 0))))) + 3) ) & b2 . 0 = c2 & ( for b3 being Nat holds b2 . (b3 + 1) = (Computation ((b2 . b3) +* ((while=0 c4,c3) +* (Start-At (insloc 0))))) . ((LifeSpan ((b2 . b3) +* (c3 +* (Start-At (insloc 0))))) + 3) ) implies b1 = b2 )
end;
:: deftheorem Def4 defines StepWhile=0 SCMFSA_9:def 4 :
theorem Th23: :: SCMFSA_9:23
canceled;
theorem Th24: :: SCMFSA_9:24
canceled;
theorem Th25: :: SCMFSA_9:25
scheme :: SCMFSA_9:sch 1
s1{ F
1(
Nat)
-> Nat, F
2()
-> Nat } :
ex b
1 being
Nat st
( F
1(b
1)
= 0 & ( for b
2 being
Nat holds
( F
1(b
2)
= 0 implies b
1 <= b
2 ) ) )
provided
E23:
F
1(0)
= F
2()
and
E24:
for b
1 being
Nat holds
not ( not F
1(
(b1 + 1))
< F
1(b
1) & not F
1(b
1)
= 0 )
theorem Th26: :: SCMFSA_9:26
theorem Th27: :: SCMFSA_9:27
for b
1, b
2, b
3 being
Functionfor b
4 being
set holds
(
(b1 +* b2) | b
4 = b
3 | b
4 implies
(b3 +* b2) | b
4 = (b1 +* b2) | b
4 )
theorem Th28: :: SCMFSA_9:28
for b
1, b
2, b
3 being
Functionfor b
4 being
set holds
( b
1 | b
4 = b
3 | b
4 implies
(b3 +* b2) | b
4 = (b1 +* b2) | b
4 )
theorem Th29: :: SCMFSA_9:29
theorem Th30: :: SCMFSA_9:30
theorem Th31: :: SCMFSA_9:31
for b
1 being
Macro-Instructionfor b
2 being
read-write Int-Location for b
3 being
State of
SCM+FSA for b
4, b
5 being
Nat holds
(
IC ((StepWhile=0 b2,b1,b3) . b4) = insloc 0 &
(StepWhile=0 b2,b1,b3) . b
4 = (Computation (b3 +* ((while=0 b2,b1) +* (Start-At (insloc 0))))) . b
5 implies (
(StepWhile=0 b2,b1,b3) . b
4 = ((StepWhile=0 b2,b1,b3) . b4) +* ((while=0 b2,b1) +* (Start-At (insloc 0))) &
(StepWhile=0 b2,b1,b3) . (b4 + 1) = (Computation (b3 +* ((while=0 b2,b1) +* (Start-At (insloc 0))))) . (b5 + ((LifeSpan (((StepWhile=0 b2,b1,b3) . b4) +* (b1 +* (Start-At (insloc 0))))) + 3)) ) )
theorem Th32: :: SCMFSA_9:32
for b
1 being
Macro-Instructionfor b
2 being
read-write Int-Location for b
3 being
State of
SCM+FSA holds
( ( for b
4 being
Nat holds
( b
1 is_closed_on (StepWhile=0 b2,b1,b3) . b
4 & b
1 is_halting_on (StepWhile=0 b2,b1,b3) . b
4 ) ) & ex b
4 being
Function of
product the
Object-Kind of
SCM+FSA ,
NAT st
for b
5 being
Nat holds
( not ( not b
4 . ((StepWhile=0 b2,b1,b3) . (b5 + 1)) < b
4 . ((StepWhile=0 b2,b1,b3) . b5) & not b
4 . ((StepWhile=0 b2,b1,b3) . b5) = 0 ) & not ( b
4 . ((StepWhile=0 b2,b1,b3) . b5) = 0 & not
((StepWhile=0 b2,b1,b3) . b5) . b
2 <> 0 ) & (
((StepWhile=0 b2,b1,b3) . b5) . b
2 <> 0 implies b
4 . ((StepWhile=0 b2,b1,b3) . b5) = 0 ) ) implies (
while=0 b
2,b
1 is_halting_on b
3 &
while=0 b
2,b
1 is_closed_on b
3 ) )
theorem Th33: :: SCMFSA_9:33
for b
1 being
parahalting Macro-Instructionfor b
2 being
read-write Int-Location for b
3 being
State of
SCM+FSA holds
( ex b
4 being
Function of
product the
Object-Kind of
SCM+FSA ,
NAT st
for b
5 being
Nat holds
( not ( not b
4 . ((StepWhile=0 b2,b1,b3) . (b5 + 1)) < b
4 . ((StepWhile=0 b2,b1,b3) . b5) & not b
4 . ((StepWhile=0 b2,b1,b3) . b5) = 0 ) & not ( b
4 . ((StepWhile=0 b2,b1,b3) . b5) = 0 & not
((StepWhile=0 b2,b1,b3) . b5) . b
2 <> 0 ) & (
((StepWhile=0 b2,b1,b3) . b5) . b
2 <> 0 implies b
4 . ((StepWhile=0 b2,b1,b3) . b5) = 0 ) ) implies (
while=0 b
2,b
1 is_halting_on b
3 &
while=0 b
2,b
1 is_closed_on b
3 ) )
theorem Th34: :: SCMFSA_9:34
theorem Th35: :: SCMFSA_9:35
theorem Th36: :: SCMFSA_9:36
theorem Th37: :: SCMFSA_9:37
theorem Th38: :: SCMFSA_9:38
theorem Th39: :: SCMFSA_9:39
theorem Th40: :: SCMFSA_9:40
theorem Th41: :: SCMFSA_9:41
theorem Th42: :: SCMFSA_9:42
theorem Th43: :: SCMFSA_9:43
theorem Th44: :: SCMFSA_9:44
theorem Th45: :: SCMFSA_9:45
theorem Th46: :: SCMFSA_9:46
theorem Th47: :: SCMFSA_9:47
set c2 = Start-At (insloc 0);
definition
let c
3 be
State of
SCM+FSA ;
let c
4 be
Macro-Instruction;
let c
5 be
read-write Int-Location ;
func StepWhile>0 c
3,c
2,c
1 -> Function of
NAT ,
product the
Object-Kind of
SCM+FSA means :
Def5:
:: SCMFSA_9:def 5
( a
4 . 0
= a
1 & ( for b
1 being
Nat holds a
4 . (b1 + 1) = (Computation ((a4 . b1) +* ((while>0 a3,a2) +* (Start-At (insloc 0))))) . ((LifeSpan ((a4 . b1) +* (a2 +* (Start-At (insloc 0))))) + 3) ) );
existence
ex b1 being Function of NAT , product the Object-Kind of SCM+FSA st
( b1 . 0 = c3 & ( for b2 being Nat holds b1 . (b2 + 1) = (Computation ((b1 . b2) +* ((while>0 c5,c4) +* (Start-At (insloc 0))))) . ((LifeSpan ((b1 . b2) +* (c4 +* (Start-At (insloc 0))))) + 3) ) )
uniqueness
for b1, b2 being Function of NAT , product the Object-Kind of SCM+FSA holds
( b1 . 0 = c3 & ( for b3 being Nat holds b1 . (b3 + 1) = (Computation ((b1 . b3) +* ((while>0 c5,c4) +* (Start-At (insloc 0))))) . ((LifeSpan ((b1 . b3) +* (c4 +* (Start-At (insloc 0))))) + 3) ) & b2 . 0 = c3 & ( for b3 being Nat holds b2 . (b3 + 1) = (Computation ((b2 . b3) +* ((while>0 c5,c4) +* (Start-At (insloc 0))))) . ((LifeSpan ((b2 . b3) +* (c4 +* (Start-At (insloc 0))))) + 3) ) implies b1 = b2 )
end;
:: deftheorem Def5 defines StepWhile>0 SCMFSA_9:def 5 :
theorem Th48: :: SCMFSA_9:48
canceled;
theorem Th49: :: SCMFSA_9:49
canceled;
theorem Th50: :: SCMFSA_9:50
theorem Th51: :: SCMFSA_9:51
theorem Th52: :: SCMFSA_9:52
for b
1 being
Macro-Instructionfor b
2 being
read-write Int-Location for b
3 being
State of
SCM+FSA for b
4, b
5 being
Nat holds
(
IC ((StepWhile>0 b2,b1,b3) . b4) = insloc 0 &
(StepWhile>0 b2,b1,b3) . b
4 = (Computation (b3 +* ((while>0 b2,b1) +* (Start-At (insloc 0))))) . b
5 implies (
(StepWhile>0 b2,b1,b3) . b
4 = ((StepWhile>0 b2,b1,b3) . b4) +* ((while>0 b2,b1) +* (Start-At (insloc 0))) &
(StepWhile>0 b2,b1,b3) . (b4 + 1) = (Computation (b3 +* ((while>0 b2,b1) +* (Start-At (insloc 0))))) . (b5 + ((LifeSpan (((StepWhile>0 b2,b1,b3) . b4) +* (b1 +* (Start-At (insloc 0))))) + 3)) ) )
theorem Th53: :: SCMFSA_9:53
for b
1 being
Macro-Instructionfor b
2 being
read-write Int-Location for b
3 being
State of
SCM+FSA holds
( ( for b
4 being
Nat holds
( b
1 is_closed_on (StepWhile>0 b2,b1,b3) . b
4 & b
1 is_halting_on (StepWhile>0 b2,b1,b3) . b
4 ) ) & ex b
4 being
Function of
product the
Object-Kind of
SCM+FSA ,
NAT st
for b
5 being
Nat holds
( not ( not b
4 . ((StepWhile>0 b2,b1,b3) . (b5 + 1)) < b
4 . ((StepWhile>0 b2,b1,b3) . b5) & not b
4 . ((StepWhile>0 b2,b1,b3) . b5) = 0 ) & ( b
4 . ((StepWhile>0 b2,b1,b3) . b5) = 0 implies
((StepWhile>0 b2,b1,b3) . b5) . b
2 <= 0 ) & (
((StepWhile>0 b2,b1,b3) . b5) . b
2 <= 0 implies b
4 . ((StepWhile>0 b2,b1,b3) . b5) = 0 ) ) implies (
while>0 b
2,b
1 is_halting_on b
3 &
while>0 b
2,b
1 is_closed_on b
3 ) )
theorem Th54: :: SCMFSA_9:54
for b
1 being
parahalting Macro-Instructionfor b
2 being
read-write Int-Location for b
3 being
State of
SCM+FSA holds
( ex b
4 being
Function of
product the
Object-Kind of
SCM+FSA ,
NAT st
for b
5 being
Nat holds
( not ( not b
4 . ((StepWhile>0 b2,b1,b3) . (b5 + 1)) < b
4 . ((StepWhile>0 b2,b1,b3) . b5) & not b
4 . ((StepWhile>0 b2,b1,b3) . b5) = 0 ) & ( b
4 . ((StepWhile>0 b2,b1,b3) . b5) = 0 implies
((StepWhile>0 b2,b1,b3) . b5) . b
2 <= 0 ) & (
((StepWhile>0 b2,b1,b3) . b5) . b
2 <= 0 implies b
4 . ((StepWhile>0 b2,b1,b3) . b5) = 0 ) ) implies (
while>0 b
2,b
1 is_halting_on b
3 &
while>0 b
2,b
1 is_closed_on b
3 ) )
theorem Th55: :: SCMFSA_9:55