:: SCMFSA_9 semantic presentation
theorem Th1: :: SCMFSA_9:1
theorem Th2: :: SCMFSA_9:2
definition
let c1 be
Int-Location ;
let c2 be
Macro-Instruction;
func while=0 c1,
c2 -> 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 c1,
c2 -> 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 c2 be
State of
SCM+FSA ;
let c3 be
Macro-Instruction;
let c4 be
read-write Int-Location ;
func StepWhile=0 c3,
c2,
c1 -> Function of
NAT ,
product the
Object-Kind of
SCM+FSA means :
Def4:
:: SCMFSA_9:def 4
(
a4 . 0
= a1 & ( for
b1 being
Nat holds
a4 . (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 st 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) ) holds
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
theorem Th26: :: SCMFSA_9:26
theorem Th27: :: SCMFSA_9:27
for
b1,
b2,
b3 being
Function for
b4 being
set st
(b1 +* b2) | b4 = b3 | b4 holds
(b3 +* b2) | b4 = (b1 +* b2) | b4
theorem Th28: :: SCMFSA_9:28
for
b1,
b2,
b3 being
Function for
b4 being
set st
b1 | b4 = b3 | b4 holds
(b3 +* b2) | b4 = (b1 +* b2) | b4
theorem Th29: :: SCMFSA_9:29
theorem Th30: :: SCMFSA_9:30
theorem Th31: :: SCMFSA_9:31
for
b1 being
Macro-Instruction for
b2 being
read-write Int-Location for
b3 being
State of
SCM+FSA for
b4,
b5 being
Nat st
IC ((StepWhile=0 b2,b1,b3) . b4) = insloc 0 &
(StepWhile=0 b2,b1,b3) . b4 = (Computation (b3 +* ((while=0 b2,b1) +* (Start-At (insloc 0))))) . b5 holds
(
(StepWhile=0 b2,b1,b3) . b4 = ((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
b1 being
Macro-Instruction for
b2 being
read-write Int-Location for
b3 being
State of
SCM+FSA st ( for
b4 being
Nat holds
(
b1 is_closed_on (StepWhile=0 b2,b1,b3) . b4 &
b1 is_halting_on (StepWhile=0 b2,b1,b3) . b4 ) ) & ex
b4 being
Function of
product the
Object-Kind of
SCM+FSA ,
NAT st
for
b5 being
Nat holds
( (
b4 . ((StepWhile=0 b2,b1,b3) . (b5 + 1)) < b4 . ((StepWhile=0 b2,b1,b3) . b5) or
b4 . ((StepWhile=0 b2,b1,b3) . b5) = 0 ) & (
b4 . ((StepWhile=0 b2,b1,b3) . b5) = 0 implies
((StepWhile=0 b2,b1,b3) . b5) . b2 <> 0 ) & (
((StepWhile=0 b2,b1,b3) . b5) . b2 <> 0 implies
b4 . ((StepWhile=0 b2,b1,b3) . b5) = 0 ) ) holds
(
while=0 b2,
b1 is_halting_on b3 &
while=0 b2,
b1 is_closed_on b3 )
theorem Th33: :: SCMFSA_9:33
for
b1 being
parahalting Macro-Instruction for
b2 being
read-write Int-Location for
b3 being
State of
SCM+FSA st ex
b4 being
Function of
product the
Object-Kind of
SCM+FSA ,
NAT st
for
b5 being
Nat holds
( (
b4 . ((StepWhile=0 b2,b1,b3) . (b5 + 1)) < b4 . ((StepWhile=0 b2,b1,b3) . b5) or
b4 . ((StepWhile=0 b2,b1,b3) . b5) = 0 ) & (
b4 . ((StepWhile=0 b2,b1,b3) . b5) = 0 implies
((StepWhile=0 b2,b1,b3) . b5) . b2 <> 0 ) & (
((StepWhile=0 b2,b1,b3) . b5) . b2 <> 0 implies
b4 . ((StepWhile=0 b2,b1,b3) . b5) = 0 ) ) holds
(
while=0 b2,
b1 is_halting_on b3 &
while=0 b2,
b1 is_closed_on b3 )
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 c3 be
State of
SCM+FSA ;
let c4 be
Macro-Instruction;
let c5 be
read-write Int-Location ;
func StepWhile>0 c3,
c2,
c1 -> Function of
NAT ,
product the
Object-Kind of
SCM+FSA means :
Def5:
:: SCMFSA_9:def 5
(
a4 . 0
= a1 & ( for
b1 being
Nat holds
a4 . (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 st 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) ) holds
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
b1 being
Macro-Instruction for
b2 being
read-write Int-Location for
b3 being
State of
SCM+FSA for
b4,
b5 being
Nat st
IC ((StepWhile>0 b2,b1,b3) . b4) = insloc 0 &
(StepWhile>0 b2,b1,b3) . b4 = (Computation (b3 +* ((while>0 b2,b1) +* (Start-At (insloc 0))))) . b5 holds
(
(StepWhile>0 b2,b1,b3) . b4 = ((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
b1 being
Macro-Instruction for
b2 being
read-write Int-Location for
b3 being
State of
SCM+FSA st ( for
b4 being
Nat holds
(
b1 is_closed_on (StepWhile>0 b2,b1,b3) . b4 &
b1 is_halting_on (StepWhile>0 b2,b1,b3) . b4 ) ) & ex
b4 being
Function of
product the
Object-Kind of
SCM+FSA ,
NAT st
for
b5 being
Nat holds
( (
b4 . ((StepWhile>0 b2,b1,b3) . (b5 + 1)) < b4 . ((StepWhile>0 b2,b1,b3) . b5) or
b4 . ((StepWhile>0 b2,b1,b3) . b5) = 0 ) & (
b4 . ((StepWhile>0 b2,b1,b3) . b5) = 0 implies
((StepWhile>0 b2,b1,b3) . b5) . b2 <= 0 ) & (
((StepWhile>0 b2,b1,b3) . b5) . b2 <= 0 implies
b4 . ((StepWhile>0 b2,b1,b3) . b5) = 0 ) ) holds
(
while>0 b2,
b1 is_halting_on b3 &
while>0 b2,
b1 is_closed_on b3 )
theorem Th54: :: SCMFSA_9:54
for
b1 being
parahalting Macro-Instruction for
b2 being
read-write Int-Location for
b3 being
State of
SCM+FSA st ex
b4 being
Function of
product the
Object-Kind of
SCM+FSA ,
NAT st
for
b5 being
Nat holds
( (
b4 . ((StepWhile>0 b2,b1,b3) . (b5 + 1)) < b4 . ((StepWhile>0 b2,b1,b3) . b5) or
b4 . ((StepWhile>0 b2,b1,b3) . b5) = 0 ) & (
b4 . ((StepWhile>0 b2,b1,b3) . b5) = 0 implies
((StepWhile>0 b2,b1,b3) . b5) . b2 <= 0 ) & (
((StepWhile>0 b2,b1,b3) . b5) . b2 <= 0 implies
b4 . ((StepWhile>0 b2,b1,b3) . b5) = 0 ) ) holds
(
while>0 b2,
b1 is_halting_on b3 &
while>0 b2,
b1 is_closed_on b3 )
theorem Th55: :: SCMFSA_9:55