Some Applications of the Linear Logic Programming Language Lygon


Michael Winikoff
Department of Computer Science, The University of Melbourne, Parkville 3052, Australia.
winikoff@cs.mu.oz.au

James Harland
Department of Computer Science, RMIT, GPO Box 2476V, Melbourne 3001, Australia.
jah@cs.rmit.edu.au


Abstract

We describe and discuss the applications of a logic programming language called Lygon. This language is based on linear logic, a logic designed with bounded resources in mind. Linear logic may be thought of as a generalisation of classical logic, and as a result Lygon contains various features which do not exist in (pure) Prolog, whilst maintaining all the features of (pure) Prolog. In this paper we describe various applications of this language, which include graph problems, and problems involving states and actions. In logic programming languages based on classical logic, it is possible to write elegant solutions for problems over acyclic graphs. By making use of properties of linear logic, it is possible to write similarly elegant solutions for cyclic graphs as well. As linear logic enables changes of state to be neatly expressed, it is straightforward to give Lygon solutions to problems such as the Yale shooting problem and the blocks world, and we give example solutions to each.

Keywords Linear Logic, Logic Programming, Graph Problems, Applications, Actions and State.


Conference Home Page