Location of Repository

Program schema defines a class of programs, all of which have identical statement structure, but whose functions and predicates may differ. A schema thus defines an entire class of programs according to how its symbols are interpreted. Two schemas are strongly equivalent if they always define the same function from initial states to final states for every interpretation. A subschema of a schema is obtained from a schema by deleting some of its statements. A schema S is liberal if there exists an initial state in the Herbrand domain such that the same term is not generated more than once along any executable path through S . In this paper, we introduce near-liberal schemas, in which this non-repeating condition applies only to terms not having the form g() for a constant function symbol g . Given a schema S that is linear (no function or predicate symbol occurs more than once in S ) and a variable v , we compute a set of function and predicate symbols in S which is a subset of those defined by Weiser’s slicing algorithm and prove that if for every while predicate q in S and every constant assignment w≔g(); lying in the body of q, no other assignment to w also lies in the body of q, our smaller symbol set defines a correct subschema of S with respect to the final value of v after execution. We also prove that if S is also free (every path through S is executable) and near-liberal, it is decidable which of its subschemas are strongly equivalent to S. For the class of pairs of schemas in which one schema is a subschema of the other, this generalises a recent result in which S was required to be linear, free and liberal

Year: 2011

OAI identifier:
oai:eprints.gold.ac.uk:6649

Provided by:
Goldsmiths Research Online

Download PDF:To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.