:: SCMFSA7B semantic presentation
:: Showing IDV graph ... (Click the Palm Trees again to close it)
set A = the Instruction-Locations of SCM+FSA ;
theorem Th1: :: SCMFSA7B:1
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th2: :: SCMFSA7B:2
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: SCMFSA7B:3
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th4: :: SCMFSA7B:4
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th5: :: SCMFSA7B:5
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th6: :: SCMFSA7B:6
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: SCMFSA7B:7
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: SCMFSA7B:8
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
Lm1:
for s being State of SCM+FSA st IC s = insloc 0 holds
for a being Int-Location
for k being Integer st a := k c= s holds
s is halting
theorem :: SCMFSA7B:9
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
Lm2:
for p1, p2, p3, p4 being FinSequence holds ((p1 ^ p2) ^ p3) ^ p4 = p1 ^ ((p2 ^ p3) ^ p4)
Lm3:
for p1, p2, p3 being FinSequence holds
( ((len p1) + (len p2)) + (len p3) = len ((p1 ^ p2) ^ p3) & ((len p1) + (len p2)) + (len p3) = len (p1 ^ (p2 ^ p3)) & (len p1) + ((len p2) + (len p3)) = len (p1 ^ (p2 ^ p3)) & (len p1) + ((len p2) + (len p3)) = len ((p1 ^ p2) ^ p3) )
Lm4:
for s being State of SCM+FSA st IC s = insloc 0 & s . (intloc 0) = 1 holds
for f being FinSeq-Location
for p being FinSequence of INT st f := p c= s holds
( s is halting & (Result s) . f = p & ( for b being Int-Location st b <> intloc 1 & b <> intloc 2 holds
(Result s) . b = s . b ) & ( for g being FinSeq-Location st g <> f holds
(Result s) . g = s . g ) )
Lm5:
for s being State of SCM+FSA
for c0 being Nat st IC s = insloc c0 holds
for a being Int-Location
for k being Integer st ( for c being Nat st c < len (aSeq a,k) holds
(aSeq a,k) . (c + 1) = s . (insloc (c0 + c)) ) holds
for i being Nat st i <= len (aSeq a,k) holds
IC ((Computation s) . i) = insloc (c0 + i)
Lm6:
for s being State of SCM+FSA st IC s = insloc 0 holds
for a being Int-Location
for k being Integer st Load (aSeq a,k) c= s holds
for i being Nat st i <= len (aSeq a,k) holds
IC ((Computation s) . i) = insloc i
Lm7:
for s being State of SCM+FSA st IC s = insloc 0 holds
for f being FinSeq-Location
for p being FinSequence of INT st f := p c= s holds
s is halting
theorem :: SCMFSA7B:10
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
definition
let i be
Instruction of
SCM+FSA ;
let a be
Int-Location ;
pred i does_not_refer a means :: SCMFSA7B:def 1
for
b being
Int-Location for
l being
Instruction-Location of
SCM+FSA for
f being
FinSeq-Location holds
(
b := a <> i &
AddTo b,
a <> i &
SubFrom b,
a <> i &
MultBy b,
a <> i &
Divide b,
a <> i &
Divide a,
b <> i &
a =0_goto l <> i &
a >0_goto l <> i &
b := f,
a <> i &
f,
b := a <> i &
f,
a := b <> i &
f :=<0,...,0> a <> i );
end;
:: deftheorem defines does_not_refer SCMFSA7B:def 1 :
for
i being
Instruction of
SCM+FSA for
a being
Int-Location holds
(
i does_not_refer a iff for
b being
Int-Location for
l being
Instruction-Location of
SCM+FSA for
f being
FinSeq-Location holds
(
b := a <> i &
AddTo b,
a <> i &
SubFrom b,
a <> i &
MultBy b,
a <> i &
Divide b,
a <> i &
Divide a,
b <> i &
a =0_goto l <> i &
a >0_goto l <> i &
b := f,
a <> i &
f,
b := a <> i &
f,
a := b <> i &
f :=<0,...,0> a <> i ) );
:: deftheorem defines does_not_refer SCMFSA7B:def 2 :
:: deftheorem Def3 defines does_not_destroy SCMFSA7B:def 3 :
:: deftheorem Def4 defines does_not_destroy SCMFSA7B:def 4 :
:: deftheorem Def5 defines good SCMFSA7B:def 5 :
:: deftheorem Def6 defines halt-free SCMFSA7B:def 6 :
theorem Th11: :: SCMFSA7B:11
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th12: :: SCMFSA7B:12
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th13: :: SCMFSA7B:13
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th14: :: SCMFSA7B:14
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: SCMFSA7B:15
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: SCMFSA7B:16
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: SCMFSA7B:17
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: SCMFSA7B:18
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: SCMFSA7B:19
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: SCMFSA7B:20
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: SCMFSA7B:21
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: SCMFSA7B:22
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: SCMFSA7B:23
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
:: deftheorem Def7 defines is_closed_on SCMFSA7B:def 7 :
:: deftheorem Def8 defines is_halting_on SCMFSA7B:def 8 :
theorem Th24: :: SCMFSA7B:24
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem :: SCMFSA7B:25
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th26: :: SCMFSA7B:26
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th27: :: SCMFSA7B:27
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th28: :: SCMFSA7B:28
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
Lm8:
SCM+FSA-Stop is parahalting
theorem Th29: :: SCMFSA7B:29
:: Showing IDV graph ... (Click the Palm Tree again to close it) 
theorem Th30: :: SCMFSA7B:30
:: Showing IDV graph ... (Click the Palm Tree again to close it) 