:: SCMFSA_9 semantic presentation
theorem Th1: :: SCMFSA_9:1
theorem Th2: :: SCMFSA_9:2
definition
let a be
Int-Location ;
let I be
Macro-Instruction;
func while=0 a,
I -> Macro-Instruction equals :: SCMFSA_9:def 1
(if=0 a,(I ';' (Goto (insloc 0))),SCM+FSA-Stop ) +* ((insloc ((card I) + 4)) .--> (goto (insloc 0)));
correctness
coherence
(if=0 a,(I ';' (Goto (insloc 0))),SCM+FSA-Stop ) +* ((insloc ((card I) + 4)) .--> (goto (insloc 0))) is Macro-Instruction;
func while>0 a,
I -> Macro-Instruction equals :: SCMFSA_9:def 2
(if>0 a,(I ';' (Goto (insloc 0))),SCM+FSA-Stop ) +* ((insloc ((card I) + 4)) .--> (goto (insloc 0)));
correctness
coherence
(if>0 a,(I ';' (Goto (insloc 0))),SCM+FSA-Stop ) +* ((insloc ((card I) + 4)) .--> (goto (insloc 0))) is Macro-Instruction;
end;
:: deftheorem defines while=0 SCMFSA_9:def 1 :
:: deftheorem defines while>0 SCMFSA_9:def 2 :
theorem Th3: :: SCMFSA_9:3
:: deftheorem defines while<0 SCMFSA_9:def 3 :
theorem Th4: :: SCMFSA_9:4
theorem Th5: :: SCMFSA_9:5
theorem :: 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 :: 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 sl0 = Start-At (insloc 0);
definition
let s be
State of
SCM+FSA ;
let I be
Macro-Instruction;
let a be
read-write Int-Location ;
func StepWhile=0 a,
I,
s -> Function of
NAT ,
product the
Object-Kind of
SCM+FSA means :
Def4:
:: SCMFSA_9:def 4
(
it . 0
= s & ( for
i being
Element of
NAT holds
it . (i + 1) = (Computation ((it . i) +* ((while=0 a,I) +* (Start-At (insloc 0))))) . ((LifeSpan ((it . i) +* (I +* (Start-At (insloc 0))))) + 3) ) );
existence
ex b1 being Function of NAT , product the Object-Kind of SCM+FSA st
( b1 . 0 = s & ( for i being Element of NAT holds b1 . (i + 1) = (Computation ((b1 . i) +* ((while=0 a,I) +* (Start-At (insloc 0))))) . ((LifeSpan ((b1 . i) +* (I +* (Start-At (insloc 0))))) + 3) ) )
uniqueness
for b1, b2 being Function of NAT , product the Object-Kind of SCM+FSA st b1 . 0 = s & ( for i being Element of NAT holds b1 . (i + 1) = (Computation ((b1 . i) +* ((while=0 a,I) +* (Start-At (insloc 0))))) . ((LifeSpan ((b1 . i) +* (I +* (Start-At (insloc 0))))) + 3) ) & b2 . 0 = s & ( for i being Element of NAT holds b2 . (i + 1) = (Computation ((b2 . i) +* ((while=0 a,I) +* (Start-At (insloc 0))))) . ((LifeSpan ((b2 . i) +* (I +* (Start-At (insloc 0))))) + 3) ) holds
b1 = b2
end;
:: deftheorem Def4 defines StepWhile=0 SCMFSA_9:def 4 :
theorem :: SCMFSA_9:23
canceled;
theorem :: SCMFSA_9:24
canceled;
theorem Th25: :: SCMFSA_9:25
theorem :: SCMFSA_9:26
theorem Th27: :: SCMFSA_9:27
theorem :: SCMFSA_9:28
theorem Th29: :: SCMFSA_9:29
theorem Th30: :: SCMFSA_9:30
theorem Th31: :: SCMFSA_9:31
for
I being
Macro-Instruction for
a being
read-write Int-Location for
s being
State of
SCM+FSA for
k,
n being
Element of
NAT st
IC ((StepWhile=0 a,I,s) . k) = insloc 0 &
(StepWhile=0 a,I,s) . k = (Computation (s +* ((while=0 a,I) +* (Start-At (insloc 0))))) . n holds
(
(StepWhile=0 a,I,s) . k = ((StepWhile=0 a,I,s) . k) +* ((while=0 a,I) +* (Start-At (insloc 0))) &
(StepWhile=0 a,I,s) . (k + 1) = (Computation (s +* ((while=0 a,I) +* (Start-At (insloc 0))))) . (n + ((LifeSpan (((StepWhile=0 a,I,s) . k) +* (I +* (Start-At (insloc 0))))) + 3)) )
theorem Th32: :: SCMFSA_9:32
for
I being
Macro-Instruction for
a being
read-write Int-Location for
s being
State of
SCM+FSA st ( for
k being
Element of
NAT holds
(
I is_closed_on (StepWhile=0 a,I,s) . k &
I is_halting_on (StepWhile=0 a,I,s) . k ) ) & ex
f being
Function of
product the
Object-Kind of
SCM+FSA ,
NAT st
for
k being
Element of
NAT holds
( (
f . ((StepWhile=0 a,I,s) . (k + 1)) < f . ((StepWhile=0 a,I,s) . k) or
f . ((StepWhile=0 a,I,s) . k) = 0 ) & (
f . ((StepWhile=0 a,I,s) . k) = 0 implies
((StepWhile=0 a,I,s) . k) . a <> 0 ) & (
((StepWhile=0 a,I,s) . k) . a <> 0 implies
f . ((StepWhile=0 a,I,s) . k) = 0 ) ) holds
(
while=0 a,
I is_halting_on s &
while=0 a,
I is_closed_on s )
theorem Th33: :: SCMFSA_9:33
for
I being
parahalting Macro-Instruction for
a being
read-write Int-Location for
s being
State of
SCM+FSA st ex
f being
Function of
product the
Object-Kind of
SCM+FSA ,
NAT st
for
k being
Element of
NAT holds
( (
f . ((StepWhile=0 a,I,s) . (k + 1)) < f . ((StepWhile=0 a,I,s) . k) or
f . ((StepWhile=0 a,I,s) . k) = 0 ) & (
f . ((StepWhile=0 a,I,s) . k) = 0 implies
((StepWhile=0 a,I,s) . k) . a <> 0 ) & (
((StepWhile=0 a,I,s) . k) . a <> 0 implies
f . ((StepWhile=0 a,I,s) . k) = 0 ) ) holds
(
while=0 a,
I is_halting_on s &
while=0 a,
I is_closed_on s )
theorem :: 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 :: 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 sl0 = Start-At (insloc 0);
definition
let s be
State of
SCM+FSA ;
let I be
Macro-Instruction;
let a be
read-write Int-Location ;
func StepWhile>0 a,
I,
s -> Function of
NAT ,
product the
Object-Kind of
SCM+FSA means :
Def5:
:: SCMFSA_9:def 5
(
it . 0
= s & ( for
i being
Element of
NAT holds
it . (i + 1) = (Computation ((it . i) +* ((while>0 a,I) +* (Start-At (insloc 0))))) . ((LifeSpan ((it . i) +* (I +* (Start-At (insloc 0))))) + 3) ) );
existence
ex b1 being Function of NAT , product the Object-Kind of SCM+FSA st
( b1 . 0 = s & ( for i being Element of NAT holds b1 . (i + 1) = (Computation ((b1 . i) +* ((while>0 a,I) +* (Start-At (insloc 0))))) . ((LifeSpan ((b1 . i) +* (I +* (Start-At (insloc 0))))) + 3) ) )
uniqueness
for b1, b2 being Function of NAT , product the Object-Kind of SCM+FSA st b1 . 0 = s & ( for i being Element of NAT holds b1 . (i + 1) = (Computation ((b1 . i) +* ((while>0 a,I) +* (Start-At (insloc 0))))) . ((LifeSpan ((b1 . i) +* (I +* (Start-At (insloc 0))))) + 3) ) & b2 . 0 = s & ( for i being Element of NAT holds b2 . (i + 1) = (Computation ((b2 . i) +* ((while>0 a,I) +* (Start-At (insloc 0))))) . ((LifeSpan ((b2 . i) +* (I +* (Start-At (insloc 0))))) + 3) ) holds
b1 = b2
end;
:: deftheorem Def5 defines StepWhile>0 SCMFSA_9:def 5 :
theorem :: SCMFSA_9:48
canceled;
theorem :: SCMFSA_9:49
canceled;
theorem Th50: :: SCMFSA_9:50
theorem Th51: :: SCMFSA_9:51
theorem Th52: :: SCMFSA_9:52
for
I being
Macro-Instruction for
a being
read-write Int-Location for
s being
State of
SCM+FSA for
k,
n being
Element of
NAT st
IC ((StepWhile>0 a,I,s) . k) = insloc 0 &
(StepWhile>0 a,I,s) . k = (Computation (s +* ((while>0 a,I) +* (Start-At (insloc 0))))) . n holds
(
(StepWhile>0 a,I,s) . k = ((StepWhile>0 a,I,s) . k) +* ((while>0 a,I) +* (Start-At (insloc 0))) &
(StepWhile>0 a,I,s) . (k + 1) = (Computation (s +* ((while>0 a,I) +* (Start-At (insloc 0))))) . (n + ((LifeSpan (((StepWhile>0 a,I,s) . k) +* (I +* (Start-At (insloc 0))))) + 3)) )
theorem Th53: :: SCMFSA_9:53
for
I being
Macro-Instruction for
a being
read-write Int-Location for
s being
State of
SCM+FSA st ( for
k being
Element of
NAT holds
(
I is_closed_on (StepWhile>0 a,I,s) . k &
I is_halting_on (StepWhile>0 a,I,s) . k ) ) & ex
f being
Function of
product the
Object-Kind of
SCM+FSA ,
NAT st
for
k being
Element of
NAT holds
( (
f . ((StepWhile>0 a,I,s) . (k + 1)) < f . ((StepWhile>0 a,I,s) . k) or
f . ((StepWhile>0 a,I,s) . k) = 0 ) & (
f . ((StepWhile>0 a,I,s) . k) = 0 implies
((StepWhile>0 a,I,s) . k) . a <= 0 ) & (
((StepWhile>0 a,I,s) . k) . a <= 0 implies
f . ((StepWhile>0 a,I,s) . k) = 0 ) ) holds
(
while>0 a,
I is_halting_on s &
while>0 a,
I is_closed_on s )
theorem Th54: :: SCMFSA_9:54
for
I being
parahalting Macro-Instruction for
a being
read-write Int-Location for
s being
State of
SCM+FSA st ex
f being
Function of
product the
Object-Kind of
SCM+FSA ,
NAT st
for
k being
Element of
NAT holds
( (
f . ((StepWhile>0 a,I,s) . (k + 1)) < f . ((StepWhile>0 a,I,s) . k) or
f . ((StepWhile>0 a,I,s) . k) = 0 ) & (
f . ((StepWhile>0 a,I,s) . k) = 0 implies
((StepWhile>0 a,I,s) . k) . a <= 0 ) & (
((StepWhile>0 a,I,s) . k) . a <= 0 implies
f . ((StepWhile>0 a,I,s) . k) = 0 ) ) holds
(
while>0 a,
I is_halting_on s &
while>0 a,
I is_closed_on s )
theorem :: SCMFSA_9:55