@MISC{SCMPDS_4.MIZ,
  AUTHOR = {Chen, Jing-Chao},
  TITLE = {The Construction and Shiftability of Program Blocks for {SCMPDS}},
  NOTE = {This research is partially supported by the National Natural Science
       Foundation of China Grant No. 69873033.},
  SECTION1 = {Definition of a Program Block and its Basic Properties},
  SECTION2 = {Combining two Consecutive Blocks into One Program Block},
  SECTION3 = {Combining a Block and a Instruction into One Program Block},
  SECTION4 = {The Notions of Paraclosed, Parahalting and their Basic Properties},
  SECTION5 = {Shiftability of Program Blocks and Instructions},
  DAY = {15},
  MONTH = {June},
  YEAR = {1999},
  ADDRESS1 = {Shanghai Jiaotong University},
  SUMMARY = {In this article, a program block is defined as a finite
  sequence of instructions stored consecutively on initial positions.
  Based on this definition,any program block with more than two
  instructions can be viewed as the combination of two smaller program
  blocks. To describe the computation of a program block by the result
  of its two sub-blocks, we introduce the notions of paraclosed, parahalting,
  valid, and shiftable, the meaning of which may be stated as follows:
  \begin{itemize}
  \item[-] a program is paraclosed if and only if any state containing it
  is closed,
  \item[-] a program is parahalting if and only if any state containing it
  is halting,
  \item[-] in a program block, a jumping instruction is valid if its jumping
  offset is valid,
  \item[-] a program block is shiftable if it does not contain any return
  and saveIC instructions, and each instruction in it is valid.
  \end{itemize}
When a program block is shiftable, its computing result does not
  depend on its storage position.}}

