--- otter-3.3f.orig/Makefile +++ otter-3.3f/Makefile @@ -1,7 +1,14 @@ # Top Makefile for Otter 3.3 / Mace 2.2 -install: - ./QuickInstall +all: + cd source && $(MAKE) all + cd source/formed && $(MAKE) all + cd mace2 && $(MAKE) all + cd documents && $(MAKE) all + +install: all + mkdir -p $(DESTDIR)/usr/bin + cp -a bin/anldp bin/mace2 bin/otter bin/formed $(DESTDIR)/usr/bin/ test-otter: bin/otter < examples/auto/steam.in | awk '/PROOF/,/end of proof/' @@ -15,17 +22,14 @@ realclean: cd source && $(MAKE) realclean + cd source/formed && $(MAKE) realclean cd mace2 && $(MAKE) realclean cd examples && $(MAKE) realclean cd examples-mace2 && $(MAKE) realclean + cd documents && $(MAKE) realclean /bin/rm -f bin/* /bin/rm -f *~ -all: - $(MAKE) realclean - cd source && $(MAKE) CC=gcc all - cd mace2 && $(MAKE) CC=gcc all - # The following cleans up, then makes a .tar.gz file of the current # directory, leaving it in the parent directory. --- otter-3.3f.orig/examples/summary +++ otter-3.3f/examples/summary @@ -1,4 +1,4 @@ -# +#!/bin/csh if ($#argv != 2) then echo "need 2 args: directory extension" exit 1 --- otter-3.3f.orig/examples/Loop/otter-ploop +++ otter-3.3f/examples/Loop/otter-ploop @@ -1,4 +1,4 @@ -#!/usr/local/bin/perl5 -w +#!/usr/bin/perl -w if ($#ARGV != 0) { die "Need one arg: input file, candidates on stdin.\n"; } $input = $ARGV[0]; --- otter-3.3f.orig/debian/mace2.install +++ otter-3.3f/debian/mace2.install @@ -0,0 +1,2 @@ +usr/bin/anldp +usr/bin/mace2 --- otter-3.3f.orig/debian/anldp.1 +++ otter-3.3f/debian/anldp.1 @@ -0,0 +1,60 @@ +.TH ANLDP 1 "November 5, 2006" +.SH NAME +anldp \- implementation of Davis-Putnam propositional satisfiability procedure +.SH SYNOPSIS +.B anldp +.RI [ options ] +< +.I input-file +> +.I output-file +.SH DESCRIPTION +This manual page documents briefly the +.B anldp +command. +.PP +\fBanldp\fP is an implementation of a Davis-Putnam procedure for the propositional satisfiability problem. \fBanldp\fP exposes the procedure used by +.BR mace2 (1) +to determine satisfiability. \fBanldp\fP can also take statements in first-order logic with equality and a domain size \fIn\fP then search for models of size \fIn\fP. The first-order model-searching code transforms the statements into set of propositional clauses such that the first-order statements have a model of size \fIn\fP if and only if the propositional clauses are satisfiable. The propositional set is then given to the Davis-Putnam code; any propositional models that are found can be translated to models of the first-order statements. The first-order model-searching program accepts statements only in a flattened relational clause form without function symbols. +.SH OPTIONS +.TP +.B \-s +Perform subsumption. (Subsumption is always performed during unit preprocessing.) +.TP +.B \-p +Print models as they are found. +.TP +.B \-m \fIn +Stop when the \fIn\fPth model is found. +.TP +.B \-t \fIn +Stop after \fIn\fP seconds. +.TP +.B \-k \fIn +Allocate at most \fIn\fP kbytes for storage of clauses. +.TP +.B \-x \fIn +Quasigroup experiment \fIn\fP. +.TP +.B \-B \fIfile +Backup assignments to a file. +.TP +.B \-b \fIn +Backup assignments every \fIn\fP seconds. +.TP +.B \-R \fIfile +Restore assignments from a file. The file typically contains just the last line of a backup file. Other input, in particular the clauses, must be given exactly as in the original search. +.TP +.B \-n \fIn +This option is used for first-order model searches. The parameter \fIn\fP specifies the domain size, and its presence tells the program to read first-order flattened relational input clauses instead of propositional clauses. +.SH SEE ALSO +.BR formed (1), +.BR mace2 (1), +.BR otter (1). +.br +Full documentation for \fBanldp\fP is found in \fI/usr/share/doc/mace2/anldp.{html,ps.gz}\fP. +.SH AUTHOR +\fBanldp\fP ws written by William McCune +.PP +This manual page was written by Peter Collingbourne , +for the Debian project (but may be used by others). --- otter-3.3f.orig/debian/mace2.1 +++ otter-3.3f/debian/mace2.1 @@ -0,0 +1,65 @@ +.TH MACE2 1 "November 5, 2006" +.SH NAME +mace2 \- searches for finite countermodels of first-order statements +.SH SYNOPSIS +.B mace2 +.RI [ options ] +< +.I input-file +> +.I output-file +.SH DESCRIPTION +This manual page documents briefly the +.B mace2 +command. +.PP +\fBmace2\fP is a program that searches for finite models of first-order statements. The statement to be modeled is first translated to clauses, then to relational clauses; finally for the given domain size, the ground instances are constructed. A Davis-Putnam-Loveland-Logeman procedure decides the propositional problem, and any models found are translated to first-order models. \fBmace2\fP is a useful complement to the theorem prover +.BR otter (1), +with \fBotter\fP searching for proofs and \fBmace2\fP looking for countermodels. +.SH OPTIONS +A summary of options is included below. +.TP +.B \-n \fIn +This gives the starting domain size for the search. The default value is 2. If you also give an \fB-N\fP option, MACE will iterate domain sizes up through the \fB-N\fP value. Otherwise, \fBmace2\fP will search only for the \fB-n\fP value. +.TP +.B \-N \fIn +This gives the ending domain size for the search. The default is the value of the \fB-n\fP option. +.TP +.B \-c +This says that constants in the input should be assigned unique elements of the domain. If the number of constants in the input is greater than the domain size \fIn\fP, the first \fIn\fP constants are given values, and the rest are unconstrained. This is a useful option because it eliminates lots of isomorphism from the search. But it can block all models, especially when used with other constraints. +.TP +.B \-p +This option tells \fBmace2\fP to print models in a nice tabular form as they are found. This format is meant for human consumption. +.TP +.B \-P +This option tells \fBmace2\fP to print models in an easily parsable form. This format has an \fBotter\fP-like syntax and can be read by most Prolog systems. +.TP +.B \-I +This option tells \fBmace2\fP to print models in IVY form. This format is a Lisp S-expression and is meant to be read by IVY, our proof and model checker. +.TP +.B \-m \fIn +This tells \fBmace2\fP to stop after finding \fIn\fP models. The default is 1. +.TP +.B \-t \fIn +This tells \fBmace2\fP to stop after about n seconds. The default is unlimited. \fBmace2\fI ignores any assign(max_seconds, n) commands that might be in the input file. Such commands are used by \fBotter\fI only. +.TP +.B \-k \fIn +This tells \fBmace2\fP to stop if it tries to allocate more than \fIn\fP kilobytes of memory. The default is 48000 (about 48 megabytes). \fBmace2\fI ignores any assign(max_mem, n) commands that might be in the input file. Such commands are used by \fBotter\fI only. +.TP +.B \-x +This is a special-purpose constraint designed to reduce isomorphism in quasigroup problems. It applies only to binary function \fIf\fP. +.TP +.B \-h +This tells \fBmace2\fP to print a summary of these command-line options. +.SH SEE ALSO +.BR anldp (1), +.BR formed (1), +.BR otter (1), +.BR pl (1). +.br +Full documentation for \fBmace2\fP is found in \fI/usr/share/doc/mace2/mace2.{html,ps.gz}\fP. +.SH AUTHOR +\fBmace2\fP ws written by William McCune +.PP +This manual page was written by Peter Collingbourne , +for the Debian project (but may be used by others). --- otter-3.3f.orig/debian/otter.install +++ otter-3.3f/debian/otter.install @@ -0,0 +1 @@ +usr/bin/otter --- otter-3.3f.orig/debian/otter.1 +++ otter-3.3f/debian/otter.1 @@ -0,0 +1,28 @@ +.TH OTTER 1 "November 5, 2006" +.SH NAME +otter \- resolution-style theorem prover +.SH SYNOPSIS +.B otter +< +.I input-file +> +.I output-file +.SH DESCRIPTION +This manual page documents briefly the +.B otter +command. +.PP +\fBotter\fP is a resolution-style theorem-proving program for first-order logic with equality. \fBotter\fP includes the inference rules binary resolution, hyperresolution, UR-resolution, and binary paramodulation. Some of its other abilities and features are conversion from first-order formulas to clauses, forward and back subsumption, factoring, weighting, answer literals, term ordering, forward and back demodulation, evaluable functions and predicates, Knuth-Bendix completion, and the hints strategy. +.SH OPTIONS +No command-line options are accepted; all options are given in the input file. +.SH SEE ALSO +.BR anldp (1), +.BR formed (1), +.BR mace2 (1). +.br +Full documentation for \fBotter\fP is found in \fI/usr/share/doc/otter/otter33.{html,ps.gz}\fP. +.SH AUTHOR +\fBotter\fP ws written by William McCune +.PP +This manual page was written by Peter Collingbourne , +for the Debian project (but may be used by others). --- otter-3.3f.orig/debian/rules +++ otter-3.3f/debian/rules @@ -0,0 +1,59 @@ +#!/usr/bin/make -f +# -*- makefile -*- + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +XFLAGS = -Wall -g + +ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) + XFLAGS += -O0 +else + XFLAGS += -O2 +endif + +build: build-stamp + +build-stamp: + dh_testdir + $(MAKE) XFLAGS="$(XFLAGS)" + touch $@ + +clean: + dh_testdir + dh_testroot + rm -f build-stamp + $(MAKE) realclean + dh_clean + +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp + +# Build architecture-independent files here. +binary-indep: build install +# We have nothing to do by default. + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir + dh_testroot + dh_install --sourcedir=debian/tmp + dh_installchangelogs Changelog + dh_installdocs + dh_installexamples + dh_installman + dh_strip + dh_compress + dh_fixperms + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install --- otter-3.3f.orig/debian/mace2.docs +++ otter-3.3f/debian/mace2.docs @@ -0,0 +1,7 @@ +README +README.Ivy +documents/mace2.html +documents/mace2.ps +documents/anldp.html +documents/anldp???.png +documents/anldp.ps --- otter-3.3f.orig/debian/otter.docs +++ otter-3.3f/debian/otter.docs @@ -0,0 +1,4 @@ +README +README.Ivy +documents/otter33.html +documents/otter33.ps --- otter-3.3f.orig/debian/dirs +++ otter-3.3f/debian/dirs @@ -0,0 +1,2 @@ +usr/bin +usr/sbin --- otter-3.3f.orig/debian/mace2.manpages +++ otter-3.3f/debian/mace2.manpages @@ -0,0 +1,2 @@ +debian/anldp.1 +debian/mace2.1 --- otter-3.3f.orig/debian/formed.1 +++ otter-3.3f/debian/formed.1 @@ -0,0 +1,34 @@ +.TH FORMED 1 "November 5, 2006" +.SH NAME +formed \- formula editor for first-order logic formulas +.SH SYNOPSIS +.B formed +.RI [ options ] +.SH DESCRIPTION +This manual page documents briefly the +.B formed +command. +.PP +\fBformed\fP is a window-based program for constructing, displaying, and managing first-order logic formulas. The main motivation for constructing \fBformed\fP was the desire to have formulas displayed in a readable, two-dimensional format. Users of \fBformed\fP can make two kinds of transformation on formulas: (1) logic transformations, such as negation normal form translation, which preserve the meaning of a formula, and (2) edit transformations, which can be used to make arbitrary changes, such as adding a hypothesis to a subformula. \fBformed\fP was written by using the X Window System, Version 11, and code from the theorem prover \fBotter\fP. +.SH OPTIONS +A summary of options is included below. +.TP +.B \-l \fIfilename +Load formulas in the specified file during startup. Formulas can also be loaded after startup with the button \fBLoad\fP in the main menu. +.TP +.B \-f \fIcolor +Use the named color for the foreground on color monitors (ignored on black-and-white monitors). +.TP +.B \-b \fIcolor +Use the named color for the background on color monitors (ignored on black-and-white monitors). +.SH SEE ALSO +.BR anldp (1), +.BR mace2 (1), +.BR otter (1). +.br +``FormEd: An X Window System application for managing first-order formulas'' (McCune et al.), available from http://www.osti.gov/energycitations/servlets/purl/6427100-WtOa4g/6427100.PDF +.SH AUTHOR +\fBformed\fP ws written by William McCune +.PP +This manual page was written by Peter Collingbourne , +for the Debian project (but may be used by others). --- otter-3.3f.orig/debian/compat +++ otter-3.3f/debian/compat @@ -0,0 +1 @@ +5 --- otter-3.3f.orig/debian/formed.docs +++ otter-3.3f/debian/formed.docs @@ -0,0 +1 @@ +source/formed/README --- otter-3.3f.orig/debian/mace2.examples +++ otter-3.3f/debian/mace2.examples @@ -0,0 +1 @@ +examples-mace2/* --- otter-3.3f.orig/debian/formed.manpages +++ otter-3.3f/debian/formed.manpages @@ -0,0 +1 @@ +debian/formed.1 --- otter-3.3f.orig/debian/otter.examples +++ otter-3.3f/debian/otter.examples @@ -0,0 +1 @@ +examples/* --- otter-3.3f.orig/debian/changelog +++ otter-3.3f/debian/changelog @@ -0,0 +1,18 @@ +otter (3.3f-1.1) unstable; urgency=low + + * Non-maintainer upload. + * source/formed/Makefile: Added -lX11 -lXt. Closes: #555879. + * Fixed debhelper-but-no-misc-depends. + * Fixed debian-rules-ignores-make-clean-error. + + -- Bart Martens Tue, 11 Oct 2011 19:12:10 +0200 + +otter (3.3f-1) unstable; urgency=low + + * Initial release (Closes: #397257) + * Fixed broken Makefiles + * Wrote manpages + * examples/Loop/otter-ploop, examples/summary: Fixed broken + interpreter path + + -- Peter Collingbourne Sun, 5 Nov 2006 22:42:36 +0000 --- otter-3.3f.orig/debian/formed.install +++ otter-3.3f/debian/formed.install @@ -0,0 +1 @@ +usr/bin/formed --- otter-3.3f.orig/debian/copyright +++ otter-3.3f/debian/copyright @@ -0,0 +1,47 @@ +This package was debianized by Peter Collingbourne on +Sun, 05 Nov 2006 20:43:07 +0000. + +It was downloaded from http://www.cs.unm.edu/~mccune/otter/ + +Upstream Author: William McCune + +Copyright: public domain + +License: + +Otter and MACE Legal Page + +November 21, 2001. + +This information refers to the Otter and MACE automated deduction +software, created at Argonne National Laboratory. + +Copyrights + +The University of Chicago has declined to assert its copyrights in +this software. It may be used by the public without restriction and is +available here by download. + +License + +This material resulted from work developed under a U.S. Government +contract and is subject to the following license: the Government is +granted for itself and the public a paid-up, nonexclusive, irrevocable +worldwide license in this material to reproduce, prepare derivative +works, distribute copies to the public, and perform publicly and +display publicly. + +Disclaimer + +NEITHER THE UNITED STATES GOVERNMENT NOR ANY AGENCY THEREOF, NOR ANY +OF THEIR EMPLOYEES OR OFFICERS, MAKES ANY WARRANTY, EXPRESS OR +IMPLIED, OR ASSUMES ANY LEGAL LIABILITY OR RESPONSIBILITY FOR THE +ACCURACY, COMPLETENESS, OR USEFULNESS OF ANY INFORMATION, APPARATUS, +PRODUCT, OR PROCESS DISCLOSED, OR REPRESENTS THAT ITS USE WOULD NOT +INFRINGE PRIVATELY OWNED RIGHTS. These activities are projects of the +Mathematics and Computer Science Division of Argonne National +Laboratory + + +The Debian packaging is (C) 2006, Peter Collingbourne and +is licensed under the GPL, see `/usr/share/common-licenses/GPL'. --- otter-3.3f.orig/debian/control +++ otter-3.3f/debian/control @@ -0,0 +1,48 @@ +Source: otter +Section: math +Priority: optional +Maintainer: Peter Collingbourne +Build-Depends: debhelper (>= 5), libxaw7-dev, hevea +Standards-Version: 3.7.2 + +Package: otter +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Recommends: perl, c-shell, mace2 +Suggests: formed +Description: resolution-style theorem prover + OTTER is an automated theorem prover for equational logic developed + at Argonne National Laboratory. + . + OTTER's inference rules are based on resolution and paramodulation, + and it includes facilities for term rewriting, term orderings, + Knuth-Bendix completion, weighting, and strategies for directing and + restricting searches for proofs. OTTER can also be used as a symbolic + calculator and has an embedded equational programming system. + +Package: mace2 +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Recommends: perl, c-shell, otter +Suggests: swi-prolog | gprolog +Description: program that searches for finite models of first-order statements + MACE is a program that searches for finite models of first-order and + equational statements developed at Argonne National Laboratory. + . + This package includes ANLDP, which calls the propositional decision + procedure at the core of MACE directly. + . + MACE serves as a complementary companion to OTTER, which + searches for refutations of the same class of statement. In + particular, if you have a first-order conjecture, OTTER will search + for a proof, and MACE will search for a counterexample from the same + input file. + +Package: formed +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Suggests: otter +Description: formula editor for first-order logic formulae + Formed is a formula editor for first-order logic formulas that + lets you simplify quantified formulas by quantifier + transformation among other things. --- otter-3.3f.orig/debian/otter.manpages +++ otter-3.3f/debian/otter.manpages @@ -0,0 +1 @@ +debian/otter.1 --- otter-3.3f.orig/documents/otter33.tex +++ otter-3.3f/documents/otter33.tex @@ -104,13 +104,13 @@ the United States Government or any agency thereof, Argonne National Laboratory, or The University of Chicago. \newpage +\newcommand{\otter}{{\sc Otter}} \pagestyle{plain} \tableofcontents \newpage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newcommand{\otter}{{\sc Otter}} \newcommand{\maxint}{$\infty$} \newcommand{\unix}{{\sc unix}} --- otter-3.3f.orig/documents/Makefile +++ otter-3.3f/documents/Makefile @@ -0,0 +1,17 @@ +all: otter33.html anldp.html mace2.html + +otter33.html: otter33.hva otter33.tex + hevea otter33.hva otter33.tex + hevea otter33.hva otter33.tex + +anldp.html: otter33.hva anldp.tex + hevea otter33.hva anldp.tex + hevea otter33.hva anldp.tex + imagen -png anldp + +mace2.html: mace2.tex + hevea mace2.tex + hevea mace2.tex + +realclean: + rm -f *.haux *.html *.htoc *.image.tex *.png --- otter-3.3f.orig/documents/otter33.hva +++ otter-3.3f/documents/otter33.hva @@ -0,0 +1,2 @@ +\newcommand{\parbox}[2]{\vbox{#2}} +\newenvironment{verse}{\quote}{\endquote} --- otter-3.3f.orig/documents/anldp.tex +++ otter-3.3f/documents/anldp.tex @@ -221,6 +221,7 @@ The steps, which are summarized in Figure \ref{trans}, are as follows. \begin{figure}[h] +%BEGIN IMAGE \begin{picture}(400,80)(-35,0) \thicklines @@ -244,6 +245,8 @@ \put(125,18){\vector(0,-1){3}} \end{picture} +%END IMAGE +%HEVEA\imageflush \caption{Searching for First-Order Models} \label{trans} \end{figure} --- otter-3.3f.orig/source/Makefile +++ otter-3.3f/source/Makefile @@ -49,16 +49,20 @@ # Specify the C compiler. I recommend gcc (GNU C Compiler) if you have it. # In many Linux environments, cc is just a symlink to gcc. -CC = gcc +# CC = gcc ############################################################################# # # Specify the compiler flags; include DFLAGS (above) -- Pick one of these # -# optimized +# default -CFLAGS = -O $(DFLAGS) +CFLAGS += $(DFLAGS) +# optimized +# +# CFLAGS = -O $(DFLAGS) +# # # check for strict ANSI conformance with Solaris cc: # @@ -92,7 +96,7 @@ ############################################################################# -all: otter install clean +all: otter install otter: main.o libotter.a $(CC) $(CFLAGS) main.o libotter.a -o otter @@ -104,7 +108,7 @@ lisp.h fpa2.h install: - /bin/mv otter ../bin + /bin/cp otter ../bin clean: /bin/rm -f *.o --- otter-3.3f.orig/source/formed/Makefile +++ otter-3.3f/source/formed/Makefile @@ -1,15 +1,16 @@ -DFLAGS = -DTP_NAMES -DTP_SIGNAL -DTP_FORK -DTP_RUSAGE +DFLAGS = -DTP_NAMES -DTP_SIGNAL -DTP_FORK -DTP_RUSAGE $(XFLAGS) -CC = gcc +# CC = gcc ############################################################################# # Specify the compiler flags; include DFLAGS (above) # -# optimized - -CFLAGS = -O $(DFLAGS) +# default +CFLAGS = $(DFLAGS) +# optimized +# CFLAGS = -O $(DFLAGS) # # save symbols for debuggers # CFLAGS = -g $(DFLAGS) @@ -39,9 +40,14 @@ XLIBS = -L/usr/X11R6/lib -lXaw +all: formed install + formed: formed.o display.o callback.o $(CC) $(CFLAGS) formed.o display.o callback.o \ - ../libotter.a $(XLIBS) -o formed + ../libotter.a $(XLIBS) -lX11 -lXt -o formed + +install: + /bin/cp formed ../../bin display.o callback.o formed.o: formed.h --- otter-3.3f.orig/mace2/Makefile +++ otter-3.3f/mace2/Makefile @@ -1,8 +1,8 @@ -DFLAGS = -DTP_NAMES -DTP_SIGNAL -DTP_RUSAGE +DFLAGS = -DTP_NAMES -DTP_SIGNAL -DTP_RUSAGE $(XFLAGS) -CC = gcc +# CC = gcc -CFLAGS = -O $(DFLAGS) +CFLAGS += $(DFLAGS) # CFLAGS = -g $(DFLAGS) @@ -12,7 +12,7 @@ OBJECTS = clock.o avail.o opts.o stats.o miscellany.o flatten.o\ dp.o generate.o print.o part.o -all: mace2 anldp install clean +all: mace2 anldp install mace2: mace2.o $(OBJECTS) $(CC) $(CFLAGS) mace2.o $(OBJECTS) ../source/libotter.a -o mace2 @@ -24,7 +24,7 @@ Miscellany.h Dp.h Generate.h Flatten.h Part.h install: - /bin/mv mace2 anldp ../bin + /bin/cp mace2 anldp ../bin clean: /bin/rm -f *.o