Skip to content

RichardMoot/Grail

Repository files navigation

Grail 3.2.0

Release: 1 December 2015 (17:53:35 CET)

Copyright ©️ 2003-2018 Richard Moot (Richard.Moot@lirmm.fr)

Copyright ©️ 2004-2018 CNRS (http://www.cnrs.fr)

Copyright ©️ 2003-2011 INRIA (http://www.inria.fr)

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

The Grail Theorem Prover

Grail is a modern, flexible and robust parser/automated theorem prover for multimodal categorial grammars. It is designed to allow students and researchers to design and experiment with their grammars while at the same time offer the advanced users many optional optimisation strategies.

Grail can be run either as a command line script or as an application with a graphical interface, with the possibility to follow Grail's partial parses/proof attemps interactively.

Requirements

The minimum configuration required to run Grail is the following.

In addition, the following programs are highly recommended and allow you to enjoy some of Grail's more powerful features. Many Unix/Linux installations will have these programs installed.

  • gv
  • Tclsh
  • pdfLaTeX
  • a pdf previewer (gv suffices here, but your operating system is sure to provide an alternative)

Installation

Grail can be install from this directory by typing.

./configure --prefix=GRAIL_ROOT
make
(sudo) make install

GRAIL_ROOT will be the root directory of the Grail system, Grail will install its executables in the bin subdirectory and some of the image files in the share/Grail subdirectory of this directory. If you run the configure script without --prefix option, installation will take place with /usr/local/ as the root directory.

The file configure.ac is fairly rudimentary at the moment, but I welcome any comments and suggestions for improvement.

Documentation

A short introduction to using Grail 3 can be found in the manual or by selecting [Help/About Grail 3...] from Grail's menu bar.

A more elaborate tutorial can be found at my webpage

http://www.labri.fr/perso/moot/tutorial/

Acknowledgments

This research was made possible the Centre National de la Recherche Scientifique, the Institut National de Recherche en Informatique et en Automatique, the Laboratiore Bordelais de Recherche en Informatique and the University of Bordeaux.

The files logarr.pl (for logarithmic access arrays) ordset.pl (for ordered sets) and the warshall/2 predicate from graph.pl are from the Public Domain DEC-10 Prolog Library. I am indebted to the authors of those packages for putting their work in the public domain. Any blame for changes and additions to their code is mine. See the individual files for changes.

The tree234.pl library for 2-3-4 trees is a direct adaptation of code belonging to the Mercury library, a great resource for logic/functional programs of several standard algorithms, which is available under LGPL (Mercury itself is released under GPL). I am responsible for idiosyncratic additions to this code, as well as modification of the code to use first argument indexing as much as possible, in addition to any errors this may have produced.

The (experimental) chart.pl chart parser library is an adaptation of code from the following article (see Grail Light for a type-logical chart parser).

Stuart M. Shieber, Yves Schabes and Fernando C. N. Pereira (1995) `Principles and Implementation of Deductive Parsing', Journal of Logic Programming 24(1-2):3-36

Releases

No releases published

Packages

No packages published

Languages