15-317 Constructive Logic
Software
Lollibot
To explore bottom-up logic programming we'll be using Lollibot, a linear logic
programming language which is a custom fragment of
Ollibot
Lollibot is installed on Andrew machines in the course directory. You can
run it on a file filename.lob by running
$ /afs/andrew/course/15/317/bin/lollibot filename.lob
For a quick primer on Lollibot, see Appendix A of the
Assignment 10 handout.
Several examples from lecture are available from the course software directory
(software/lollibot-examples/).
If you encounter any problems or strange errors while running Lollibot,
you should email Rob Simmons (rjsimmon@cs) and William Lovas (wlovas@cs)
so they can attempt to correct them as promptly as possible.
Twelf
To represent and prove things about logics, we'll be using Twelf, an implementation of the logical
framework LF. The Twelf Wiki linked above is a great source of information
about Twelf.
Twelf is installed on Andrew machines in the course directory. You can
interact with the Twelf server directly by running:
/afs/andrew/course/15/317/bin/twelf-server
For a quick tutorial on how to use the Twelf server, see the Twelf Wiki's
article on using Twelf without
Emacs.
To use the Twelf Emacs mode, add the following to your ~/.emacs
file:
(setq twelf-root "/afs/andrew/course/15/317/twelf/")
(load (concat twelf-root "emacs/twelf-init.el"))
For a quick tutorial on how to use the Emacs mode to develop Twelf code,
see the Twelf Wiki's article on using Twelf with Emacs.
To get vim syntax highlighting, copy the contents of
/afs/andrew/course/15/317/twelf/vim
to your ~/.vim directory. Then Twelf syntax highlighting will
automatically be enabled when editing .elf files.
You can also download
Twelf as a source or binary distribution if you'd like to install it on
your own machine.
Prolog
For this course we are using GNU Prolog,
release 1.3.1.
You can run the Andrew installation of GNU Prolog either by running the script:
$ /afs/andrew/course/15/317/bin/runprolog
or by adding the directory /afs/andrew/course/15/317/bin
to your path and running gprolog . You can also
download a distribution
from the GNU Prolog web site and install it on your own machine.
Most installations of vim and emacs have editing modes for Prolog code, but
the default is to treat .pl files as Perl code. To switch to the
Prolog mode in vim, use the command :setf prolog . To switch to
the Prolog mode in emacs, use the command M-x prolog-mode .
Tutch
In the first part of this course you will be using a proof checker
called Tutch (short for Tutorial Proof Checker). As the
name indicates, it checks the validity of formal proofs that users
provide.
The current version of course software Tutch is 0.52 beta,
October 24, 2002. The distribution is available from the course software directory, or directly from the Tutch home
page.
On Andrew, Tutch is installed in
/afs/andrew/course/15/317/bin. The executable files are
tutch, submit and status; they should work
under linux.andrew.cmu.edu and directly on the machines in
the cluster with Linux. The easiest way to run them is with
$ /afs/andrew/course/15/317/bin/tutch filename.tut
where filename.tut contains your proof or proofs. See the documentation for
further information on running Tutch.
See the
Tutch
Overview for an introduction to using the Tutch proof
checker. The examples from the overview are available
here.
The section on Requirements and
Submission contains information on how to submit your homework.
[ Home
| Schedule
| Assignments
| Handouts
| Software
]
fp@cs
Frank Pfenning
|