Article SCMFSA_9, MML version 4.99.1005
:: SCMFSA_9:th 1
theorem
for b1 being finite programmed initial Element of sproduct the Object-Kind of SCM+FSA
for b2 being Int-Location holds
card if=0(b2,b1 ';' Goto insloc 0,SCM+FSA-Stop) = (card b1) + 6;
:: SCMFSA_9:th 2
theorem
for b1 being finite programmed initial Element of sproduct the Object-Kind of SCM+FSA
for b2 being Int-Location holds
card if>0(b2,b1 ';' Goto insloc 0,SCM+FSA-Stop) = (card b1) + 6;
:: SCMFSA_9:funcnot 1 => SCMFSA_9:func 1
definition
let a1 be Int-Location;
let a2 be finite programmed initial Element of sproduct the Object-Kind of SCM+FSA;
func while=0(A1,A2) -> finite programmed initial Element of sproduct the Object-Kind of SCM+FSA equals
(if=0(a1,a2 ';' Goto insloc 0,SCM+FSA-Stop)) +* ((insloc ((card a2) + 4)) .--> goto insloc 0);
end;
:: SCMFSA_9:def 1
theorem
for b1 being Int-Location
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCM+FSA holds
while=0(b1,b2) = (if=0(b1,b2 ';' Goto insloc 0,SCM+FSA-Stop)) +* ((insloc ((card b2) + 4)) .--> goto insloc 0);
:: SCMFSA_9:funcnot 2 => SCMFSA_9:func 2
definition
let a1 be Int-Location;
let a2 be finite programmed initial Element of sproduct the Object-Kind of SCM+FSA;
func while>0(A1,A2) -> finite programmed initial Element of sproduct the Object-Kind of SCM+FSA equals
(if>0(a1,a2 ';' Goto insloc 0,SCM+FSA-Stop)) +* ((insloc ((card a2) + 4)) .--> goto insloc 0);
end;
:: SCMFSA_9:def 2
theorem
for b1 being Int-Location
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCM+FSA holds
while>0(b1,b2) = (if>0(b1,b2 ';' Goto insloc 0,SCM+FSA-Stop)) +* ((insloc ((card b2) + 4)) .--> goto insloc 0);
:: SCMFSA_9:th 3
theorem
for b1 being finite programmed initial Element of sproduct the Object-Kind of SCM+FSA
for b2 being Int-Location holds
card if=0(b2,SCM+FSA-Stop,if>0(b2,SCM+FSA-Stop,b1 ';' Goto insloc 0)) = (card b1) + 11;
:: SCMFSA_9:funcnot 3 => SCMFSA_9:func 3
definition
let a1 be Int-Location;
let a2 be finite programmed initial Element of sproduct the Object-Kind of SCM+FSA;
func while<0(A1,A2) -> finite programmed initial Element of sproduct the Object-Kind of SCM+FSA equals
(if=0(a1,SCM+FSA-Stop,if>0(a1,SCM+FSA-Stop,a2 ';' Goto insloc 0))) +* ((insloc ((card a2) + 4)) .--> goto insloc 0);
end;
:: SCMFSA_9:def 3
theorem
for b1 being Int-Location
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCM+FSA holds
while<0(b1,b2) = (if=0(b1,SCM+FSA-Stop,if>0(b1,SCM+FSA-Stop,b2 ';' Goto insloc 0))) +* ((insloc ((card b2) + 4)) .--> goto insloc 0);
:: SCMFSA_9:th 4
theorem
for b1 being finite programmed initial Element of sproduct the Object-Kind of SCM+FSA
for b2 being Int-Location holds
card while=0(b2,b1) = (card b1) + 6;
:: SCMFSA_9:th 5
theorem
for b1 being finite programmed initial Element of sproduct the Object-Kind of SCM+FSA
for b2 being Int-Location holds
card while>0(b2,b1) = (card b1) + 6;
:: SCMFSA_9:th 6
theorem
for b1 being finite programmed initial Element of sproduct the Object-Kind of SCM+FSA
for b2 being Int-Location holds
card while<0(b2,b1) = (card b1) + 11;
:: SCMFSA_9:th 7
theorem
for b1 being Int-Location
for b2 being Instruction-Location of SCM+FSA holds
b1 =0_goto b2 <> halt SCM+FSA;
:: SCMFSA_9:th 8
theorem
for b1 being Int-Location
for b2 being Instruction-Location of SCM+FSA holds
b1 >0_goto b2 <> halt SCM+FSA;
:: SCMFSA_9:th 9
theorem
for b1 being Instruction-Location of SCM+FSA holds
goto b1 <> halt SCM+FSA;
:: SCMFSA_9:th 10
theorem
for b1 being Int-Location
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCM+FSA holds
insloc 0 in proj1 while=0(b1,b2) & insloc 1 in proj1 while=0(b1,b2) & insloc 0 in proj1 while>0(b1,b2) & insloc 1 in proj1 while>0(b1,b2);
:: SCMFSA_9:th 11
theorem
for b1 being Int-Location
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCM+FSA holds
(while=0(b1,b2)) . insloc 0 = b1 =0_goto insloc 4 &
(while=0(b1,b2)) . insloc 1 = goto insloc 2 &
(while>0(b1,b2)) . insloc 0 = b1 >0_goto insloc 4 &
(while>0(b1,b2)) . insloc 1 = goto insloc 2;
:: SCMFSA_9:th 12
theorem
for b1 being Int-Location
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCM+FSA
for b3 being Element of NAT
st b3 < 6
holds insloc b3 in proj1 while=0(b1,b2);
:: SCMFSA_9:th 13
theorem
for b1 being Int-Location
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCM+FSA
for b3 being Element of NAT
st b3 < 6
holds (card b2) + b3 in proj1 while=0(b1,b2);
:: SCMFSA_9:th 14
theorem
for b1 being Int-Location
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCM+FSA holds
(while=0(b1,b2)) . ((card b2) + 5) = halt SCM+FSA;
:: SCMFSA_9:th 15
theorem
for b1 being Int-Location
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCM+FSA holds
(while=0(b1,b2)) . insloc 3 = goto insloc ((card b2) + 5);
:: SCMFSA_9:th 16
theorem
for b1 being Int-Location
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCM+FSA holds
(while=0(b1,b2)) . insloc 2 = goto insloc 3;
:: SCMFSA_9:th 17
theorem
for b1 being Int-Location
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCM+FSA
for b3 being Element of NAT
st b3 < (card b2) + 6
holds insloc b3 in proj1 while=0(b1,b2);
:: SCMFSA_9:th 18
theorem
for b1 being Element of product the Object-Kind of SCM+FSA
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCM+FSA
for b3 being read-write Int-Location
st b1 . b3 <> 0
holds while=0(b3,b2) is_halting_on b1 & while=0(b3,b2) is_closed_on b1;
:: SCMFSA_9:th 19
theorem
for b1 being Int-Location
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCM+FSA
for b3 being Element of product the Object-Kind of SCM+FSA
for b4 being Element of NAT
st b2 is_closed_on b3 &
b2 is_halting_on b3 &
b4 < LifeSpan (b3 +* (b2 +* Start-At insloc 0)) &
IC Computation(b3 +* ((while=0(b1,b2)) +* Start-At insloc 0),1 + b4) = (IC Computation(b3 +* (b2 +* Start-At insloc 0),b4)) + 4 &
(Computation(b3 +* ((while=0(b1,b2)) +* Start-At insloc 0),1 + b4)) | (Int-Locations \/ FinSeq-Locations) = (Computation(b3 +* (b2 +* Start-At insloc 0),b4)) | (Int-Locations \/ FinSeq-Locations)
holds IC Computation(b3 +* ((while=0(b1,b2)) +* Start-At insloc 0),(1 + b4) + 1) = (IC Computation(b3 +* (b2 +* Start-At insloc 0),b4 + 1)) + 4 &
(Computation(b3 +* ((while=0(b1,b2)) +* Start-At insloc 0),(1 + b4) + 1)) | (Int-Locations \/ FinSeq-Locations) = (Computation(b3 +* (b2 +* Start-At insloc 0),b4 + 1)) | (Int-Locations \/ FinSeq-Locations);
:: SCMFSA_9:th 20
theorem
for b1 being Int-Location
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCM+FSA
for b3 being Element of product the Object-Kind of SCM+FSA
st b2 is_closed_on b3 &
b2 is_halting_on b3 &
IC Computation(b3 +* ((while=0(b1,b2)) +* Start-At insloc 0),1 + LifeSpan (b3 +* (b2 +* Start-At insloc 0))) = (IC Computation(b3 +* (b2 +* Start-At insloc 0),LifeSpan (b3 +* (b2 +* Start-At insloc 0)))) + 4
holds CurInstr Computation(b3 +* ((while=0(b1,b2)) +* Start-At insloc 0),1 + LifeSpan (b3 +* (b2 +* Start-At insloc 0))) = goto insloc ((card b2) + 4);
:: SCMFSA_9:th 21
theorem
for b1 being Int-Location
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCM+FSA holds
(while=0(b1,b2)) . insloc ((card b2) + 4) = goto insloc 0;
:: SCMFSA_9:th 22
theorem
for b1 being Element of product the Object-Kind of SCM+FSA
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCM+FSA
for b3 being read-write Int-Location
st b2 is_closed_on b1 & b2 is_halting_on b1 & b1 . b3 = 0
holds IC Computation(b1 +* ((while=0(b3,b2)) +* Start-At insloc 0),(LifeSpan (b1 +* (b2 +* Start-At insloc 0))) + 3) = insloc 0 &
(for b4 being Element of NAT
st b4 <= (LifeSpan (b1 +* (b2 +* Start-At insloc 0))) + 3
holds IC Computation(b1 +* ((while=0(b3,b2)) +* Start-At insloc 0),b4) in proj1 while=0(b3,b2));
:: SCMFSA_9:funcnot 4 => SCMFSA_9:func 4
definition
let a1 be Element of product the Object-Kind of SCM+FSA;
let a2 be finite programmed initial Element of sproduct the Object-Kind of SCM+FSA;
let a3 be read-write Int-Location;
func StepWhile=0(A3,A2,A1) -> Function-like quasi_total Relation of NAT,product the Object-Kind of SCM+FSA means
it . 0 = a1 &
(for b1 being natural set holds
it . (b1 + 1) = Computation((it . b1) +* ((while=0(a3,a2)) +* Start-At insloc 0),(LifeSpan ((it . b1) +* (a2 +* Start-At insloc 0))) + 3));
end;
:: SCMFSA_9:def 4
theorem
for b1 being Element of product the Object-Kind of SCM+FSA
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCM+FSA
for b3 being read-write Int-Location
for b4 being Function-like quasi_total Relation of NAT,product the Object-Kind of SCM+FSA holds
b4 = StepWhile=0(b3,b2,b1)
iff
b4 . 0 = b1 &
(for b5 being natural set holds
b4 . (b5 + 1) = Computation((b4 . b5) +* ((while=0(b3,b2)) +* Start-At insloc 0),(LifeSpan ((b4 . b5) +* (b2 +* Start-At insloc 0))) + 3));
:: SCMFSA_9:th 25
theorem
for b1 being Element of product the Object-Kind of SCM+FSA
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCM+FSA
for b3 being read-write Int-Location
for b4 being Element of NAT holds
(StepWhile=0(b3,b2,b1)) . (b4 + 1) = (StepWhile=0(b3,b2,(StepWhile=0(b3,b2,b1)) . b4)) . 1;
:: SCMFSA_9:th 26
theorem
for b1, b2 being Relation-like Function-like set holds
(b1 +* b2) +* b2 = b1 +* b2;
:: SCMFSA_9:th 27
theorem
for b1, b2, b3 being Relation-like Function-like set
for b4 being set
st (b1 +* b2) | b4 = b3 | b4
holds (b3 +* b2) | b4 = (b1 +* b2) | b4;
:: SCMFSA_9:th 28
theorem
for b1, b2, b3 being Relation-like Function-like set
for b4 being set
st b1 | b4 = b3 | b4
holds (b3 +* b2) | b4 = (b1 +* b2) | b4;
:: SCMFSA_9:th 29
theorem
for b1, b2 being Element of product the Object-Kind of SCM+FSA
st IC b1 = IC b2 &
b1 | (Int-Locations \/ FinSeq-Locations) = b2 | (Int-Locations \/ FinSeq-Locations) &
b1 | NAT = b2 | NAT
holds b1 = b2;
:: SCMFSA_9:th 30
theorem
for b1 being finite programmed initial Element of sproduct the Object-Kind of SCM+FSA
for b2 being read-write Int-Location
for b3 being Element of product the Object-Kind of SCM+FSA holds
(StepWhile=0(b2,b1,b3)) . (0 + 1) = Computation(b3 +* ((while=0(b2,b1)) +* Start-At insloc 0),(LifeSpan (b3 +* (b1 +* Start-At insloc 0))) + 3);
:: SCMFSA_9:th 31
theorem
for b1 being finite programmed initial Element of sproduct the Object-Kind of SCM+FSA
for b2 being read-write Int-Location
for b3 being Element of product the Object-Kind of SCM+FSA
for b4, b5 being Element of 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));
:: SCMFSA_9:th 32
theorem
for b1 being finite programmed initial Element of sproduct the Object-Kind of SCM+FSA
for b2 being read-write Int-Location
for b3 being Element of product the Object-Kind of SCM+FSA
st (for b4 being natural set 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-like quasi_total Relation of product the Object-Kind of SCM+FSA,NAT st
for b5 being natural set holds
(b4 . ((StepWhile=0(b2,b1,b3)) . b5) <= b4 . ((StepWhile=0(b2,b1,b3)) . (b5 + 1)) implies 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 or 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;
:: SCMFSA_9:th 33
theorem
for b1 being finite programmed initial parahalting Element of sproduct the Object-Kind of SCM+FSA
for b2 being read-write Int-Location
for b3 being Element of product the Object-Kind of SCM+FSA
st ex b4 being Function-like quasi_total Relation of product the Object-Kind of SCM+FSA,NAT st
for b5 being natural set holds
(b4 . ((StepWhile=0(b2,b1,b3)) . b5) <= b4 . ((StepWhile=0(b2,b1,b3)) . (b5 + 1)) implies 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 or 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;
:: SCMFSA_9:th 34
theorem
for b1 being finite programmed initial parahalting Element of sproduct the Object-Kind of SCM+FSA
for b2 being read-write Int-Location
st ex b3 being Function-like quasi_total Relation of product the Object-Kind of SCM+FSA,NAT st
for b4 being Element of product the Object-Kind of SCM+FSA holds
(b3 . b4 <= b3 . ((StepWhile=0(b2,b1,b4)) . 1) implies b3 . b4 = 0) &
(b3 . b4 = 0 implies b4 . b2 <> 0) &
(b4 . b2 = 0 or b3 . b4 = 0)
holds while=0(b2,b1) is parahalting;
:: SCMFSA_9:th 35
theorem
for b1, b2 being Instruction-Location of SCM+FSA
for b3 being Int-Location holds
b1 .--> goto b2 does_not_destroy b3;
:: SCMFSA_9:th 36
theorem
for b1 being Element of the Instructions of SCM+FSA
st b1 does_not_destroy intloc 0
holds Macro b1 is good;
:: SCMFSA_9:funcreg 1
registration
let a1, a2 be finite programmed initial good Element of sproduct the Object-Kind of SCM+FSA;
let a3 be Int-Location;
cluster if=0(a3,a1,a2) -> finite programmed initial good;
end;
:: SCMFSA_9:funcreg 2
registration
let a1 be finite programmed initial good Element of sproduct the Object-Kind of SCM+FSA;
let a2 be Int-Location;
cluster while=0(a2,a1) -> finite programmed initial good;
end;
:: SCMFSA_9:th 37
theorem
for b1 being Int-Location
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCM+FSA
for b3 being Element of NAT
st b3 < 6
holds insloc b3 in proj1 while>0(b1,b2);
:: SCMFSA_9:th 38
theorem
for b1 being Int-Location
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCM+FSA
for b3 being Element of NAT
st b3 < 6
holds (card b2) + b3 in proj1 while>0(b1,b2);
:: SCMFSA_9:th 39
theorem
for b1 being Int-Location
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCM+FSA holds
(while>0(b1,b2)) . ((card b2) + 5) = halt SCM+FSA;
:: SCMFSA_9:th 40
theorem
for b1 being Int-Location
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCM+FSA holds
(while>0(b1,b2)) . insloc 3 = goto insloc ((card b2) + 5);
:: SCMFSA_9:th 41
theorem
for b1 being Int-Location
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCM+FSA holds
(while>0(b1,b2)) . insloc 2 = goto insloc 3;
:: SCMFSA_9:th 42
theorem
for b1 being Int-Location
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCM+FSA
for b3 being Element of NAT
st b3 < (card b2) + 6
holds insloc b3 in proj1 while>0(b1,b2);
:: SCMFSA_9:th 43
theorem
for b1 being Element of product the Object-Kind of SCM+FSA
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCM+FSA
for b3 being read-write Int-Location
st b1 . b3 <= 0
holds while>0(b3,b2) is_halting_on b1 & while>0(b3,b2) is_closed_on b1;
:: SCMFSA_9:th 44
theorem
for b1 being Int-Location
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCM+FSA
for b3 being Element of product the Object-Kind of SCM+FSA
for b4 being Element of NAT
st b2 is_closed_on b3 &
b2 is_halting_on b3 &
b4 < LifeSpan (b3 +* (b2 +* Start-At insloc 0)) &
IC Computation(b3 +* ((while>0(b1,b2)) +* Start-At insloc 0),1 + b4) = (IC Computation(b3 +* (b2 +* Start-At insloc 0),b4)) + 4 &
(Computation(b3 +* ((while>0(b1,b2)) +* Start-At insloc 0),1 + b4)) | (Int-Locations \/ FinSeq-Locations) = (Computation(b3 +* (b2 +* Start-At insloc 0),b4)) | (Int-Locations \/ FinSeq-Locations)
holds IC Computation(b3 +* ((while>0(b1,b2)) +* Start-At insloc 0),(1 + b4) + 1) = (IC Computation(b3 +* (b2 +* Start-At insloc 0),b4 + 1)) + 4 &
(Computation(b3 +* ((while>0(b1,b2)) +* Start-At insloc 0),(1 + b4) + 1)) | (Int-Locations \/ FinSeq-Locations) = (Computation(b3 +* (b2 +* Start-At insloc 0),b4 + 1)) | (Int-Locations \/ FinSeq-Locations);
:: SCMFSA_9:th 45
theorem
for b1 being Int-Location
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCM+FSA
for b3 being Element of product the Object-Kind of SCM+FSA
st b2 is_closed_on b3 &
b2 is_halting_on b3 &
IC Computation(b3 +* ((while>0(b1,b2)) +* Start-At insloc 0),1 + LifeSpan (b3 +* (b2 +* Start-At insloc 0))) = (IC Computation(b3 +* (b2 +* Start-At insloc 0),LifeSpan (b3 +* (b2 +* Start-At insloc 0)))) + 4
holds CurInstr Computation(b3 +* ((while>0(b1,b2)) +* Start-At insloc 0),1 + LifeSpan (b3 +* (b2 +* Start-At insloc 0))) = goto insloc ((card b2) + 4);
:: SCMFSA_9:th 46
theorem
for b1 being Int-Location
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCM+FSA holds
(while>0(b1,b2)) . insloc ((card b2) + 4) = goto insloc 0;
:: SCMFSA_9:th 47
theorem
for b1 being Element of product the Object-Kind of SCM+FSA
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCM+FSA
for b3 being read-write Int-Location
st b2 is_closed_on b1 & b2 is_halting_on b1 & 0 < b1 . b3
holds IC Computation(b1 +* ((while>0(b3,b2)) +* Start-At insloc 0),(LifeSpan (b1 +* (b2 +* Start-At insloc 0))) + 3) = insloc 0 &
(for b4 being Element of NAT
st b4 <= (LifeSpan (b1 +* (b2 +* Start-At insloc 0))) + 3
holds IC Computation(b1 +* ((while>0(b3,b2)) +* Start-At insloc 0),b4) in proj1 while>0(b3,b2));
:: SCMFSA_9:funcnot 5 => SCMFSA_9:func 5
definition
let a1 be Element of product the Object-Kind of SCM+FSA;
let a2 be finite programmed initial Element of sproduct the Object-Kind of SCM+FSA;
let a3 be read-write Int-Location;
func StepWhile>0(A3,A2,A1) -> Function-like quasi_total Relation of NAT,product the Object-Kind of SCM+FSA means
it . 0 = a1 &
(for b1 being natural set holds
it . (b1 + 1) = Computation((it . b1) +* ((while>0(a3,a2)) +* Start-At insloc 0),(LifeSpan ((it . b1) +* (a2 +* Start-At insloc 0))) + 3));
end;
:: SCMFSA_9:def 5
theorem
for b1 being Element of product the Object-Kind of SCM+FSA
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCM+FSA
for b3 being read-write Int-Location
for b4 being Function-like quasi_total Relation of NAT,product the Object-Kind of SCM+FSA holds
b4 = StepWhile>0(b3,b2,b1)
iff
b4 . 0 = b1 &
(for b5 being natural set holds
b4 . (b5 + 1) = Computation((b4 . b5) +* ((while>0(b3,b2)) +* Start-At insloc 0),(LifeSpan ((b4 . b5) +* (b2 +* Start-At insloc 0))) + 3));
:: SCMFSA_9:th 50
theorem
for b1 being Element of NAT
for b2 being Element of product the Object-Kind of SCM+FSA
for b3 being finite programmed initial Element of sproduct the Object-Kind of SCM+FSA
for b4 being read-write Int-Location holds
(StepWhile>0(b4,b3,b2)) . (b1 + 1) = (StepWhile>0(b4,b3,(StepWhile>0(b4,b3,b2)) . b1)) . 1;
:: SCMFSA_9:th 51
theorem
for b1 being finite programmed initial Element of sproduct the Object-Kind of SCM+FSA
for b2 being read-write Int-Location
for b3 being Element of product the Object-Kind of SCM+FSA holds
(StepWhile>0(b2,b1,b3)) . (0 + 1) = Computation(b3 +* ((while>0(b2,b1)) +* Start-At insloc 0),(LifeSpan (b3 +* (b1 +* Start-At insloc 0))) + 3);
:: SCMFSA_9:th 52
theorem
for b1 being finite programmed initial Element of sproduct the Object-Kind of SCM+FSA
for b2 being read-write Int-Location
for b3 being Element of product the Object-Kind of SCM+FSA
for b4, b5 being Element of 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));
:: SCMFSA_9:th 53
theorem
for b1 being finite programmed initial Element of sproduct the Object-Kind of SCM+FSA
for b2 being read-write Int-Location
for b3 being Element of product the Object-Kind of SCM+FSA
st (for b4 being natural set 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-like quasi_total Relation of product the Object-Kind of SCM+FSA,NAT st
for b5 being natural set holds
(b4 . ((StepWhile>0(b2,b1,b3)) . b5) <= b4 . ((StepWhile>0(b2,b1,b3)) . (b5 + 1)) implies 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;
:: SCMFSA_9:th 54
theorem
for b1 being finite programmed initial parahalting Element of sproduct the Object-Kind of SCM+FSA
for b2 being read-write Int-Location
for b3 being Element of product the Object-Kind of SCM+FSA
st ex b4 being Function-like quasi_total Relation of product the Object-Kind of SCM+FSA,NAT st
for b5 being natural set holds
(b4 . ((StepWhile>0(b2,b1,b3)) . b5) <= b4 . ((StepWhile>0(b2,b1,b3)) . (b5 + 1)) implies 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;
:: SCMFSA_9:th 55
theorem
for b1 being finite programmed initial parahalting Element of sproduct the Object-Kind of SCM+FSA
for b2 being read-write Int-Location
st ex b3 being Function-like quasi_total Relation of product the Object-Kind of SCM+FSA,NAT st
for b4 being Element of product the Object-Kind of SCM+FSA holds
(b3 . b4 <= b3 . ((StepWhile>0(b2,b1,b4)) . 1) implies b3 . b4 = 0) &
(b3 . b4 = 0 implies b4 . b2 <= 0) &
(b4 . b2 <= 0 implies b3 . b4 = 0)
holds while>0(b2,b1) is parahalting;
:: SCMFSA_9:funcreg 3
registration
let a1, a2 be finite programmed initial good Element of sproduct the Object-Kind of SCM+FSA;
let a3 be Int-Location;
cluster if>0(a3,a1,a2) -> finite programmed initial good;
end;
:: SCMFSA_9:funcreg 4
registration
let a1 be finite programmed initial good Element of sproduct the Object-Kind of SCM+FSA;
let a2 be Int-Location;
cluster while>0(a2,a1) -> finite programmed initial good;
end;