Article SCMPDS_9, MML version 4.99.1005
:: SCMPDS_9:th 1
theorem
for b1 being real set holds
0 <= b1 + abs b1;
:: SCMPDS_9:th 2
theorem
for b1 being real set holds
0 <= (- b1) + abs b1;
:: SCMPDS_9:th 3
theorem
for b1, b2 being real set
st abs b1 = abs b2 & b1 <> b2
holds b1 = - b2;
:: SCMPDS_9:th 4
theorem
for b1, b2 being natural set
st b1 < b2 & b1 <> 0
holds b1 / b2 is not integer;
:: SCMPDS_9:th 5
theorem
{b1 where b1 is Element of NAT: 1 < b1} is infinite;
:: SCMPDS_9:funcnot 1 => SCMPDS_9:func 1
definition
let a1, a2 be Int_position;
let a3, a4 be integer set;
redefine func (a1,a2)-->(a3,a4) -> finite Element of sproduct the Object-Kind of SCMPDS;
end;
:: SCMPDS_9:funcnot 2 => SCMPDS_9:func 2
definition
let a1 be Instruction-Location of SCMPDS;
func locnum A1 -> natural set means
il. it = a1;
end;
:: SCMPDS_9:def 1
theorem
for b1 being Instruction-Location of SCMPDS
for b2 being natural set holds
b2 = locnum b1
iff
il. b2 = b1;
:: SCMPDS_9:funcnot 3 => SCMPDS_9:func 3
definition
let a1 be Instruction-Location of SCMPDS;
redefine func locnum a1 -> Element of NAT;
end;
:: SCMPDS_9:th 8
theorem
for b1 being Instruction-Location of SCMPDS holds
b1 = locnum b1;
:: SCMPDS_9:th 9
theorem
for b1, b2 being Instruction-Location of SCMPDS
st b1 <> b2
holds locnum b1 <> locnum b2;
:: SCMPDS_9:th 11
theorem
for b1 being non empty set
for b2 being with_non-empty_elements set
for b3 being non empty stored-program IC-Ins-separated definite AMI-Struct over b1,b2
for b4 being Element of the Instructions of b3
for b5 being Instruction-Location of b3 holds
JUMP b4 c= NIC(b4,b5);
:: SCMPDS_9:th 12
theorem
for b1 being Element of the Instructions of SCMPDS
for b2 being Instruction-Location of SCMPDS
st for b3 being Element of product the Object-Kind of SCMPDS
st IC b3 = b2 & b3 . b2 = b1
holds (Exec(b1,b3)) . IC SCMPDS = succ IC b3
holds NIC(b1,b2) = {succ b2};
:: SCMPDS_9:th 13
theorem
for b1 being Element of the Instructions of SCMPDS
st for b2 being Instruction-Location of SCMPDS holds
NIC(b1,b2) = {succ b2}
holds JUMP b1 is empty;
:: SCMPDS_9:th 14
theorem
for b1 being Instruction-Location of SCMPDS
for b2 being integer set holds
NIC(goto b2,b1) = {abs (b2 + locnum b1)};
:: SCMPDS_9:th 15
theorem
for b1 being Int_position
for b2 being Instruction-Location of SCMPDS holds
NIC(return b1,b2) = {b3 where b3 is Element of NAT: 1 < b3};
:: SCMPDS_9:th 16
theorem
for b1 being Int_position
for b2 being Instruction-Location of SCMPDS
for b3 being integer set holds
NIC(saveIC(b1,b3),b2) = {succ b2};
:: SCMPDS_9:th 17
theorem
for b1 being Int_position
for b2 being Instruction-Location of SCMPDS
for b3 being integer set holds
NIC(b1 := b3,b2) = {succ b2};
:: SCMPDS_9:th 18
theorem
for b1 being Int_position
for b2 being Instruction-Location of SCMPDS
for b3, b4 being integer set holds
NIC((b1,b3):= b4,b2) = {succ b2};
:: SCMPDS_9:th 19
theorem
for b1, b2 being Int_position
for b3 being Instruction-Location of SCMPDS
for b4, b5 being integer set holds
NIC((b1,b4):=(b2,b5),b3) = {succ b3};
:: SCMPDS_9:th 20
theorem
for b1 being Int_position
for b2 being Instruction-Location of SCMPDS
for b3, b4 being integer set holds
NIC(AddTo(b1,b3,b4),b2) = {succ b2};
:: SCMPDS_9:th 21
theorem
for b1, b2 being Int_position
for b3 being Instruction-Location of SCMPDS
for b4, b5 being integer set holds
NIC(AddTo(b1,b4,b2,b5),b3) = {succ b3};
:: SCMPDS_9:th 22
theorem
for b1, b2 being Int_position
for b3 being Instruction-Location of SCMPDS
for b4, b5 being integer set holds
NIC(SubFrom(b1,b4,b2,b5),b3) = {succ b3};
:: SCMPDS_9:th 23
theorem
for b1, b2 being Int_position
for b3 being Instruction-Location of SCMPDS
for b4, b5 being integer set holds
NIC(MultBy(b1,b4,b2,b5),b3) = {succ b3};
:: SCMPDS_9:th 24
theorem
for b1, b2 being Int_position
for b3 being Instruction-Location of SCMPDS
for b4, b5 being integer set holds
NIC(Divide(b1,b4,b2,b5),b3) = {succ b3};
:: SCMPDS_9:th 25
theorem
for b1 being Int_position
for b2 being Instruction-Location of SCMPDS
for b3, b4 being integer set holds
NIC((b1,b3)<>0_goto b4,b2) = {succ b2,abs (b4 + locnum b2)};
:: SCMPDS_9:th 26
theorem
for b1 being Int_position
for b2 being Instruction-Location of SCMPDS
for b3, b4 being integer set holds
NIC((b1,b3)<=0_goto b4,b2) = {succ b2,abs (b4 + locnum b2)};
:: SCMPDS_9:th 27
theorem
for b1 being Int_position
for b2 being Instruction-Location of SCMPDS
for b3, b4 being integer set holds
NIC((b1,b3)>=0_goto b4,b2) = {succ b2,abs (b4 + locnum b2)};
:: SCMPDS_9:funcreg 1
registration
let a1 be integer set;
cluster JUMP goto a1 -> empty;
end;
:: SCMPDS_9:th 28
theorem
for b1 being Int_position holds
JUMP return b1 = {b2 where b2 is Element of NAT: 1 < b2};
:: SCMPDS_9:funcreg 2
registration
let a1 be Int_position;
cluster JUMP return a1 -> infinite;
end;
:: SCMPDS_9:funcreg 3
registration
let a1 be Int_position;
let a2 be integer set;
cluster JUMP saveIC(a1,a2) -> empty;
end;
:: SCMPDS_9:funcreg 4
registration
let a1 be Int_position;
let a2 be integer set;
cluster JUMP (a1 := a2) -> empty;
end;
:: SCMPDS_9:funcreg 5
registration
let a1 be Int_position;
let a2, a3 be integer set;
cluster JUMP ((a1,a2):= a3) -> empty;
end;
:: SCMPDS_9:funcreg 6
registration
let a1, a2 be Int_position;
let a3, a4 be integer set;
cluster JUMP ((a1,a3):=(a2,a4)) -> empty;
end;
:: SCMPDS_9:funcreg 7
registration
let a1 be Int_position;
let a2, a3 be integer set;
cluster JUMP AddTo(a1,a2,a3) -> empty;
end;
:: SCMPDS_9:funcreg 8
registration
let a1, a2 be Int_position;
let a3, a4 be integer set;
cluster JUMP AddTo(a1,a3,a2,a4) -> empty;
end;
:: SCMPDS_9:funcreg 9
registration
let a1, a2 be Int_position;
let a3, a4 be integer set;
cluster JUMP SubFrom(a1,a3,a2,a4) -> empty;
end;
:: SCMPDS_9:funcreg 10
registration
let a1, a2 be Int_position;
let a3, a4 be integer set;
cluster JUMP MultBy(a1,a3,a2,a4) -> empty;
end;
:: SCMPDS_9:funcreg 11
registration
let a1, a2 be Int_position;
let a3, a4 be integer set;
cluster JUMP Divide(a1,a3,a2,a4) -> empty;
end;
:: SCMPDS_9:funcreg 12
registration
let a1 be Int_position;
let a2, a3 be integer set;
cluster JUMP ((a1,a2)<>0_goto a3) -> empty;
end;
:: SCMPDS_9:funcreg 13
registration
let a1 be Int_position;
let a2, a3 be integer set;
cluster JUMP ((a1,a2)<=0_goto a3) -> empty;
end;
:: SCMPDS_9:funcreg 14
registration
let a1 be Int_position;
let a2, a3 be integer set;
cluster JUMP ((a1,a2)>=0_goto a3) -> empty;
end;
:: SCMPDS_9:th 29
theorem
for b1 being Instruction-Location of SCMPDS holds
SUCC b1 = NAT;
:: SCMPDS_9:th 30
theorem
for b1 being non empty set
for b2 being with_non-empty_elements set
for b3 being non empty stored-program IC-Ins-separated definite AMI-Struct over b1,b2
for b4, b5 being Instruction-Location of b3
st SUCC b4 = b1
holds b4 <= b5;
:: SCMPDS_9:funcreg 15
registration
cluster SCMPDS -> strict non InsLoc-antisymmetric;
end;
:: SCMPDS_9:funcreg 16
registration
cluster SCMPDS -> strict non standard;
end;