14 research outputs found
Inductive theorem proving by program specialisation: Generating proofs for Isabelle using Ecce (Invited talk)
In this paper we discuss the similarities between program specialisation and inductive theorem proving, and then show how program specialisation can be used to perform inductive theorem proving. We then study this relationship in more detail for a particular class of problems (verifying infinite state Petri nets) in order to establish a clear link between program specialisation and inductive theorem proving. In particular, we use the program specialiser Ecce to generate specifications, hypotheses and proof scripts in the theory format of the proof assistant Isabelle. Then, in many cases, Isabelle can automatically execute these proof scripts and thereby verify the soundness of Ecce's verification process and of the correspondence between program specialisation and inductive theorem proving
Generating inductive verification proofs for Isabelle using the partial evaluator Ecce
Ecce is a partial deduction system which can be used to automatically generate abstractions for the model checking of many infinite state systems. We show that to verify the abstractions generated by Ecce we may employ the proof assistant Isabelle. Thereby Ecce is used to generate the specification, hypotheses and proof script in Isabelle's theory format. Then, in many cases, Isabelle can automatically execute these proof scripts and thereby verify the soundness of Ecce's abstraction. In this work we focus on the specification and verification of Petri nets
On reasoning about action and change in the fluent calculus
We investigate the possibilities for automatic reasoning about action and change in the Fluent Calculus. To this end, by relating reasoning about action and change in the Fluent Calculus to model checking of dynamic systems, we pursue a systematic approach to analysing Fluent Calculus domains. Motivated by the different properties of Fluent Calculus domains known from the literature we define several Fluent Calculus fragments by syntactic criteria. We distinguish classes of dynamic properties to be inferred, focusing on several versions of planning problems. To apply results concerning the decidability of model checking of dynamic systems to decidability of reasoning about Fluent Calculus domains we establish tight relationships between models of the previously defined Fluent Calculus fragments and well known computational models like finite automata, Petri nets and two-counter machines. Furthermore, we show that dynamic properties, for example the existence of a plan, can be characterised by formulas of modal/temporal logics. Then, for every Fluent Calculus fragment and every class of dynamic properties we investigate the existence of a decision procedure. The results about decidability of all considered planning problems for the Fluent Calculus fragment FCPL is particularly interesting. In FCPL domains we can only use constant fluent and action symbols and the executability of actions must not depend on negative preconditions. Despite these restrictions, FCPL allows the specification of systems with an infinite state space. With the help of our decidability results we develop a partial deduction algorithm to solve conjunctive planning problems for some Fluent Calculus domains. Our algorithm is the first complete reasoning method which can automatically solve conjunctive planning problems for FCPL domains.</p
Computation in Recurrent Neural Networks: From Counters to Iterated Function Systems
. In the paper we address the problem of computation in recurrent neural networks (RNN). In the first part we provide a formal analysis of the dynamical behavior of a RNN with a single self--recurrent unit in the hidden layer, show how such a RNN may be designed to perform an (unrestricted) counting task and describe a generalization of the counter network that performs binary stack operations. In the second part of the paper we focus on the analysis of RNNs. We show how a layered RNN can be mapped to a corresponding iterated function system (IFS) and formulate conditions under which the behavior of the IFS and therefore the behavior of the corresponding RNN can be characterized as the performance of stack operations. This result enables us to analyze any layered RNN in terms of classical computation and, hence, improves our understanding of computation within a broad class of RNNs. Moreover, we show how to use this knowledge as a design principle for RNNs which implement computational..
Solving Coverability Problems of Petri Nets by Partial Deduction
In recent work it has been shown that infinite state model checking can be performed by a combination of partial deduction of logic programs and abstract interpretation. This paper focuses on one particular class of problem--coverability for (infinite state) Petri nets--and shows how existing techniques and tools for declarative programs can be successfully applied. In particular, we show that a restricted form of partial deduction is already powerful enough to decide all coverability properties of Petri Nets. We also prove that two particular instances of partial deduction exactly compute the Karp-Miller tree as well as Finkel's minimal coverability set. We thus establish an interesting link between algorithms for Petri nets and logic program specialisation
Solving Planning Problems by Partial Deduction
. We develop an abstract partial deduction method capable o
On the Combination of Partial Action Descriptions
. We investigate the problems of precondition interactions and effect cumulations, typically caused by the concurrent execution of actions. Our analysis leads to an integration of property oriented and resource oriented approaches to the representation of action and change. We formalize our ideas by introducing an extension AORC of the Action Description Language AC [2]. In order to enable sound and complete automated inference, we give a corresponding encoding in terms of the Fluent Calculus [10]. 1 Introduction In order to avoid domain descriptions of intractable length, most approaches to the representation of actions (e.g. [16,10,18,1,7]) obtain the effects and conditions of actions by combining various partial action descriptions. In particular, this is common if concurrent 1 actions are considered, and the partial descriptions of the relevant (sub)actions have to be taken into account. In this paper, we will argue that approaches to concurrent actions have to incorporate differ..
Concurrent Productions, Consumptions and Occupations
We investigate the problems of precondition interactions and effect cumulations, typically caused by the concurrent execution of actions. Our analysis leads to an integration of property oriented and resource oriented approaches to the representation of action and change. We formalize our ideas by introducing an extension AORC of the Action Description Language AC [1], and give a sound and complete encoding of domain descriptions in AORC in terms of the Fluent Calculus [8], thereby enabling sound and complete automated inference using SLDENF-Resolution [17, 15]
Inductive Theorem Proving by Program Specialisation: Generating proofs for
Abstract. In this paper we discuss the similarities between program specialisation and inductive theorem proving, and then show how program specialisation can be used to perform inductive theorem proving. We then study this relationship in more detail for a particular class of problems (verifying infinite state Petri nets) in order to establish a clear link between program specialisation and inductive theorem proving. In particular, we use the program specialiser ecce to generate specifications, hypotheses and proof scripts in the theory format of the proof assistant Isabelle. Then, in many cases, Isabelle can automatically execute these proof scripts and thereby verify the soundness of ecceās verification process and of the correspondence between program specialisation and inductive theorem proving.