Article SCMPDS_6, MML version 4.99.1005
:: SCMPDS_6:th 1
theorem
for b1 being Element of product the Object-Kind of SCMPDS holds
proj1 (b1 | NAT) = NAT;
:: SCMPDS_6:th 2
theorem
for b1 being Element of product the Object-Kind of SCMPDS
st b1 is halting(NAT, {INT}, SCMPDS)
for b2 being Element of NAT
st LifeSpan b1 <= b2
holds CurInstr Computation(b1,b2) = halt SCMPDS;
:: SCMPDS_6:th 3
theorem
for b1 being Element of product the Object-Kind of SCMPDS
st b1 is halting(NAT, {INT}, SCMPDS)
for b2 being Element of NAT
st LifeSpan b1 <= b2
holds IC Computation(b1,b2) = IC Computation(b1,LifeSpan b1);
:: SCMPDS_6:th 4
theorem
for b1, b2 being Element of product the Object-Kind of SCMPDS holds
b1,b2 equal_outside NAT
iff
IC b1 = IC b2 & b1 | SCM-Data-Loc = b2 | SCM-Data-Loc;
:: SCMPDS_6:th 5
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
(Initialized b1) +* Initialized b2 = b1 +* Initialized b2;
:: SCMPDS_6:th 6
theorem
for b1 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
for b2 being Instruction-Location of SCMPDS holds
b1 c= b1 +* Start-At b2;
:: SCMPDS_6:th 7
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being Instruction-Location of SCMPDS holds
b1 | SCM-Data-Loc = (b1 +* Start-At b2) | SCM-Data-Loc;
:: SCMPDS_6:th 8
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
for b3 being Instruction-Location of SCMPDS holds
b1 | SCM-Data-Loc = (b1 +* (b2 +* Start-At b3)) | SCM-Data-Loc;
:: SCMPDS_6:th 9
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
b1 | SCM-Data-Loc = (b1 +* Initialized b2) | SCM-Data-Loc;
:: SCMPDS_6:th 10
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being Instruction-Location of SCMPDS holds
proj1 (b1 | NAT) misses proj1 Start-At b2;
:: SCMPDS_6:th 11
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2, b3 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
for b4 being Instruction-Location of SCMPDS holds
b1 +* (b2 +* Start-At b4),b1 +* (b3 +* Start-At b4) equal_outside NAT;
:: SCMPDS_6:th 12
theorem
for b1, b2 being Element of product the Object-Kind of SCMPDS
for b3, b4 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
st b1 | SCM-Data-Loc = b2 | SCM-Data-Loc
holds b1 +* Initialized b3,b2 +* Initialized b4 equal_outside NAT;
:: SCMPDS_6:th 14
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2, b3 being Instruction-Location of SCMPDS holds
(b1 +* Start-At b2) +* Start-At b3 = b1 +* Start-At b3;
:: SCMPDS_6:th 15
theorem
for b1 being Element of the Instructions of SCMPDS
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
card (b1 ';' b2) = (card b2) + 1;
:: SCMPDS_6:th 16
theorem
for b1 being Element of the Instructions of SCMPDS
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
(b1 ';' b2) . inspos 0 = b1;
:: SCMPDS_6:th 17
theorem
for b1 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
b1 c= Initialized stop b1;
:: SCMPDS_6:th 18
theorem
for b1 being Instruction-Location of SCMPDS
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
st b1 in proj1 b2
holds b1 in proj1 stop b2;
:: SCMPDS_6:th 19
theorem
for b1 being Instruction-Location of SCMPDS
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
st b1 in proj1 b2
holds (stop b2) . b1 = b2 . b1;
:: SCMPDS_6:th 20
theorem
for b1 being Instruction-Location of SCMPDS
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
st b1 in proj1 b2
holds (Initialized stop b2) . b1 = b2 . b1;
:: SCMPDS_6:th 21
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
IC (b1 +* Initialized b2) = inspos 0;
:: SCMPDS_6:th 22
theorem
for b1 being Element of the Instructions of SCMPDS
for b2 being Element of product the Object-Kind of SCMPDS
for b3 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
CurInstr (b2 +* Initialized stop (b1 ';' b3)) = b1;
:: SCMPDS_6:th 23
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2, b3 being Element of NAT
st IC b1 = inspos b2
holds ICplusConst(b1,b3) = inspos (b2 + b3);
:: SCMPDS_6:th 24
theorem
for b1, b2 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
Shift(stop b2,card b1) c= stop (b1 ';' b2);
:: SCMPDS_6:th 25
theorem
for b1 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
inspos card b1 in proj1 stop b1 &
(stop b1) . inspos card b1 = halt SCMPDS;
:: SCMPDS_6:th 26
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2, b3 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
for b4, b5 being Instruction-Location of SCMPDS holds
(IExec(b2,b1)) . b4 = ((IExec(b3,b1)) +* Start-At b5) . b4;
:: SCMPDS_6:th 27
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
for b3, b4 being Instruction-Location of SCMPDS holds
(IExec(b2,b1)) . b3 = (b1 +* Start-At b4) . b3;
:: SCMPDS_6:th 28
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being No-StopCode parahalting Element of the Instructions of SCMPDS
for b3 being finite programmed initial parahalting shiftable Element of sproduct the Object-Kind of SCMPDS
for b4 being Int_position holds
(IExec(b2 ';' b3,b1)) . b4 = (IExec(b3,Exec(b2,Initialized b1))) . b4;
:: SCMPDS_6:th 29
theorem
for b1 being Int_position
for b2, b3 being integer set holds
(b1,b2)<>0_goto b3 <> halt SCMPDS;
:: SCMPDS_6:th 30
theorem
for b1 being Int_position
for b2, b3 being integer set holds
(b1,b2)<=0_goto b3 <> halt SCMPDS;
:: SCMPDS_6:th 31
theorem
for b1 being Int_position
for b2, b3 being integer set holds
(b1,b2)>=0_goto b3 <> halt SCMPDS;
:: SCMPDS_6:funcnot 1 => SCMPDS_6:func 1
definition
let a1 be integer set;
func Goto A1 -> finite programmed initial Element of sproduct the Object-Kind of SCMPDS equals
Load goto a1;
end;
:: SCMPDS_6:def 1
theorem
for b1 being integer set holds
Goto b1 = Load goto b1;
:: SCMPDS_6:funcreg 1
registration
let a1 be Element of NAT;
cluster goto (a1 + 1) -> No-StopCode;
end;
:: SCMPDS_6:funcreg 2
registration
let a1 be Element of NAT;
cluster goto - (a1 + 1) -> No-StopCode;
end;
:: SCMPDS_6:funcreg 3
registration
let a1 be Element of NAT;
cluster Goto (a1 + 1) -> finite programmed initial No-StopCode;
end;
:: SCMPDS_6:funcreg 4
registration
let a1 be Element of NAT;
cluster Goto - (a1 + 1) -> finite programmed initial No-StopCode;
end;
:: SCMPDS_6:th 33
theorem
for b1 being integer set holds
inspos 0 in proj1 Goto b1 &
(Goto b1) . inspos 0 = goto b1;
:: SCMPDS_6:prednot 1 => SCMPDS_6:pred 1
definition
let a1 be finite programmed initial Element of sproduct the Object-Kind of SCMPDS;
let a2 be Element of product the Object-Kind of SCMPDS;
pred A1 is_closed_on A2 means
for b1 being Element of NAT holds
IC Computation(a2 +* Initialized stop a1,b1) in proj1 stop a1;
end;
:: SCMPDS_6:dfs 2
definiens
let a1 be finite programmed initial Element of sproduct the Object-Kind of SCMPDS;
let a2 be Element of product the Object-Kind of SCMPDS;
To prove
a1 is_closed_on a2
it is sufficient to prove
thus for b1 being Element of NAT holds
IC Computation(a2 +* Initialized stop a1,b1) in proj1 stop a1;
:: SCMPDS_6:def 2
theorem
for b1 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
for b2 being Element of product the Object-Kind of SCMPDS holds
b1 is_closed_on b2
iff
for b3 being Element of NAT holds
IC Computation(b2 +* Initialized stop b1,b3) in proj1 stop b1;
:: SCMPDS_6:prednot 2 => SCMPDS_6:pred 2
definition
let a1 be finite programmed initial Element of sproduct the Object-Kind of SCMPDS;
let a2 be Element of product the Object-Kind of SCMPDS;
pred A1 is_halting_on A2 means
a2 +* Initialized stop a1 is halting(NAT, {INT}, SCMPDS);
end;
:: SCMPDS_6:dfs 3
definiens
let a1 be finite programmed initial Element of sproduct the Object-Kind of SCMPDS;
let a2 be Element of product the Object-Kind of SCMPDS;
To prove
a1 is_halting_on a2
it is sufficient to prove
thus a2 +* Initialized stop a1 is halting(NAT, {INT}, SCMPDS);
:: SCMPDS_6:def 3
theorem
for b1 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
for b2 being Element of product the Object-Kind of SCMPDS holds
b1 is_halting_on b2
iff
b2 +* Initialized stop b1 is halting(NAT, {INT}, SCMPDS);
:: SCMPDS_6:th 34
theorem
for b1 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
b1 is paraclosed
iff
for b2 being Element of product the Object-Kind of SCMPDS holds
b1 is_closed_on b2;
:: SCMPDS_6:th 35
theorem
for b1 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
b1 is parahalting
iff
for b2 being Element of product the Object-Kind of SCMPDS holds
b1 is_halting_on b2;
:: SCMPDS_6:th 36
theorem
for b1, b2 being Element of product the Object-Kind of SCMPDS
for b3 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
st b1 | SCM-Data-Loc = b2 | SCM-Data-Loc & b3 is_closed_on b1
holds b3 is_closed_on b2;
:: SCMPDS_6:th 37
theorem
for b1, b2 being Element of product the Object-Kind of SCMPDS
for b3 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
st b1 | SCM-Data-Loc = b2 | SCM-Data-Loc & b3 is_closed_on b1 & b3 is_halting_on b1
holds b3 is_closed_on b2 & b3 is_halting_on b2;
:: SCMPDS_6:th 38
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2, b3 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
b2 is_closed_on b1
iff
b2 is_closed_on b1 +* Initialized b3;
:: SCMPDS_6:th 39
theorem
for b1, b2 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
for b3 being Element of product the Object-Kind of SCMPDS
st b1 is_closed_on b3 & b1 is_halting_on b3
holds (for b4 being Element of NAT
st b4 <= LifeSpan (b3 +* Initialized stop b1)
holds IC Computation(b3 +* Initialized stop b1,b4) = IC Computation(b3 +* Initialized stop (b1 ';' b2),b4)) &
(Computation(b3 +* Initialized stop b1,LifeSpan (b3 +* Initialized stop b1))) | SCM-Data-Loc = (Computation(b3 +* Initialized stop (b1 ';' b2),LifeSpan (b3 +* Initialized stop b1))) | SCM-Data-Loc;
:: SCMPDS_6:th 40
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
for b3 being Element of NAT
st b2 is_closed_on b1 &
b2 is_halting_on b1 &
b3 < LifeSpan (b1 +* Initialized stop b2)
holds IC Computation(b1 +* Initialized stop b2,b3) in proj1 b2;
:: SCMPDS_6:th 41
theorem
for b1, b2 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
for b3 being Element of product the Object-Kind of SCMPDS
for b4 being Element of NAT
st b1 is_closed_on b3 &
b1 is_halting_on b3 &
b4 < LifeSpan (b3 +* Initialized stop b1)
holds CurInstr Computation(b3 +* Initialized stop b1,b4) = CurInstr Computation(b3 +* Initialized stop (b1 ';' b2),b4);
:: SCMPDS_6:th 42
theorem
for b1 being finite programmed initial No-StopCode Element of sproduct the Object-Kind of SCMPDS
for b2 being Element of product the Object-Kind of SCMPDS
for b3 being Element of NAT
st b1 is_closed_on b2 &
b1 is_halting_on b2 &
b3 < LifeSpan (b2 +* Initialized stop b1)
holds CurInstr Computation(b2 +* Initialized stop b1,b3) <> halt SCMPDS;
:: SCMPDS_6:th 43
theorem
for b1 being finite programmed initial No-StopCode Element of sproduct the Object-Kind of SCMPDS
for b2 being Element of product the Object-Kind of SCMPDS
st b1 is_closed_on b2 & b1 is_halting_on b2
holds IC Computation(b2 +* Initialized stop b1,LifeSpan (b2 +* Initialized stop b1)) = inspos card b1;
:: SCMPDS_6:th 44
theorem
for b1, b2 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
for b3 being Element of product the Object-Kind of SCMPDS
st b1 is_closed_on b3 & b1 is_halting_on b3
holds (b1 ';' Goto ((card b2) + 1)) ';' b2 is_halting_on b3 &
(b1 ';' Goto ((card b2) + 1)) ';' b2 is_closed_on b3;
:: SCMPDS_6:th 45
theorem
for b1, b2 being Element of product the Object-Kind of SCMPDS
for b3 being finite programmed initial shiftable Element of sproduct the Object-Kind of SCMPDS
st Initialized stop b3 c= b1 & b3 is_closed_on b1
for b4 being Element of NAT
st Shift(stop b3,b4) c= b2 & IC b2 = inspos b4 & b1 | SCM-Data-Loc = b2 | SCM-Data-Loc
for b5 being Element of NAT holds
(IC Computation(b1,b5)) + b4 = IC Computation(b2,b5) &
CurInstr Computation(b1,b5) = CurInstr Computation(b2,b5) &
(Computation(b1,b5)) | SCM-Data-Loc = (Computation(b2,b5)) | SCM-Data-Loc;
:: SCMPDS_6:th 46
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial No-StopCode Element of sproduct the Object-Kind of SCMPDS
for b3 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
st b2 is_closed_on b1 & b2 is_halting_on b1
holds IC IExec((b2 ';' Goto ((card b3) + 1)) ';' b3,b1) = inspos (((card b2) + card b3) + 1);
:: SCMPDS_6:th 47
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial No-StopCode Element of sproduct the Object-Kind of SCMPDS
for b3 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
st b2 is_closed_on b1 & b2 is_halting_on b1
holds IExec((b2 ';' Goto ((card b3) + 1)) ';' b3,b1) = (IExec(b2,b1)) +* Start-At inspos (((card b2) + card b3) + 1);
:: SCMPDS_6:th 48
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial No-StopCode Element of sproduct the Object-Kind of SCMPDS
st b2 is_closed_on b1 & b2 is_halting_on b1
holds IC IExec(b2,b1) = inspos card b2;
:: SCMPDS_6:funcnot 2 => SCMPDS_6:func 2
definition
let a1 be Int_position;
let a2 be integer set;
let a3, a4 be finite programmed initial Element of sproduct the Object-Kind of SCMPDS;
func if=0(A1,A2,A3,A4) -> finite programmed initial Element of sproduct the Object-Kind of SCMPDS equals
((((a1,a2)<>0_goto ((card a3) + 2)) ';' a3) ';' Goto ((card a4) + 1)) ';' a4;
end;
:: SCMPDS_6:def 4
theorem
for b1 being Int_position
for b2 being integer set
for b3, b4 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
if=0(b1,b2,b3,b4) = ((((b1,b2)<>0_goto ((card b3) + 2)) ';' b3) ';' Goto ((card b4) + 1)) ';' b4;
:: SCMPDS_6:funcnot 3 => SCMPDS_6:func 3
definition
let a1 be Int_position;
let a2 be integer set;
let a3, a4 be finite programmed initial Element of sproduct the Object-Kind of SCMPDS;
func if>0(A1,A2,A3,A4) -> finite programmed initial Element of sproduct the Object-Kind of SCMPDS equals
((((a1,a2)<=0_goto ((card a3) + 2)) ';' a3) ';' Goto ((card a4) + 1)) ';' a4;
end;
:: SCMPDS_6:def 5
theorem
for b1 being Int_position
for b2 being integer set
for b3, b4 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
if>0(b1,b2,b3,b4) = ((((b1,b2)<=0_goto ((card b3) + 2)) ';' b3) ';' Goto ((card b4) + 1)) ';' b4;
:: SCMPDS_6:funcnot 4 => SCMPDS_6:func 4
definition
let a1 be Int_position;
let a2 be integer set;
let a3, a4 be finite programmed initial Element of sproduct the Object-Kind of SCMPDS;
func if<0(A1,A2,A3,A4) -> finite programmed initial Element of sproduct the Object-Kind of SCMPDS equals
((((a1,a2)>=0_goto ((card a3) + 2)) ';' a3) ';' Goto ((card a4) + 1)) ';' a4;
end;
:: SCMPDS_6:def 6
theorem
for b1 being Int_position
for b2 being integer set
for b3, b4 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
if<0(b1,b2,b3,b4) = ((((b1,b2)>=0_goto ((card b3) + 2)) ';' b3) ';' Goto ((card b4) + 1)) ';' b4;
:: SCMPDS_6:funcnot 5 => SCMPDS_6:func 5
definition
let a1 be Int_position;
let a2 be integer set;
let a3 be finite programmed initial Element of sproduct the Object-Kind of SCMPDS;
func if=0(A1,A2,A3) -> finite programmed initial Element of sproduct the Object-Kind of SCMPDS equals
((a1,a2)<>0_goto ((card a3) + 1)) ';' a3;
end;
:: SCMPDS_6:def 7
theorem
for b1 being Int_position
for b2 being integer set
for b3 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
if=0(b1,b2,b3) = ((b1,b2)<>0_goto ((card b3) + 1)) ';' b3;
:: SCMPDS_6:funcnot 6 => SCMPDS_6:func 6
definition
let a1 be Int_position;
let a2 be integer set;
let a3 be finite programmed initial Element of sproduct the Object-Kind of SCMPDS;
func if<>0(A1,A2,A3) -> finite programmed initial Element of sproduct the Object-Kind of SCMPDS equals
(((a1,a2)<>0_goto 2) ';' goto ((card a3) + 1)) ';' a3;
end;
:: SCMPDS_6:def 8
theorem
for b1 being Int_position
for b2 being integer set
for b3 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
if<>0(b1,b2,b3) = (((b1,b2)<>0_goto 2) ';' goto ((card b3) + 1)) ';' b3;
:: SCMPDS_6:funcnot 7 => SCMPDS_6:func 7
definition
let a1 be Int_position;
let a2 be integer set;
let a3 be finite programmed initial Element of sproduct the Object-Kind of SCMPDS;
func if>0(A1,A2,A3) -> finite programmed initial Element of sproduct the Object-Kind of SCMPDS equals
((a1,a2)<=0_goto ((card a3) + 1)) ';' a3;
end;
:: SCMPDS_6:def 9
theorem
for b1 being Int_position
for b2 being integer set
for b3 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
if>0(b1,b2,b3) = ((b1,b2)<=0_goto ((card b3) + 1)) ';' b3;
:: SCMPDS_6:funcnot 8 => SCMPDS_6:func 8
definition
let a1 be Int_position;
let a2 be integer set;
let a3 be finite programmed initial Element of sproduct the Object-Kind of SCMPDS;
func if<=0(A1,A2,A3) -> finite programmed initial Element of sproduct the Object-Kind of SCMPDS equals
(((a1,a2)<=0_goto 2) ';' goto ((card a3) + 1)) ';' a3;
end;
:: SCMPDS_6:def 10
theorem
for b1 being Int_position
for b2 being integer set
for b3 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
if<=0(b1,b2,b3) = (((b1,b2)<=0_goto 2) ';' goto ((card b3) + 1)) ';' b3;
:: SCMPDS_6:funcnot 9 => SCMPDS_6:func 9
definition
let a1 be Int_position;
let a2 be integer set;
let a3 be finite programmed initial Element of sproduct the Object-Kind of SCMPDS;
func if<0(A1,A2,A3) -> finite programmed initial Element of sproduct the Object-Kind of SCMPDS equals
((a1,a2)>=0_goto ((card a3) + 1)) ';' a3;
end;
:: SCMPDS_6:def 11
theorem
for b1 being Int_position
for b2 being integer set
for b3 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
if<0(b1,b2,b3) = ((b1,b2)>=0_goto ((card b3) + 1)) ';' b3;
:: SCMPDS_6:funcnot 10 => SCMPDS_6:func 10
definition
let a1 be Int_position;
let a2 be integer set;
let a3 be finite programmed initial Element of sproduct the Object-Kind of SCMPDS;
func if>=0(A1,A2,A3) -> finite programmed initial Element of sproduct the Object-Kind of SCMPDS equals
(((a1,a2)>=0_goto 2) ';' goto ((card a3) + 1)) ';' a3;
end;
:: SCMPDS_6:def 12
theorem
for b1 being Int_position
for b2 being integer set
for b3 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
if>=0(b1,b2,b3) = (((b1,b2)>=0_goto 2) ';' goto ((card b3) + 1)) ';' b3;
:: SCMPDS_6:th 49
theorem
for b1 being Int_position
for b2 being integer set
for b3, b4 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
card if=0(b1,b2,b3,b4) = ((card b3) + card b4) + 2;
:: SCMPDS_6:th 50
theorem
for b1 being Int_position
for b2 being integer set
for b3, b4 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
inspos 0 in proj1 if=0(b1,b2,b3,b4) & inspos 1 in proj1 if=0(b1,b2,b3,b4);
:: SCMPDS_6:th 51
theorem
for b1 being Int_position
for b2 being integer set
for b3, b4 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
(if=0(b1,b2,b3,b4)) . inspos 0 = (b1,b2)<>0_goto ((card b3) + 2);
:: SCMPDS_6:th 52
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2, b3 being finite programmed initial shiftable Element of sproduct the Object-Kind of SCMPDS
for b4 being Int_position
for b5 being integer set
st b1 . DataLoc(b1 . b4,b5) = 0 & b2 is_closed_on b1 & b2 is_halting_on b1
holds if=0(b4,b5,b2,b3) is_closed_on b1 & if=0(b4,b5,b2,b3) is_halting_on b1;
:: SCMPDS_6:th 53
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
for b3 being finite programmed initial shiftable Element of sproduct the Object-Kind of SCMPDS
for b4 being Int_position
for b5 being integer set
st b1 . DataLoc(b1 . b4,b5) <> 0 &
b3 is_closed_on b1 &
b3 is_halting_on b1
holds if=0(b4,b5,b2,b3) is_closed_on b1 & if=0(b4,b5,b2,b3) is_halting_on b1;
:: SCMPDS_6:th 54
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial shiftable No-StopCode Element of sproduct the Object-Kind of SCMPDS
for b3 being finite programmed initial shiftable Element of sproduct the Object-Kind of SCMPDS
for b4 being Int_position
for b5 being integer set
st b1 . DataLoc(b1 . b4,b5) = 0 & b2 is_closed_on b1 & b2 is_halting_on b1
holds IExec(if=0(b4,b5,b2,b3),b1) = (IExec(b2,b1)) +* Start-At inspos (((card b2) + card b3) + 2);
:: SCMPDS_6:th 55
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
for b3 being finite programmed initial shiftable No-StopCode Element of sproduct the Object-Kind of SCMPDS
for b4 being Int_position
for b5 being integer set
st b1 . DataLoc(b1 . b4,b5) <> 0 &
b3 is_closed_on b1 &
b3 is_halting_on b1
holds IExec(if=0(b4,b5,b2,b3),b1) = (IExec(b3,b1)) +* Start-At inspos (((card b2) + card b3) + 2);
:: SCMPDS_6:funcreg 5
registration
let a1, a2 be finite programmed initial parahalting shiftable Element of sproduct the Object-Kind of SCMPDS;
let a3 be Int_position;
let a4 be integer set;
cluster if=0(a3,a4,a1,a2) -> finite programmed initial parahalting shiftable;
end;
:: SCMPDS_6:funcreg 6
registration
let a1, a2 be finite programmed initial No-StopCode Element of sproduct the Object-Kind of SCMPDS;
let a3 be Int_position;
let a4 be integer set;
cluster if=0(a3,a4,a1,a2) -> finite programmed initial No-StopCode;
end;
:: SCMPDS_6:th 56
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2, b3 being finite programmed initial parahalting shiftable No-StopCode Element of sproduct the Object-Kind of SCMPDS
for b4 being Int_position
for b5 being integer set holds
IC IExec(if=0(b4,b5,b2,b3),b1) = inspos (((card b2) + card b3) + 2);
:: SCMPDS_6:th 57
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial parahalting shiftable No-StopCode Element of sproduct the Object-Kind of SCMPDS
for b3 being finite programmed initial shiftable Element of sproduct the Object-Kind of SCMPDS
for b4, b5 being Int_position
for b6 being integer set
st b1 . DataLoc(b1 . b4,b6) = 0
holds (IExec(if=0(b4,b6,b2,b3),b1)) . b5 = (IExec(b2,b1)) . b5;
:: SCMPDS_6:th 58
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
for b3 being finite programmed initial parahalting shiftable No-StopCode Element of sproduct the Object-Kind of SCMPDS
for b4, b5 being Int_position
for b6 being integer set
st b1 . DataLoc(b1 . b4,b6) <> 0
holds (IExec(if=0(b4,b6,b2,b3),b1)) . b5 = (IExec(b3,b1)) . b5;
:: SCMPDS_6:th 59
theorem
for b1 being Int_position
for b2 being integer set
for b3 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
card if=0(b1,b2,b3) = (card b3) + 1;
:: SCMPDS_6:th 60
theorem
for b1 being Int_position
for b2 being integer set
for b3 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
inspos 0 in proj1 if=0(b1,b2,b3);
:: SCMPDS_6:th 61
theorem
for b1 being Int_position
for b2 being integer set
for b3 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
(if=0(b1,b2,b3)) . inspos 0 = (b1,b2)<>0_goto ((card b3) + 1);
:: SCMPDS_6:th 62
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial shiftable Element of sproduct the Object-Kind of SCMPDS
for b3 being Int_position
for b4 being integer set
st b1 . DataLoc(b1 . b3,b4) = 0 & b2 is_closed_on b1 & b2 is_halting_on b1
holds if=0(b3,b4,b2) is_closed_on b1 & if=0(b3,b4,b2) is_halting_on b1;
:: SCMPDS_6:th 63
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
for b3 being Int_position
for b4 being integer set
st b1 . DataLoc(b1 . b3,b4) <> 0
holds if=0(b3,b4,b2) is_closed_on b1 & if=0(b3,b4,b2) is_halting_on b1;
:: SCMPDS_6:th 64
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial shiftable No-StopCode Element of sproduct the Object-Kind of SCMPDS
for b3 being Int_position
for b4 being integer set
st b1 . DataLoc(b1 . b3,b4) = 0 & b2 is_closed_on b1 & b2 is_halting_on b1
holds IExec(if=0(b3,b4,b2),b1) = (IExec(b2,b1)) +* Start-At inspos ((card b2) + 1);
:: SCMPDS_6:th 65
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
for b3 being Int_position
for b4 being integer set
st b1 . DataLoc(b1 . b3,b4) <> 0
holds IExec(if=0(b3,b4,b2),b1) = b1 +* Start-At inspos ((card b2) + 1);
:: SCMPDS_6:funcreg 7
registration
let a1 be finite programmed initial parahalting shiftable Element of sproduct the Object-Kind of SCMPDS;
let a2 be Int_position;
let a3 be integer set;
cluster if=0(a2,a3,a1) -> finite programmed initial parahalting shiftable;
end;
:: SCMPDS_6:funcreg 8
registration
let a1 be finite programmed initial No-StopCode Element of sproduct the Object-Kind of SCMPDS;
let a2 be Int_position;
let a3 be integer set;
cluster if=0(a2,a3,a1) -> finite programmed initial No-StopCode;
end;
:: SCMPDS_6:th 66
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial parahalting shiftable No-StopCode Element of sproduct the Object-Kind of SCMPDS
for b3 being Int_position
for b4 being integer set holds
IC IExec(if=0(b3,b4,b2),b1) = inspos ((card b2) + 1);
:: SCMPDS_6:th 67
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial parahalting shiftable No-StopCode Element of sproduct the Object-Kind of SCMPDS
for b3, b4 being Int_position
for b5 being integer set
st b1 . DataLoc(b1 . b3,b5) = 0
holds (IExec(if=0(b3,b5,b2),b1)) . b4 = (IExec(b2,b1)) . b4;
:: SCMPDS_6:th 68
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
for b3, b4 being Int_position
for b5 being integer set
st b1 . DataLoc(b1 . b3,b5) <> 0
holds (IExec(if=0(b3,b5,b2),b1)) . b4 = b1 . b4;
:: SCMPDS_6:th 69
theorem
for b1 being Int_position
for b2 being integer set
for b3 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
card if<>0(b1,b2,b3) = (card b3) + 2;
:: SCMPDS_6:th 70
theorem
for b1 being Int_position
for b2 being integer set
for b3 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
inspos 0 in proj1 if<>0(b1,b2,b3) & inspos 1 in proj1 if<>0(b1,b2,b3);
:: SCMPDS_6:th 71
theorem
for b1 being Int_position
for b2 being integer set
for b3 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
(if<>0(b1,b2,b3)) . inspos 0 = (b1,b2)<>0_goto 2 &
(if<>0(b1,b2,b3)) . inspos 1 = goto ((card b3) + 1);
:: SCMPDS_6:th 72
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial shiftable Element of sproduct the Object-Kind of SCMPDS
for b3 being Int_position
for b4 being integer set
st b1 . DataLoc(b1 . b3,b4) <> 0 &
b2 is_closed_on b1 &
b2 is_halting_on b1
holds if<>0(b3,b4,b2) is_closed_on b1 & if<>0(b3,b4,b2) is_halting_on b1;
:: SCMPDS_6:th 73
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
for b3 being Int_position
for b4 being integer set
st b1 . DataLoc(b1 . b3,b4) = 0
holds if<>0(b3,b4,b2) is_closed_on b1 & if<>0(b3,b4,b2) is_halting_on b1;
:: SCMPDS_6:th 74
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial shiftable No-StopCode Element of sproduct the Object-Kind of SCMPDS
for b3 being Int_position
for b4 being integer set
st b1 . DataLoc(b1 . b3,b4) <> 0 &
b2 is_closed_on b1 &
b2 is_halting_on b1
holds IExec(if<>0(b3,b4,b2),b1) = (IExec(b2,b1)) +* Start-At inspos ((card b2) + 2);
:: SCMPDS_6:th 75
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
for b3 being Int_position
for b4 being integer set
st b1 . DataLoc(b1 . b3,b4) = 0
holds IExec(if<>0(b3,b4,b2),b1) = b1 +* Start-At inspos ((card b2) + 2);
:: SCMPDS_6:funcreg 9
registration
let a1 be finite programmed initial parahalting shiftable Element of sproduct the Object-Kind of SCMPDS;
let a2 be Int_position;
let a3 be integer set;
cluster if<>0(a2,a3,a1) -> finite programmed initial parahalting shiftable;
end;
:: SCMPDS_6:funcreg 10
registration
let a1 be finite programmed initial No-StopCode Element of sproduct the Object-Kind of SCMPDS;
let a2 be Int_position;
let a3 be integer set;
cluster if<>0(a2,a3,a1) -> finite programmed initial No-StopCode;
end;
:: SCMPDS_6:th 76
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial parahalting shiftable No-StopCode Element of sproduct the Object-Kind of SCMPDS
for b3 being Int_position
for b4 being integer set holds
IC IExec(if<>0(b3,b4,b2),b1) = inspos ((card b2) + 2);
:: SCMPDS_6:th 77
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial parahalting shiftable No-StopCode Element of sproduct the Object-Kind of SCMPDS
for b3, b4 being Int_position
for b5 being integer set
st b1 . DataLoc(b1 . b3,b5) <> 0
holds (IExec(if<>0(b3,b5,b2),b1)) . b4 = (IExec(b2,b1)) . b4;
:: SCMPDS_6:th 78
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
for b3, b4 being Int_position
for b5 being integer set
st b1 . DataLoc(b1 . b3,b5) = 0
holds (IExec(if<>0(b3,b5,b2),b1)) . b4 = b1 . b4;
:: SCMPDS_6:th 79
theorem
for b1 being Int_position
for b2 being integer set
for b3, b4 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
card if>0(b1,b2,b3,b4) = ((card b3) + card b4) + 2;
:: SCMPDS_6:th 80
theorem
for b1 being Int_position
for b2 being integer set
for b3, b4 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
inspos 0 in proj1 if>0(b1,b2,b3,b4) & inspos 1 in proj1 if>0(b1,b2,b3,b4);
:: SCMPDS_6:th 81
theorem
for b1 being Int_position
for b2 being integer set
for b3, b4 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
(if>0(b1,b2,b3,b4)) . inspos 0 = (b1,b2)<=0_goto ((card b3) + 2);
:: SCMPDS_6:th 82
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2, b3 being finite programmed initial shiftable Element of sproduct the Object-Kind of SCMPDS
for b4 being Int_position
for b5 being integer set
st 0 < b1 . DataLoc(b1 . b4,b5) &
b2 is_closed_on b1 &
b2 is_halting_on b1
holds if>0(b4,b5,b2,b3) is_closed_on b1 & if>0(b4,b5,b2,b3) is_halting_on b1;
:: SCMPDS_6:th 83
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
for b3 being finite programmed initial shiftable Element of sproduct the Object-Kind of SCMPDS
for b4 being Int_position
for b5 being integer set
st b1 . DataLoc(b1 . b4,b5) <= 0 & b3 is_closed_on b1 & b3 is_halting_on b1
holds if>0(b4,b5,b2,b3) is_closed_on b1 & if>0(b4,b5,b2,b3) is_halting_on b1;
:: SCMPDS_6:th 84
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial shiftable No-StopCode Element of sproduct the Object-Kind of SCMPDS
for b3 being finite programmed initial shiftable Element of sproduct the Object-Kind of SCMPDS
for b4 being Int_position
for b5 being integer set
st 0 < b1 . DataLoc(b1 . b4,b5) &
b2 is_closed_on b1 &
b2 is_halting_on b1
holds IExec(if>0(b4,b5,b2,b3),b1) = (IExec(b2,b1)) +* Start-At inspos (((card b2) + card b3) + 2);
:: SCMPDS_6:th 85
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
for b3 being finite programmed initial shiftable No-StopCode Element of sproduct the Object-Kind of SCMPDS
for b4 being Int_position
for b5 being integer set
st b1 . DataLoc(b1 . b4,b5) <= 0 & b3 is_closed_on b1 & b3 is_halting_on b1
holds IExec(if>0(b4,b5,b2,b3),b1) = (IExec(b3,b1)) +* Start-At inspos (((card b2) + card b3) + 2);
:: SCMPDS_6:funcreg 11
registration
let a1, a2 be finite programmed initial parahalting shiftable Element of sproduct the Object-Kind of SCMPDS;
let a3 be Int_position;
let a4 be integer set;
cluster if>0(a3,a4,a1,a2) -> finite programmed initial parahalting shiftable;
end;
:: SCMPDS_6:funcreg 12
registration
let a1, a2 be finite programmed initial No-StopCode Element of sproduct the Object-Kind of SCMPDS;
let a3 be Int_position;
let a4 be integer set;
cluster if>0(a3,a4,a1,a2) -> finite programmed initial No-StopCode;
end;
:: SCMPDS_6:th 86
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2, b3 being finite programmed initial parahalting shiftable No-StopCode Element of sproduct the Object-Kind of SCMPDS
for b4 being Int_position
for b5 being integer set holds
IC IExec(if>0(b4,b5,b2,b3),b1) = inspos (((card b2) + card b3) + 2);
:: SCMPDS_6:th 87
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial parahalting shiftable No-StopCode Element of sproduct the Object-Kind of SCMPDS
for b3 being finite programmed initial shiftable Element of sproduct the Object-Kind of SCMPDS
for b4, b5 being Int_position
for b6 being integer set
st 0 < b1 . DataLoc(b1 . b4,b6)
holds (IExec(if>0(b4,b6,b2,b3),b1)) . b5 = (IExec(b2,b1)) . b5;
:: SCMPDS_6:th 88
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
for b3 being finite programmed initial parahalting shiftable No-StopCode Element of sproduct the Object-Kind of SCMPDS
for b4, b5 being Int_position
for b6 being integer set
st b1 . DataLoc(b1 . b4,b6) <= 0
holds (IExec(if>0(b4,b6,b2,b3),b1)) . b5 = (IExec(b3,b1)) . b5;
:: SCMPDS_6:th 89
theorem
for b1 being Int_position
for b2 being integer set
for b3 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
card if>0(b1,b2,b3) = (card b3) + 1;
:: SCMPDS_6:th 90
theorem
for b1 being Int_position
for b2 being integer set
for b3 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
inspos 0 in proj1 if>0(b1,b2,b3);
:: SCMPDS_6:th 91
theorem
for b1 being Int_position
for b2 being integer set
for b3 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
(if>0(b1,b2,b3)) . inspos 0 = (b1,b2)<=0_goto ((card b3) + 1);
:: SCMPDS_6:th 92
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial shiftable Element of sproduct the Object-Kind of SCMPDS
for b3 being Int_position
for b4 being integer set
st 0 < b1 . DataLoc(b1 . b3,b4) &
b2 is_closed_on b1 &
b2 is_halting_on b1
holds if>0(b3,b4,b2) is_closed_on b1 & if>0(b3,b4,b2) is_halting_on b1;
:: SCMPDS_6:th 93
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
for b3 being Int_position
for b4 being integer set
st b1 . DataLoc(b1 . b3,b4) <= 0
holds if>0(b3,b4,b2) is_closed_on b1 & if>0(b3,b4,b2) is_halting_on b1;
:: SCMPDS_6:th 94
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial shiftable No-StopCode Element of sproduct the Object-Kind of SCMPDS
for b3 being Int_position
for b4 being integer set
st 0 < b1 . DataLoc(b1 . b3,b4) &
b2 is_closed_on b1 &
b2 is_halting_on b1
holds IExec(if>0(b3,b4,b2),b1) = (IExec(b2,b1)) +* Start-At inspos ((card b2) + 1);
:: SCMPDS_6:th 95
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
for b3 being Int_position
for b4 being integer set
st b1 . DataLoc(b1 . b3,b4) <= 0
holds IExec(if>0(b3,b4,b2),b1) = b1 +* Start-At inspos ((card b2) + 1);
:: SCMPDS_6:funcreg 13
registration
let a1 be finite programmed initial parahalting shiftable Element of sproduct the Object-Kind of SCMPDS;
let a2 be Int_position;
let a3 be integer set;
cluster if>0(a2,a3,a1) -> finite programmed initial parahalting shiftable;
end;
:: SCMPDS_6:funcreg 14
registration
let a1 be finite programmed initial No-StopCode Element of sproduct the Object-Kind of SCMPDS;
let a2 be Int_position;
let a3 be integer set;
cluster if>0(a2,a3,a1) -> finite programmed initial No-StopCode;
end;
:: SCMPDS_6:th 96
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial parahalting shiftable No-StopCode Element of sproduct the Object-Kind of SCMPDS
for b3 being Int_position
for b4 being integer set holds
IC IExec(if>0(b3,b4,b2),b1) = inspos ((card b2) + 1);
:: SCMPDS_6:th 97
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial parahalting shiftable No-StopCode Element of sproduct the Object-Kind of SCMPDS
for b3, b4 being Int_position
for b5 being integer set
st 0 < b1 . DataLoc(b1 . b3,b5)
holds (IExec(if>0(b3,b5,b2),b1)) . b4 = (IExec(b2,b1)) . b4;
:: SCMPDS_6:th 98
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
for b3, b4 being Int_position
for b5 being integer set
st b1 . DataLoc(b1 . b3,b5) <= 0
holds (IExec(if>0(b3,b5,b2),b1)) . b4 = b1 . b4;
:: SCMPDS_6:th 99
theorem
for b1 being Int_position
for b2 being integer set
for b3 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
card if<=0(b1,b2,b3) = (card b3) + 2;
:: SCMPDS_6:th 100
theorem
for b1 being Int_position
for b2 being integer set
for b3 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
inspos 0 in proj1 if<=0(b1,b2,b3) & inspos 1 in proj1 if<=0(b1,b2,b3);
:: SCMPDS_6:th 101
theorem
for b1 being Int_position
for b2 being integer set
for b3 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
(if<=0(b1,b2,b3)) . inspos 0 = (b1,b2)<=0_goto 2 &
(if<=0(b1,b2,b3)) . inspos 1 = goto ((card b3) + 1);
:: SCMPDS_6:th 102
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial shiftable Element of sproduct the Object-Kind of SCMPDS
for b3 being Int_position
for b4 being integer set
st b1 . DataLoc(b1 . b3,b4) <= 0 & b2 is_closed_on b1 & b2 is_halting_on b1
holds if<=0(b3,b4,b2) is_closed_on b1 & if<=0(b3,b4,b2) is_halting_on b1;
:: SCMPDS_6:th 103
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
for b3 being Int_position
for b4 being integer set
st 0 < b1 . DataLoc(b1 . b3,b4)
holds if<=0(b3,b4,b2) is_closed_on b1 & if<=0(b3,b4,b2) is_halting_on b1;
:: SCMPDS_6:th 104
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial shiftable No-StopCode Element of sproduct the Object-Kind of SCMPDS
for b3 being Int_position
for b4 being integer set
st b1 . DataLoc(b1 . b3,b4) <= 0 & b2 is_closed_on b1 & b2 is_halting_on b1
holds IExec(if<=0(b3,b4,b2),b1) = (IExec(b2,b1)) +* Start-At inspos ((card b2) + 2);
:: SCMPDS_6:th 105
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
for b3 being Int_position
for b4 being integer set
st 0 < b1 . DataLoc(b1 . b3,b4)
holds IExec(if<=0(b3,b4,b2),b1) = b1 +* Start-At inspos ((card b2) + 2);
:: SCMPDS_6:funcreg 15
registration
let a1 be finite programmed initial parahalting shiftable Element of sproduct the Object-Kind of SCMPDS;
let a2 be Int_position;
let a3 be integer set;
cluster if<=0(a2,a3,a1) -> finite programmed initial parahalting shiftable;
end;
:: SCMPDS_6:funcreg 16
registration
let a1 be finite programmed initial No-StopCode Element of sproduct the Object-Kind of SCMPDS;
let a2 be Int_position;
let a3 be integer set;
cluster if<=0(a2,a3,a1) -> finite programmed initial No-StopCode;
end;
:: SCMPDS_6:th 106
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial parahalting shiftable No-StopCode Element of sproduct the Object-Kind of SCMPDS
for b3 being Int_position
for b4 being integer set holds
IC IExec(if<=0(b3,b4,b2),b1) = inspos ((card b2) + 2);
:: SCMPDS_6:th 107
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial parahalting shiftable No-StopCode Element of sproduct the Object-Kind of SCMPDS
for b3, b4 being Int_position
for b5 being integer set
st b1 . DataLoc(b1 . b3,b5) <= 0
holds (IExec(if<=0(b3,b5,b2),b1)) . b4 = (IExec(b2,b1)) . b4;
:: SCMPDS_6:th 108
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
for b3, b4 being Int_position
for b5 being integer set
st 0 < b1 . DataLoc(b1 . b3,b5)
holds (IExec(if<=0(b3,b5,b2),b1)) . b4 = b1 . b4;
:: SCMPDS_6:th 109
theorem
for b1 being Int_position
for b2 being integer set
for b3, b4 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
card if<0(b1,b2,b3,b4) = ((card b3) + card b4) + 2;
:: SCMPDS_6:th 110
theorem
for b1 being Int_position
for b2 being integer set
for b3, b4 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
inspos 0 in proj1 if<0(b1,b2,b3,b4) & inspos 1 in proj1 if<0(b1,b2,b3,b4);
:: SCMPDS_6:th 111
theorem
for b1 being Int_position
for b2 being integer set
for b3, b4 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
(if<0(b1,b2,b3,b4)) . inspos 0 = (b1,b2)>=0_goto ((card b3) + 2);
:: SCMPDS_6:th 112
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2, b3 being finite programmed initial shiftable Element of sproduct the Object-Kind of SCMPDS
for b4 being Int_position
for b5 being integer set
st b1 . DataLoc(b1 . b4,b5) < 0 &
b2 is_closed_on b1 &
b2 is_halting_on b1
holds if<0(b4,b5,b2,b3) is_closed_on b1 & if<0(b4,b5,b2,b3) is_halting_on b1;
:: SCMPDS_6:th 113
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
for b3 being finite programmed initial shiftable Element of sproduct the Object-Kind of SCMPDS
for b4 being Int_position
for b5 being integer set
st 0 <= b1 . DataLoc(b1 . b4,b5) & b3 is_closed_on b1 & b3 is_halting_on b1
holds if<0(b4,b5,b2,b3) is_closed_on b1 & if<0(b4,b5,b2,b3) is_halting_on b1;
:: SCMPDS_6:th 114
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial shiftable No-StopCode Element of sproduct the Object-Kind of SCMPDS
for b3 being finite programmed initial shiftable Element of sproduct the Object-Kind of SCMPDS
for b4 being Int_position
for b5 being integer set
st b1 . DataLoc(b1 . b4,b5) < 0 &
b2 is_closed_on b1 &
b2 is_halting_on b1
holds IExec(if<0(b4,b5,b2,b3),b1) = (IExec(b2,b1)) +* Start-At inspos (((card b2) + card b3) + 2);
:: SCMPDS_6:th 115
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
for b3 being finite programmed initial shiftable No-StopCode Element of sproduct the Object-Kind of SCMPDS
for b4 being Int_position
for b5 being integer set
st 0 <= b1 . DataLoc(b1 . b4,b5) & b3 is_closed_on b1 & b3 is_halting_on b1
holds IExec(if<0(b4,b5,b2,b3),b1) = (IExec(b3,b1)) +* Start-At inspos (((card b2) + card b3) + 2);
:: SCMPDS_6:funcreg 17
registration
let a1, a2 be finite programmed initial parahalting shiftable Element of sproduct the Object-Kind of SCMPDS;
let a3 be Int_position;
let a4 be integer set;
cluster if<0(a3,a4,a1,a2) -> finite programmed initial parahalting shiftable;
end;
:: SCMPDS_6:funcreg 18
registration
let a1, a2 be finite programmed initial No-StopCode Element of sproduct the Object-Kind of SCMPDS;
let a3 be Int_position;
let a4 be integer set;
cluster if<0(a3,a4,a1,a2) -> finite programmed initial No-StopCode;
end;
:: SCMPDS_6:th 116
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2, b3 being finite programmed initial parahalting shiftable No-StopCode Element of sproduct the Object-Kind of SCMPDS
for b4 being Int_position
for b5 being integer set holds
IC IExec(if<0(b4,b5,b2,b3),b1) = inspos (((card b2) + card b3) + 2);
:: SCMPDS_6:th 117
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial parahalting shiftable No-StopCode Element of sproduct the Object-Kind of SCMPDS
for b3 being finite programmed initial shiftable Element of sproduct the Object-Kind of SCMPDS
for b4, b5 being Int_position
for b6 being integer set
st b1 . DataLoc(b1 . b4,b6) < 0
holds (IExec(if<0(b4,b6,b2,b3),b1)) . b5 = (IExec(b2,b1)) . b5;
:: SCMPDS_6:th 118
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
for b3 being finite programmed initial parahalting shiftable No-StopCode Element of sproduct the Object-Kind of SCMPDS
for b4, b5 being Int_position
for b6 being integer set
st 0 <= b1 . DataLoc(b1 . b4,b6)
holds (IExec(if<0(b4,b6,b2,b3),b1)) . b5 = (IExec(b3,b1)) . b5;
:: SCMPDS_6:th 119
theorem
for b1 being Int_position
for b2 being integer set
for b3 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
card if<0(b1,b2,b3) = (card b3) + 1;
:: SCMPDS_6:th 120
theorem
for b1 being Int_position
for b2 being integer set
for b3 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
inspos 0 in proj1 if<0(b1,b2,b3);
:: SCMPDS_6:th 121
theorem
for b1 being Int_position
for b2 being integer set
for b3 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
(if<0(b1,b2,b3)) . inspos 0 = (b1,b2)>=0_goto ((card b3) + 1);
:: SCMPDS_6:th 122
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial shiftable Element of sproduct the Object-Kind of SCMPDS
for b3 being Int_position
for b4 being integer set
st b1 . DataLoc(b1 . b3,b4) < 0 &
b2 is_closed_on b1 &
b2 is_halting_on b1
holds if<0(b3,b4,b2) is_closed_on b1 & if<0(b3,b4,b2) is_halting_on b1;
:: SCMPDS_6:th 123
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
for b3 being Int_position
for b4 being integer set
st 0 <= b1 . DataLoc(b1 . b3,b4)
holds if<0(b3,b4,b2) is_closed_on b1 & if<0(b3,b4,b2) is_halting_on b1;
:: SCMPDS_6:th 124
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial shiftable No-StopCode Element of sproduct the Object-Kind of SCMPDS
for b3 being Int_position
for b4 being integer set
st b1 . DataLoc(b1 . b3,b4) < 0 &
b2 is_closed_on b1 &
b2 is_halting_on b1
holds IExec(if<0(b3,b4,b2),b1) = (IExec(b2,b1)) +* Start-At inspos ((card b2) + 1);
:: SCMPDS_6:th 125
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
for b3 being Int_position
for b4 being integer set
st 0 <= b1 . DataLoc(b1 . b3,b4)
holds IExec(if<0(b3,b4,b2),b1) = b1 +* Start-At inspos ((card b2) + 1);
:: SCMPDS_6:funcreg 19
registration
let a1 be finite programmed initial parahalting shiftable Element of sproduct the Object-Kind of SCMPDS;
let a2 be Int_position;
let a3 be integer set;
cluster if<0(a2,a3,a1) -> finite programmed initial parahalting shiftable;
end;
:: SCMPDS_6:funcreg 20
registration
let a1 be finite programmed initial No-StopCode Element of sproduct the Object-Kind of SCMPDS;
let a2 be Int_position;
let a3 be integer set;
cluster if<0(a2,a3,a1) -> finite programmed initial No-StopCode;
end;
:: SCMPDS_6:th 126
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial parahalting shiftable No-StopCode Element of sproduct the Object-Kind of SCMPDS
for b3 being Int_position
for b4 being integer set holds
IC IExec(if<0(b3,b4,b2),b1) = inspos ((card b2) + 1);
:: SCMPDS_6:th 127
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial parahalting shiftable No-StopCode Element of sproduct the Object-Kind of SCMPDS
for b3, b4 being Int_position
for b5 being integer set
st b1 . DataLoc(b1 . b3,b5) < 0
holds (IExec(if<0(b3,b5,b2),b1)) . b4 = (IExec(b2,b1)) . b4;
:: SCMPDS_6:th 128
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
for b3, b4 being Int_position
for b5 being integer set
st 0 <= b1 . DataLoc(b1 . b3,b5)
holds (IExec(if<0(b3,b5,b2),b1)) . b4 = b1 . b4;
:: SCMPDS_6:th 129
theorem
for b1 being Int_position
for b2 being integer set
for b3 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
card if>=0(b1,b2,b3) = (card b3) + 2;
:: SCMPDS_6:th 130
theorem
for b1 being Int_position
for b2 being integer set
for b3 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
inspos 0 in proj1 if>=0(b1,b2,b3) & inspos 1 in proj1 if>=0(b1,b2,b3);
:: SCMPDS_6:th 131
theorem
for b1 being Int_position
for b2 being integer set
for b3 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS holds
(if>=0(b1,b2,b3)) . inspos 0 = (b1,b2)>=0_goto 2 &
(if>=0(b1,b2,b3)) . inspos 1 = goto ((card b3) + 1);
:: SCMPDS_6:th 132
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial shiftable Element of sproduct the Object-Kind of SCMPDS
for b3 being Int_position
for b4 being integer set
st 0 <= b1 . DataLoc(b1 . b3,b4) & b2 is_closed_on b1 & b2 is_halting_on b1
holds if>=0(b3,b4,b2) is_closed_on b1 & if>=0(b3,b4,b2) is_halting_on b1;
:: SCMPDS_6:th 133
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
for b3 being Int_position
for b4 being integer set
st b1 . DataLoc(b1 . b3,b4) < 0
holds if>=0(b3,b4,b2) is_closed_on b1 & if>=0(b3,b4,b2) is_halting_on b1;
:: SCMPDS_6:th 134
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial shiftable No-StopCode Element of sproduct the Object-Kind of SCMPDS
for b3 being Int_position
for b4 being integer set
st 0 <= b1 . DataLoc(b1 . b3,b4) & b2 is_closed_on b1 & b2 is_halting_on b1
holds IExec(if>=0(b3,b4,b2),b1) = (IExec(b2,b1)) +* Start-At inspos ((card b2) + 2);
:: SCMPDS_6:th 135
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
for b3 being Int_position
for b4 being integer set
st b1 . DataLoc(b1 . b3,b4) < 0
holds IExec(if>=0(b3,b4,b2),b1) = b1 +* Start-At inspos ((card b2) + 2);
:: SCMPDS_6:funcreg 21
registration
let a1 be finite programmed initial parahalting shiftable Element of sproduct the Object-Kind of SCMPDS;
let a2 be Int_position;
let a3 be integer set;
cluster if>=0(a2,a3,a1) -> finite programmed initial parahalting shiftable;
end;
:: SCMPDS_6:funcreg 22
registration
let a1 be finite programmed initial No-StopCode Element of sproduct the Object-Kind of SCMPDS;
let a2 be Int_position;
let a3 be integer set;
cluster if>=0(a2,a3,a1) -> finite programmed initial No-StopCode;
end;
:: SCMPDS_6:th 136
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial parahalting shiftable No-StopCode Element of sproduct the Object-Kind of SCMPDS
for b3 being Int_position
for b4 being integer set holds
IC IExec(if>=0(b3,b4,b2),b1) = inspos ((card b2) + 2);
:: SCMPDS_6:th 137
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial parahalting shiftable No-StopCode Element of sproduct the Object-Kind of SCMPDS
for b3, b4 being Int_position
for b5 being integer set
st 0 <= b1 . DataLoc(b1 . b3,b5)
holds (IExec(if>=0(b3,b5,b2),b1)) . b4 = (IExec(b2,b1)) . b4;
:: SCMPDS_6:th 138
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being finite programmed initial Element of sproduct the Object-Kind of SCMPDS
for b3, b4 being Int_position
for b5 being integer set
st b1 . DataLoc(b1 . b3,b5) < 0
holds (IExec(if>=0(b3,b5,b2),b1)) . b4 = b1 . b4;