Article SCMFSA_3, MML version 4.99.1005
:: SCMFSA_3:th 1
theorem
not IC SCM+FSA in Int-Locations;
:: SCMFSA_3:th 2
theorem
not IC SCM+FSA in FinSeq-Locations;
:: SCMFSA_3:th 3
theorem
for b1 being Element of the Instructions of SCM+FSA
for b2 being Element of the Instructions of SCM
st b1 = b2
for b3 being Element of product the Object-Kind of SCM+FSA
for b4 being Element of product the Object-Kind of SCM
st b4 = (b3 | the carrier of SCM) +* (NAT --> b2)
holds Exec(b1,b3) = (b3 +* Exec(b2,b4)) +* (b3 | NAT);
:: SCMFSA_3:th 4
theorem
for b1, b2 being Element of product the Object-Kind of SCM+FSA
st b1 | ((Int-Locations \/ FinSeq-Locations) \/ {IC SCM+FSA}) = b2 | ((Int-Locations \/ FinSeq-Locations) \/ {IC SCM+FSA})
for b3 being Element of the Instructions of SCM+FSA holds
(Exec(b3,b1)) | ((Int-Locations \/ FinSeq-Locations) \/ {IC SCM+FSA}) = (Exec(b3,b2)) | ((Int-Locations \/ FinSeq-Locations) \/ {IC SCM+FSA});
:: SCMFSA_3:th 6
theorem
for b1 being finite Element of sproduct the Object-Kind of SCM+FSA holds
DataPart b1 = b1 | (Int-Locations \/ FinSeq-Locations);
:: SCMFSA_3:th 7
theorem
for b1 being finite Element of sproduct the Object-Kind of SCM+FSA holds
b1 is data-only(NAT, {INT,INT *}, SCM+FSA)
iff
proj1 b1 c= Int-Locations \/ FinSeq-Locations;
:: SCMFSA_3:th 8
theorem
for b1 being finite Element of sproduct the Object-Kind of SCM+FSA holds
proj1 DataPart b1 c= Int-Locations \/ FinSeq-Locations;
:: SCMFSA_3:th 10
theorem
for b1 being Element of the Instructions of SCM+FSA
for b2 being Element of product the Object-Kind of SCM+FSA
for b3 being finite programmed Element of sproduct the Object-Kind of SCM+FSA holds
Exec(b1,b2 +* b3) = (Exec(b1,b2)) +* b3;
:: SCMFSA_3:th 11
theorem
for b1 being Element of product the Object-Kind of SCM+FSA
for b2 being Instruction-Location of SCM+FSA
for b3 being Int-Location holds
b1 . b3 = (b1 +* Start-At b2) . b3;
:: SCMFSA_3:th 12
theorem
for b1 being Element of product the Object-Kind of SCM+FSA
for b2 being Instruction-Location of SCM+FSA
for b3 being FinSeq-Location holds
b1 . b3 = (b1 +* Start-At b2) . b3;
:: SCMFSA_3:th 13
theorem
for b1, b2 being Element of product the Object-Kind of SCM+FSA holds
b1 +* (b2 | (Int-Locations \/ FinSeq-Locations)) is Element of product the Object-Kind of SCM+FSA;
:: SCMFSA_3:funcnot 1 => SCMFSA_3:func 1
definition
let a1 be Int-Location;
let a2 be integer set;
redefine func a1 .--> a2 -> finite Element of sproduct the Object-Kind of SCM+FSA;
end;
:: SCMFSA_3:th 14
theorem
for b1 being finite autonomic Element of sproduct the Object-Kind of SCM+FSA
st DataPart b1 <> {}
holds IC SCM+FSA in proj1 b1;
:: SCMFSA_3:exreg 1
registration
cluster Relation-like Function-like finite autonomic non programmed Element of sproduct the Object-Kind of SCM+FSA;
end;
:: SCMFSA_3:th 15
theorem
for b1 being finite autonomic non programmed Element of sproduct the Object-Kind of SCM+FSA holds
IC SCM+FSA in proj1 b1;
:: SCMFSA_3:th 16
theorem
for b1 being finite autonomic Element of sproduct the Object-Kind of SCM+FSA
st IC SCM+FSA in proj1 b1
holds IC b1 in proj1 b1;
:: SCMFSA_3:th 17
theorem
for b1 being finite autonomic non programmed Element of sproduct the Object-Kind of SCM+FSA
for b2 being Element of product the Object-Kind of SCM+FSA
st b1 c= b2
for b3 being Element of NAT holds
IC Computation(b2,b3) in proj1 ProgramPart b1;
:: SCMFSA_3:th 18
theorem
for b1 being finite autonomic non programmed Element of sproduct the Object-Kind of SCM+FSA
for b2, b3 being Element of product the Object-Kind of SCM+FSA
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);
:: SCMFSA_3:th 19
theorem
for b1 being finite autonomic non programmed Element of sproduct the Object-Kind of SCM+FSA
for b2, b3 being Element of product the Object-Kind of SCM+FSA
st b1 c= b2 & b1 c= b3
for b4 being Element of NAT
for b5, b6 being Int-Location
st CurInstr Computation(b2,b4) = b5 := b6 & b5 in proj1 b1
holds (Computation(b2,b4)) . b6 = (Computation(b3,b4)) . b6;
:: SCMFSA_3:th 20
theorem
for b1 being finite autonomic non programmed Element of sproduct the Object-Kind of SCM+FSA
for b2, b3 being Element of product the Object-Kind of SCM+FSA
st b1 c= b2 & b1 c= b3
for b4 being Element of NAT
for b5, b6 being Int-Location
st CurInstr Computation(b2,b4) = AddTo(b5,b6) & b5 in proj1 b1
holds ((Computation(b2,b4)) . b5) + ((Computation(b2,b4)) . b6) = ((Computation(b3,b4)) . b5) + ((Computation(b3,b4)) . b6);
:: SCMFSA_3:th 21
theorem
for b1 being finite autonomic non programmed Element of sproduct the Object-Kind of SCM+FSA
for b2, b3 being Element of product the Object-Kind of SCM+FSA
st b1 c= b2 & b1 c= b3
for b4 being Element of NAT
for b5, b6 being Int-Location
st CurInstr Computation(b2,b4) = SubFrom(b5,b6) & b5 in proj1 b1
holds ((Computation(b2,b4)) . b5) - ((Computation(b2,b4)) . b6) = ((Computation(b3,b4)) . b5) - ((Computation(b3,b4)) . b6);
:: SCMFSA_3:th 22
theorem
for b1 being finite autonomic non programmed Element of sproduct the Object-Kind of SCM+FSA
for b2, b3 being Element of product the Object-Kind of SCM+FSA
st b1 c= b2 & b1 c= b3
for b4 being Element of NAT
for b5, b6 being Int-Location
st CurInstr Computation(b2,b4) = MultBy(b5,b6) & b5 in proj1 b1
holds ((Computation(b2,b4)) . b5) * ((Computation(b2,b4)) . b6) = ((Computation(b3,b4)) . b5) * ((Computation(b3,b4)) . b6);
:: SCMFSA_3:th 23
theorem
for b1 being finite autonomic non programmed Element of sproduct the Object-Kind of SCM+FSA
for b2, b3 being Element of product the Object-Kind of SCM+FSA
st b1 c= b2 & b1 c= b3
for b4 being Element of NAT
for b5, b6 being Int-Location
st CurInstr Computation(b2,b4) = Divide(b5,b6) & b5 in proj1 b1 & b5 <> b6
holds ((Computation(b2,b4)) . b5) div ((Computation(b2,b4)) . b6) = ((Computation(b3,b4)) . b5) div ((Computation(b3,b4)) . b6);
:: SCMFSA_3:th 24
theorem
for b1 being finite autonomic non programmed Element of sproduct the Object-Kind of SCM+FSA
for b2, b3 being Element of product the Object-Kind of SCM+FSA
st b1 c= b2 & b1 c= b3
for b4 being Element of NAT
for b5, b6 being Int-Location
st CurInstr Computation(b2,b4) = Divide(b5,b6) & b6 in proj1 b1 & b5 <> b6
holds ((Computation(b2,b4)) . b5) mod ((Computation(b2,b4)) . b6) = ((Computation(b3,b4)) . b5) mod ((Computation(b3,b4)) . b6);
:: SCMFSA_3:th 25
theorem
for b1 being finite autonomic non programmed Element of sproduct the Object-Kind of SCM+FSA
for b2, b3 being Element of product the Object-Kind of SCM+FSA
st b1 c= b2 & b1 c= b3
for b4 being Element of NAT
for b5 being Int-Location
for b6 being Instruction-Location of SCM+FSA
st CurInstr Computation(b2,b4) = b5 =0_goto b6 & b6 <> Next IC Computation(b2,b4)
holds (Computation(b2,b4)) . b5 = 0
iff
(Computation(b3,b4)) . b5 = 0;
:: SCMFSA_3:th 26
theorem
for b1 being finite autonomic non programmed Element of sproduct the Object-Kind of SCM+FSA
for b2, b3 being Element of product the Object-Kind of SCM+FSA
st b1 c= b2 & b1 c= b3
for b4 being Element of NAT
for b5 being Int-Location
for b6 being Instruction-Location of SCM+FSA
st CurInstr Computation(b2,b4) = b5 >0_goto b6 & b6 <> Next IC Computation(b2,b4)
holds 0 < (Computation(b2,b4)) . b5
iff
0 < (Computation(b3,b4)) . b5;
:: SCMFSA_3:th 27
theorem
for b1 being finite autonomic non programmed Element of sproduct the Object-Kind of SCM+FSA
for b2, b3 being Element of product the Object-Kind of SCM+FSA
st b1 c= b2 & b1 c= b3
for b4 being Element of NAT
for b5, b6 being Int-Location
for b7 being FinSeq-Location
st CurInstr Computation(b2,b4) = b5 :=(b7,b6) & b5 in proj1 b1
for b8, b9 being Element of NAT
st b8 = abs ((Computation(b2,b4)) . b6) & b9 = abs ((Computation(b3,b4)) . b6)
holds ((Computation(b2,b4)) . b7) /. b8 = ((Computation(b3,b4)) . b7) /. b9;
:: SCMFSA_3:th 28
theorem
for b1 being finite autonomic non programmed Element of sproduct the Object-Kind of SCM+FSA
for b2, b3 being Element of product the Object-Kind of SCM+FSA
st b1 c= b2 & b1 c= b3
for b4 being Element of NAT
for b5, b6 being Int-Location
for b7 being FinSeq-Location
st CurInstr Computation(b2,b4) = (b7,b6):= b5 & b7 in proj1 b1
for b8, b9 being Element of NAT
st b8 = abs ((Computation(b2,b4)) . b6) & b9 = abs ((Computation(b3,b4)) . b6)
holds ((Computation(b2,b4)) . b7) +*(b8,(Computation(b2,b4)) . b5) = ((Computation(b3,b4)) . b7) +*(b9,(Computation(b3,b4)) . b5);
:: SCMFSA_3:th 29
theorem
for b1 being finite autonomic non programmed Element of sproduct the Object-Kind of SCM+FSA
for b2, b3 being Element of product the Object-Kind of SCM+FSA
st b1 c= b2 & b1 c= b3
for b4 being Element of NAT
for b5 being Int-Location
for b6 being FinSeq-Location
st CurInstr Computation(b2,b4) = b5 :=len b6 & b5 in proj1 b1
holds len ((Computation(b2,b4)) . b6) = len ((Computation(b3,b4)) . b6);
:: SCMFSA_3:th 30
theorem
for b1 being finite autonomic non programmed Element of sproduct the Object-Kind of SCM+FSA
for b2, b3 being Element of product the Object-Kind of SCM+FSA
st b1 c= b2 & b1 c= b3
for b4 being Element of NAT
for b5 being Int-Location
for b6 being FinSeq-Location
st CurInstr Computation(b2,b4) = b6 :=<0,...,0> b5 & b6 in proj1 b1
for b7, b8 being Element of NAT
st b7 = abs ((Computation(b2,b4)) . b5) & b8 = abs ((Computation(b3,b4)) . b5)
holds b7 |-> 0 = b8 |-> 0;