Data Set Used
Approaches to computer game playing based on (typically α −β) search of the tree of possible move sequences combined with an evaluation function have been successful for many games, notably Chess. For games with large search spaces and complex positions, such as Go, these approaches are less successful and we are led to seek alternative approaches. One such… (More)
Program synthesis automatically derives programs from specifications of their behavior. One advantage of program synthesis, as opposed to manual coding, is that there is a direct link between the specification and the derived program. This link is, however, not very fine-grained: it can be best characterized as Program is-derived-from Specification. When… (More)
Schema-based program transformation  has been proposed as an effective technique for the optimisation of logic programs. Schemata are applied to a logic program, mapping inefficient constructs to more efficient ones. One challenging aspect of the technique is that of proving that the schemata are correct. This paper addresses the issue of correctness. We… (More)
Linear logic has previously been shown to be suitable for describing and deductively solving planning problems involving conjunction and disjunction. We introduce a recursively deened datatype and a corresponding induction rule, thereby allowing recursive plans to be synthesised. In order to make explicit the relationship between proofs and plans, we… (More)
software's internal complexities, that it doesn't crash routinely is very strange. We propose that software works because internally it is surprisingly simple. This proposal is based on recent results from artificial intelligence research. AI has discovered certain previously unrecognized regularities that developers can use to quickly find solutions. A… (More)
We describe a system for the synthesis of logic programs from specifications based on higher-order logical descriptions of appropriate refinement operations. The system has been implemented within the proof planning system λClam. The generality of the approach is such that its extension to allow synthesis of higher-order logic programs was straightforward.… (More)
In this paper we explore the use of ellipsis in proofs about lists. We present a higher-order formulation of elliptic formulae, and describe its implementation in the Clam proof planner. We use an un-ambiguous higher-order formulation of lists which is amenable to formal proofs without using induction, and to display using the familiar ::: notation .