Abstract

We describe an automated proof-checker for linear logic proof nets based on efficient algorithms for deciding necessary and sufficient path conditions. The system, which is called Xpnet, is an experiment in the graphical representation of mathematical proof objects. Linear logic is a new logical system introduced by Jean-Yves Girard [Gir87]. The main difference between classical and linear logic is that in the latter structural rules for copying or deleting assumptions are disallowed. Full linear logic is ordinarily presented as a sequent calculus in the style of Gentzen. Proof nets, which are the linear logic analogs of natural deduction, can be formed from a subset of the logic known as the multiplicative fragment. Proof nets are represented as graphs with two types of edges (see Figure 1). Their most distinctive feature is the condition required for proof-checking. In most logics proof-checking involves verifying that each step of a proposed proof object is an instance of an axiom or rule of the system. This is insufficient for proof nets: checking the steps by which the graph is constructed only ensures that it is a proof structure, a type of graph that is a proof net exactly when it satisfies a special connectivity property. Stated mathematically, this property sounds as if it would take exponential time to check. Girard asserted that his path condition for proof nets could be checked in time proportional to a polynomial in the number of edges. We have developed an algorithm with this efficiency using an equivalent condition given by Danos and Regnier [DR89]. Checking even moderately-sized proof structures by hand can be very tedious. The motivation behind Xpnet (for X Proof NET) was to use an implementation of our algorithm to automate this process. Since proof nets can be described pictorially it is natural to have a graphical user interface to aid in the sketching of proof structures to be checked. There are relatively few systems for the graphical manipulation of mathematical objects that can be said to 'understand' the objects they manipulate. An example of a system that does is LatticeDraw, designed for the Macintosh by Alan Day. This program allows the user to construct an ordered collection of elements (a lattice) by drawing its Hasse diagram. It aids in the creation of a well-formed Hasse diagram by guiding legitimate uses of a mouse to describe elements and relationships between them. It is then capable of providing information about the lattice by responding to questions selected from a menu such as 'show me all of the primes'. It is also capable of calculating and displaying related lattices. For example, the program can calculate the lattice of lower sets of a lattice and display its Hasse diagram. This

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call