Article SCMPDS_3, MML version 4.99.1005
:: SCMPDS_3:th 2
theorem
for b1 being integer set
for b2, b3 being Element of product the Object-Kind of SCMPDS
st IC b2 = IC b3
holds ICplusConst(b2,b1) = ICplusConst(b3,b1);
:: SCMPDS_3:th 3
theorem
for b1 being integer set
for b2 being Int_position
for b3, b4 being Element of product the Object-Kind of SCMPDS
st b3 | SCM-Data-Loc = b4 | SCM-Data-Loc
holds b3 . DataLoc(b3 . b2,b1) = b4 . DataLoc(b4 . b2,b1);
:: SCMPDS_3:th 4
theorem
for b1 being Int_position
for b2, b3 being Element of product the Object-Kind of SCMPDS
st b2 | SCM-Data-Loc = b3 | SCM-Data-Loc
holds b2 . b1 = b3 . b1;
:: SCMPDS_3:th 5
theorem
the carrier of SCMPDS = ({IC SCMPDS} \/ SCM-Data-Loc) \/ NAT;
:: SCMPDS_3:th 6
theorem
not IC SCMPDS in SCM-Data-Loc;
:: SCMPDS_3:th 7
theorem
for b1, b2 being Element of product the Object-Kind of SCMPDS
st b1 | (SCM-Data-Loc \/ {IC SCMPDS}) = b2 | (SCM-Data-Loc \/ {IC SCMPDS})
for b3 being Element of the Instructions of SCMPDS holds
(Exec(b3,b1)) | (SCM-Data-Loc \/ {IC SCMPDS}) = (Exec(b3,b2)) | (SCM-Data-Loc \/ {IC SCMPDS});
:: SCMPDS_3:th 8
theorem
for b1 being Element of the Instructions of SCMPDS
for b2 being Element of product the Object-Kind of SCMPDS holds
(Exec(b1,b2)) | NAT = b2 | NAT;
:: SCMPDS_3:th 9
theorem
for b1 being finite Element of sproduct the Object-Kind of SCMPDS holds
DataPart b1 = b1 | SCM-Data-Loc;
:: SCMPDS_3:th 10
theorem
for b1 being finite Element of sproduct the Object-Kind of SCMPDS holds
b1 is data-only(NAT, {INT}, SCMPDS)
iff
proj1 b1 c= SCM-Data-Loc;
:: SCMPDS_3:th 11
theorem
for b1 being finite Element of sproduct the Object-Kind of SCMPDS holds
proj1 DataPart b1 c= SCM-Data-Loc;
:: SCMPDS_3:th 13
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 Element of sproduct the Object-Kind of SCMPDS holds
Exec(b1,b2 +* b3) = (Exec(b1,b2)) +* b3;
:: SCMPDS_3:th 14
theorem
for b1 being Element of product the Object-Kind of SCMPDS
for b2 being Instruction-Location of SCMPDS
for b3 being Int_position holds
b1 . b3 = (b1 +* Start-At b2) . b3;
:: SCMPDS_3:th 15
theorem
for b1, b2 being Element of product the Object-Kind of SCMPDS holds
b1 +* (b2 | SCM-Data-Loc) is Element of product the Object-Kind of SCMPDS;
:: SCMPDS_3:funcnot 1 => SCMPDS_3:func 1
definition
let a1 be Int_position;
let a2 be integer set;
redefine func a1 .--> a2 -> finite Element of sproduct the Object-Kind of SCMPDS;
end;
:: SCMPDS_3:th 16
theorem
for b1 being finite autonomic Element of sproduct the Object-Kind of SCMPDS
st DataPart b1 <> {}
holds IC SCMPDS in proj1 b1;
:: SCMPDS_3:exreg 1
registration
cluster Relation-like Function-like finite autonomic non programmed Element of sproduct the Object-Kind of SCMPDS;
end;
:: SCMPDS_3:th 17
theorem
for b1 being finite autonomic non programmed Element of sproduct the Object-Kind of SCMPDS holds
IC SCMPDS in proj1 b1;
:: SCMPDS_3:th 18
theorem
for b1, b2 being Element of product the Object-Kind of SCMPDS
for b3, b4, b5 being integer set
st IC b1 = IC b2 & b3 <> b4 & b5 = IC b1 & 0 <= b5 + b3 & 0 <= b5 + b4
holds ICplusConst(b1,b3) <> ICplusConst(b2,b4);
:: SCMPDS_3:th 19
theorem
for b1, b2 being Element of product the Object-Kind of SCMPDS
for b3, b4 being Element of NAT
st IC b1 = IC b2 & b3 <> b4
holds ICplusConst(b1,b3) <> ICplusConst(b2,b4);
:: SCMPDS_3:th 20
theorem
for b1 being Element of product the Object-Kind of SCMPDS holds
Next IC b1 = ICplusConst(b1,1);
:: SCMPDS_3:th 21
theorem
for b1 being finite autonomic Element of sproduct the Object-Kind of SCMPDS
st IC SCMPDS in proj1 b1
holds IC b1 in proj1 b1;
:: SCMPDS_3:th 22
theorem
for b1 being finite autonomic non programmed Element of sproduct the Object-Kind of SCMPDS
for b2 being Element of product the Object-Kind of SCMPDS
st b1 c= b2
for b3 being Element of NAT holds
IC Computation(b2,b3) in proj1 ProgramPart b1;
:: SCMPDS_3:th 23
theorem
for b1 being finite autonomic non programmed Element of sproduct the Object-Kind of SCMPDS
for b2, b3 being Element of product the Object-Kind of SCMPDS
st b1 c= b2 & b1 c= b3
for b4 being Element of NAT holds
IC Computation(b2,b4) = IC Computation(b3,b4) & CurInstr Computation(b2,b4) = CurInstr Computation(b3,b4);
:: SCMPDS_3:th 24
theorem
for b1 being finite autonomic non programmed Element of sproduct the Object-Kind of SCMPDS
for b2, b3 being Element of product the Object-Kind of SCMPDS
st b1 c= b2 & b1 c= b3
for b4 being Element of NAT
for b5, b6 being integer set
for b7, b8 being Int_position
st CurInstr Computation(b2,b4) = (b7,b5):=(b8,b6) &
b7 in proj1 b1 &
DataLoc((Computation(b2,b4)) . b7,b5) in proj1 b1
holds (Computation(b2,b4)) . DataLoc((Computation(b2,b4)) . b8,b6) = (Computation(b3,b4)) . DataLoc((Computation(b3,b4)) . b8,b6);
:: SCMPDS_3:th 25
theorem
for b1 being finite autonomic non programmed Element of sproduct the Object-Kind of SCMPDS
for b2, b3 being Element of product the Object-Kind of SCMPDS
st b1 c= b2 & b1 c= b3
for b4 being Element of NAT
for b5, b6 being integer set
for b7, b8 being Int_position
st CurInstr Computation(b2,b4) = AddTo(b7,b5,b8,b6) &
b7 in proj1 b1 &
DataLoc((Computation(b2,b4)) . b7,b5) in proj1 b1
holds (Computation(b2,b4)) . DataLoc((Computation(b2,b4)) . b8,b6) = (Computation(b3,b4)) . DataLoc((Computation(b3,b4)) . b8,b6);
:: SCMPDS_3:th 26
theorem
for b1 being finite autonomic non programmed Element of sproduct the Object-Kind of SCMPDS
for b2, b3 being Element of product the Object-Kind of SCMPDS
st b1 c= b2 & b1 c= b3
for b4 being Element of NAT
for b5, b6 being integer set
for b7, b8 being Int_position
st CurInstr Computation(b2,b4) = SubFrom(b7,b5,b8,b6) &
b7 in proj1 b1 &
DataLoc((Computation(b2,b4)) . b7,b5) in proj1 b1
holds (Computation(b2,b4)) . DataLoc((Computation(b2,b4)) . b8,b6) = (Computation(b3,b4)) . DataLoc((Computation(b3,b4)) . b8,b6);
:: SCMPDS_3:th 27
theorem
for b1 being finite autonomic non programmed Element of sproduct the Object-Kind of SCMPDS
for b2, b3 being Element of product the Object-Kind of SCMPDS
st b1 c= b2 & b1 c= b3
for b4 being Element of NAT
for b5, b6 being integer set
for b7, b8 being Int_position
st CurInstr Computation(b2,b4) = MultBy(b7,b5,b8,b6) &
b7 in proj1 b1 &
DataLoc((Computation(b2,b4)) . b7,b5) in proj1 b1
holds ((Computation(b2,b4)) . DataLoc((Computation(b2,b4)) . b7,b5)) * ((Computation(b2,b4)) . DataLoc((Computation(b2,b4)) . b8,b6)) = ((Computation(b3,b4)) . DataLoc((Computation(b3,b4)) . b7,b5)) * ((Computation(b3,b4)) . DataLoc((Computation(b3,b4)) . b8,b6));
:: SCMPDS_3:th 28
theorem
for b1 being finite autonomic non programmed Element of sproduct the Object-Kind of SCMPDS
for b2, b3 being Element of product the Object-Kind of SCMPDS
st b1 c= b2 & b1 c= b3
for b4, b5 being Element of NAT
for b6 being Int_position
for b7, b8 being integer set
st CurInstr Computation(b2,b4) = (b6,b7)<>0_goto b8 & b5 = IC Computation(b2,b4) & 0 <= b5 + b8 & b8 <> 1
holds (Computation(b2,b4)) . DataLoc((Computation(b2,b4)) . b6,b7) = 0
iff
(Computation(b3,b4)) . DataLoc((Computation(b3,b4)) . b6,b7) = 0;
:: SCMPDS_3:th 29
theorem
for b1 being finite autonomic non programmed Element of sproduct the Object-Kind of SCMPDS
for b2, b3 being Element of product the Object-Kind of SCMPDS
st b1 c= b2 & b1 c= b3
for b4, b5 being Element of NAT
for b6 being Int_position
for b7, b8 being integer set
st CurInstr Computation(b2,b4) = (b6,b7)<=0_goto b8 & b5 = IC Computation(b2,b4) & 0 <= b5 + b8 & b8 <> 1
holds 0 < (Computation(b2,b4)) . DataLoc((Computation(b2,b4)) . b6,b7)
iff
0 < (Computation(b3,b4)) . DataLoc((Computation(b3,b4)) . b6,b7);
:: SCMPDS_3:th 30
theorem
for b1 being finite autonomic non programmed Element of sproduct the Object-Kind of SCMPDS
for b2, b3 being Element of product the Object-Kind of SCMPDS
st b1 c= b2 & b1 c= b3
for b4, b5 being Element of NAT
for b6 being Int_position
for b7, b8 being integer set
st CurInstr Computation(b2,b4) = (b6,b7)>=0_goto b8 & b5 = IC Computation(b2,b4) & 0 <= b5 + b8 & b8 <> 1
holds (Computation(b2,b4)) . DataLoc((Computation(b2,b4)) . b6,b7) < 0
iff
(Computation(b3,b4)) . DataLoc((Computation(b3,b4)) . b6,b7) < 0;
:: SCMPDS_3:funcnot 2 => SCMPDS_3:func 2
definition
let a1 be Element of NAT;
func inspos A1 -> Instruction-Location of SCMPDS equals
a1;
end;
:: SCMPDS_3:def 2
theorem
for b1 being Element of NAT holds
inspos b1 = b1;
:: SCMPDS_3:th 34
theorem
for b1 being Instruction-Location of SCMPDS
for b2 being Element of NAT holds
(b1 + b2) -' b2 = b1;
:: SCMPDS_3:th 35
theorem
for b1, b2 being Instruction-Location of SCMPDS
for b3 being Element of NAT holds
Start-At (b1 + b3) = Start-At (b2 + b3)
iff
Start-At b1 = Start-At b2;
:: SCMPDS_3:th 36
theorem
for b1, b2 being Instruction-Location of SCMPDS
for b3 being natural set
st Start-At b1 = Start-At b2
holds Start-At (b1 -' b3) = Start-At (b2 -' b3);
:: SCMPDS_3:attrnot 1 => SCMPDS_3:attr 1
definition
let a1 be finite Element of sproduct the Object-Kind of SCMPDS;
attr a1 is initial means
for b1, b2 being Element of NAT
st b2 in proj1 a1 & b1 < b2
holds b1 in proj1 a1;
end;
:: SCMPDS_3:dfs 2
definiens
let a1 be finite Element of sproduct the Object-Kind of SCMPDS;
To prove
a1 is initial
it is sufficient to prove
thus for b1, b2 being Element of NAT
st b2 in proj1 a1 & b1 < b2
holds b1 in proj1 a1;
:: SCMPDS_3:def 5
theorem
for b1 being finite Element of sproduct the Object-Kind of SCMPDS holds
b1 is initial
iff
for b2, b3 being Element of NAT
st b3 in proj1 b1 & b2 < b3
holds b2 in proj1 b1;
:: SCMPDS_3:funcnot 3 => SCMPDS_3:func 3
definition
func SCMPDS-Stop -> finite Element of sproduct the Object-Kind of SCMPDS equals
(inspos 0) .--> halt SCMPDS;
end;
:: SCMPDS_3:def 6
theorem
SCMPDS-Stop = (inspos 0) .--> halt SCMPDS;
:: SCMPDS_3:funcreg 1
registration
cluster SCMPDS-Stop -> non empty finite programmed initial;
end;
:: SCMPDS_3:exreg 2
registration
cluster non empty Relation-like Function-like finite programmed initial Element of sproduct the Object-Kind of SCMPDS;
end;