The problems in the TPTP are syntactically diverse, as is indicated by the ranges of the values in the tables. The problems in the TPTP are also semantically diverse, as is indicated by the range of domains that are covered. The problems are grouped into domains, covering topics in the fields of logic, mathematics, computer science, engineering, social sciences, and others. The domains are presented and discussed in Section The TPTP Domain Structure.
Sources
The problems have been collected from various sources.
The two principal sources have been existing electronic problem collections
and the ATP literature.
Other sources include logic programming, mathematics, puzzles, and
correspondence with ATP researchers.
Many people and organizations have contributed towards the TPTP:
the foundations of the TPTP were laid with David Plaisted's SPRFN collection;
many problems were taken from Argonne National Laboratory's ATP problem library
(special thanks to Bill McCune here); Art Quaife provided several hundred
problems in set theory and algebra; the Journal of Automated Reasoning, CADE
Proceedings, and Association for Automated Reasoning Newsletters have provided
a wealth of material; smaller numbers of problems have been provided by a
number of further contributors (see the
Acknowledgements).
Releases
An attempt has been made to classify the totality of the TPTP problems in a
systematic and natural way.
The resulting domain scheme reflects the natural hierarchy of scientific
domains, as presented in standard subject classification literature.
The current classification is based mainly on the Dewey Decimal
Classification (DDC)
[CB+89]
and the Mathematics Subject Classification (MSC)
[MSC92]
used for the Mathematical Reviews by the American Mathematical Society.
Five main fields are defined:
logic, mathematics, computer science, engineering, and other.
Each field contains further subdivisions, called domains.
Each domain is identified by a three-letter mnemonic.
These mnemonics are also part of the TPTP problem naming scheme
(see Section
Problem and Axiomatization Naming).
The TPTP domains constitute the basic units of the classification.
The full classification scheme is shown in
Figure
The Domain Structure of the TPTP,
and the numbers of abstract problems, problems, and generic problems
in each domain are shown in the TPTP document
OverallSynopsis
A brief description of the domains, with a non-ATP reference for a
general introduction and a generic ATP reference, is given below.
For each domain, appropriate DDC and MSC numbers are also given:
Different Axiomatizations
In the TPTP an axiomatization is standard if it is a
complete axiomatization of
an established theory,
no lemmas have been added, and
it is not designed specifically to be suited or
ill-suited to any ATP system, calculus, or control strategy.
A problem version is standard if it uses a standard axiomatization.
(Note: A standard axiomatization may be redundant, because some axioms are
dependent on others.
In general, it is not known whether or not an axiomatization is minimal, and
thus the possibility of redundancy in standard axiomatizations must be
tolerated.)
In the TPTP, standard axiomatizations are kept in separate axiom files,
and are included in problems as appropriate.
Sets of specialization axioms may be used to extend or constrain an
axiomatization.
Specialization axioms are also kept in separate axiom files.
Within the ATP community, some problems have been created with
non-standard axiomatizations.
A non-standard axiomatization may be formed by modifying a standard
axiomatization:
the standard axiomatization may be reduced (i.e., axioms are removed) and
the result is an incomplete axiomatization, or it may be
augmented
(i.e., lemmas are added) and the result is a redundant axiomatization.
Incomplete and redundant axiomatizations are typically used to find a proof
of a conjecture (based on the axiomatization) using a particular ATP system.
An axiomatization may also be non-standard because it is biased,
i.e., designed specifically to be suited or ill-suited to some ATP system,
calculus, or control strategy.
A problem version is incomplete, redundant, or biased if its axiomatization is.
In the TPTP, for each incomplete, redundant, and biased problem, a new version
of the problem with a standard axiomatization is usually created.
Finally, an axiomatization may be non-standard because it does not capture
any established theory. i.e., a standard axiomatization does not exist, but
the axioms are not biased.
A problem version with such an axiomatization is especial.
Typically, the axioms in an especial problem are specific to that problem,
and are not used in any other problem.
In any 'real' application of an ATP system, a standard or especial
problem version would typically be used, at least initially.
The use of standard axiomatizations is particularly desirable.
Equality Axiomatization
If a standard axiomatization uses equality, the required axioms of substitution
are kept separate from the theory specific axioms.
The equality axioms of reflexivity, symmetry, and transitivity are also kept
in a separate file.
Many ATP systems have built in mechanisms, e.g., paramodulation, that make
some or all of the equality and substitution axioms unnecessary.
If any of these axioms are removed when the problems are submitted to an ATP
system, then the removal must be explicitly noted in reported results (see
Section Using the TPTP).
The tptp2X utility (see
Section The tptp2X Utility)
can be used to remove equality axioms.
Up to TPTP v1.1.3, the TPTP contained problem files for particular sizes of
generic problems.
This, however, was undesirable.
Firstly, only a finite number of different problem sizes could be
included, and therefore a desired size may have been missing.
Secondly, even a small number of different problem sizes for each
generic problem could consume a considerable amount of disk space.
To overcome these problems, the TPTP contains generator files.
Generator files are used to generate instances of generic problems, according
to user supplied size parameters.
The generators are used in conjunction with the tptp2X utility, and a full
description of their use is given in
Section The tptp2X Utility.
For convenience, the TPTP still contains, where they exist, a theorem and
a non-theorem size instance of each generic problem.
The TPTP sizes chosen are non-trivial,
unless the problem remains easy up to sizes that have very large files.
In the latter situation the TPTP size is that used in TPTP v1.2.0.
The statistics in the TPTP documents
Overall synopsis,
FOF synopsis, and
CNF synopsis
take into account these instances of generic problems.
Problem file naming scheme.
The abstract problem numbers within each domain are not always successive.
This is because some numbers have already been allocated to problems that
will be part of a future TPTP release (see
Section The Present).
The version numbers used for each abstract problem do not always start
at 1, and are not always successive.
This is because the same version number is assigned (wherever possible) to
all problems that come from the same source, within each domain.
Axiom file naming scheme.
If a file is ever removed from or renamed in the TPTP, then the extension
is changed to .rm.
The file is not physically removed, and a comment is added to the file to
explain what has happened.
This mechanism maintains the unique identification of problems and
axiomatizations.
The syntax of all files is that of Prolog.
This conformance makes it trivial to manipulate the files using Prolog.
All information in the files that is not for use by
ATP systems is formatted as Prolog comments, with a leading %.
The formulae are formatted as Prolog facts.
The tptp2X utility can be used to convert TPTP files to other known ATP system
formats (see
Section The tptp2X Utility).
A description of the information contained in TPTP files is given below.
% Refs : [Gol93] Goller (1993), Anwendung des Theorembeweisers SETHEO a
% Source : [Gol93]
% Names :
% Status : theorem
% Rating : 0.00 v2.1.0
% Syntax : Number of formulae : 19 ( 3 unit)
% Number of atoms : 47 ( 22 equality)
% Maximal formula depth : 6 ( 3 average)
% Number of connectives : 28 ( 0 ~ ; 0 |; 11 &)
% ( 1 <=>; 16 =>; 0 <=)
% ( 0 <~>; 0 ~|; 0 ~&)
% Number of predicates : 3 ( 0 propositional; 2-2 arity)
% Number of functors : 5 ( 3 constant; 0-3 arity)
% Number of variables : 47 ( 0 singleton; 46 !; 1 ?)
% Maximal term depth : 3 ( 1 average)
% Comments :
%--------------------------------------------------------------------------
% Refs : [MOW76] McCharen et al. (1976), Problems and Experiments for a
% Source : [MOW76]
% Names : GP2 [MOW76]
% Status : unsatisfiable
% Rating : 0.60 v2.2.0, 0.67 v2.1.0, 0.89 v2.0.0
% Syntax : Number of clauses : 25 ( 2 non-Horn; 13 unit; 12 RR)
% Number of literals : 43 ( 28 equality)
% Maximal clause size : 4 ( 1 average)
% Number of predicates : 2 ( 0 propositional; 1-2 arity)
% Number of functors : 8 ( 5 constant; 0-2 arity)
% Number of variables : 38 ( 0 singleton)
% Maximal term depth : 3 ( 1 average)
% Comments : Used to define a subgroup of index two is a theorem which
% says that {for all x, for all y, there exists a z such that
... some lines removed here for brevity
% Bugfixes : v1.0.1 - Duplicate axioms multiply_inverse_left and
% multiply_inverse_right removed.
%--------------------------------------------------------------------------
The % File field.
The % Domain field.
The % Problem field.
The % Version field.
The second possible differentiation is the status of the axiomatization,
as discussed in Section Problem Versions.
There are 12 possiblities:
The third possible differentiation between problem versions is in the
theorem formulation. Variations in the theorem formulation are noted in
a Theorem formulation entry, e.g.,
The % English field.
The % Refs field.
The % Source field.
The % Names field.
The % Status field.
The % Rating field.
The % Syntax field.
The % Comments field.
The % Bugfixes field.
Each of the include instructions indicates that the formulae in the
named axiom file should be included at that point.
If the include instruction has a second argument, it may be
a formula name or []ed list of formulae names, in which case only
the named formulae are included from the file.
If there is no second argument, or the second argument is all,
then all the formulae in the file are included.
In Figure Example include section only
reflexivity is included from Axioms/EQU001+0.ax.
Full versions of TPTP problems (without include instructions) can be
created by using the tptp2X utility (see
Section The tptp2X Utility).
A side effect of separating out the axioms into axiom files is that the
formula order in the TPTP presentation of problems is typically different
from that of any original presentation.
This reordering is acceptable because the performance of a decent ATP
system should not be very dependent on a particular formula ordering.
Each formula has a name, in the form of a Prolog atom.
Each formula also has a type, one of axiom, hypothesis,
or conjecture.
There can be at most one conjecture formula, in which case the
problem is to determine if the conjecture is a theorem of the
axiom and hypothesis formulae.
If there is no conjecture then the problem is to determine if
the formulae are satisfiable.
The name, type, and formula are bundled as the three arguments of a Prolog
fact, whose predicate symbol is input_formula.
These facts are in the formulae section of the problem file.
An example of a formula section, extracted from the problem file
GRP194+1.p, is shown in Figure
Example FOF formulae.
Each clause has a name, in the form of a Prolog atom.
Each clause also has a type, one of axiom, hypothesis,
or conjecture.
Clauses of type conjecture are derived from the negation of
the underlying FOF conjecture.
If there are conjecture clauses then the problem is to determine
if the clause set is unsatisfiable, corresponding to the underlying conjecture
being a theorem of the underlying axioms and hypotheses.
If there are no conjecture clauses then the problem is to determine
if the clauses are satisfiable.
Formulae are of type hypothesis only if they can clearly be
determined as such; otherwise they are of type conjecture.
The name, type, and literal list of each clause are bundled as the three
arguments of a Prolog fact, whose predicate symbol is input_clause.
These facts are in the clauses section of the problem file.
An example of a clause section, extracted from the problem file
GRP039-7.p, is shown in Firgure
Example CNF clauses.
The TPTP is managed in the manner of a software product, in the sense that
fixed releases are made.
Each release of the TPTP is identified by a release number,
in the form
v<Version>.<Edition>.<Patch level>.
The Version number enumerates major new releases of the TPTP, in which
important new features have been added.
The Edition number is incremented each time new problems are added
to the current version.
The Patch level is incremented each time errors, found
in the current edition, are corrected.
All non-trivial changes are recorded in a history file, as well as
in the file for an affected problem.
The TPTP Domain Structure
This section provides the structure according to which
the problems are grouped into domains.
Some information about the domains is also given.
The Domain Structure of the TPTP.
Logic
Combinatory logic
COL
Logic calculi
LCL
Henkin models
HEN
Mathematics
Set theory
SET
Graph theory
GRA
Algebra
Boolean algebra
BOO
Robbins algebra
ROB
Left distributive
LDA
Lattices
LAT
Groups
GRP
Rings
RNG
Homological algebra
HAL
General algebra
ALG
Number theory
NUM
Topology
TOP
Analysis
ANA
Geometry
GEO
Field theory
FLD
Category theory
CAT
Computer science
Computing theory
COM
Knowledge representation
KRS
Natural Language Processing
NLP
Planning
PLA
Agents
AGT
Software creation
SWC
Software verification
SWV
Engineering
Hardware creation
HWC
Hardware verification
HWV
Social sciences
Management
MGT
Other
Syntactic
SYN
Puzzles
PUZ
Miscellaneous
MSC
An agent is an autonomous software component of a computer program,
typicallly designed to act intelligently and communicate with other
agents.
Indices : DDC ???; MSC 68T35.
References : General
[RN95];
An algebra is a set with a system of operations defined on it.
Indices : DDC 512; MSC 06XX, 20XX.
References : General
[Bou89,
BM65,
BB70]; ATP --.
Analysis is a branch of mathematics concerned with functions and
limits.
The main parts of analysis are differential calculus, integral
calculus, and the theory of functions.
Indices : DDC 515; MSC 26XX.
References : General
[Ros90]; ATP
[Ble90].
A Boolean algebra is a set of elements with two binary operations
which are idempotent, commutative, and associative.
These operations are mutually distributive, there exist universal
bounds 0, 1, and there is a unary operation of
complementation.
Indices : DDC 511.324, 512.89; MSC 06EXX.
References : General
[Whi61,
BM65,
BB70]; ATP --.
A category is a mathematical structure together with the morphisms
that preserve this structure.
Indices : DDC 512.55; MSC 18XX.
References : General
[Mac71]; ATP
[MOW76].
Combinatory logic is about applying one function to another.
It can be viewed as an alternative foundation of mathematics
(or, due to its Turing-completeness, as a programming language).
More formally, it is a system satisfying two combinators and
satisfying reflexivity, symmetry, transitivity, and two equality
substitution axioms for the function that exists implicitly for
applying one combinator to another.
Indices : DDC 510.101; MSC 03B40.
References : General
[CF58,
CHS72,
Bar81]; ATP
[WM88].
Computing theory is a subfield of computer science dealing with
theoretical issues such as decidability (whether or not a given
problem admits an algorithmic solution), completeness (does
an algorithm always find a solution if one exists?),
correctness (are only solutions produced?),
and computational complexity (the resource requirements of
algorithms).
Indices : DDC 004-006; MSC 68XX.
References : General
[HU79]; ATP --.
A field is ring (see below) in which the * operation is
commutative, and for which there is an identity element in G,
and for which each non-identity element of G has an inverse in G.
Indices : DDC 512.32; MSC 12XX.
References : General
[Ada82]; ATP
[Dra93].
Geometry is a branch of mathematics that deals with the measurement,
properties, and relationships of points, lines, angles, surfaces,
and solids.
Indices : DDC 516; MSC 51.
References : General
[Tar51,
Tar59]; ATP
[Qua92].
A graph consists of a finite non-empty set of vertices together
with a prescribed set of edges, each edge connecting a pair of
vertices.
Indices : DDC 510.09; MSC 05CXX, 68R10.
References : General
[Har69,
BB70]; ATP --.
A group is a set G and a binary operation +:GxG -> G which
is associative, and for which there is an identity element in G,
and for which each element of G has an inverse in G.
Indices : DDC 512.2; MSC 20
References : General
[Bou89,
BM65]; ATP
[MOW76].
Homological algebra is an abstract algebra concerned with results
valid for many different kinds of spaces.
Modules are the basic tools used in homological algebra.
Indices : DDC 512.55; MSC 18XX.
References : General
[Wei94]; ATP --.
Henkin models provide a generalized semantics for higher order
logics. This leads to a larger class of models and, as a
consequence, fewer true sentences. However, in contrast to
standard semantics, complete and correct calculi can be found.
Indices : DDC 160; MSC 03CXX.
References : General
[Hen50,
Leb83]; ATP --.
Computer hardware is created by inter-connecting logic gates. Hardware
creation is used to form a circuit that will transform given input
patterns to required output patterns.
Indices : DDC 621.395; MSC 94CXX.
References : General
[Hay93]; ATP
[WW83].
Hardware verification is used to ensure that a previously designed
circuit performs the desired transformation of input patterns to
required output patterns.
One approach is to check the performance of the circuit for every
possible combination of given inputs. Other techniques are also used.
Indices : DDC 621.395; MSC 94CXX.
References : General
[Hay93]; ATP
[Woj83].
Knowledge Representation is concerned with writing down descriptions
that can be manipulated by a machine.
Indices : DDC 006.3; MSC 68T30.
References : General
[BL85,
CM87]; ATP --.
A lattice is a set of elements, with two binary operations
which are idempotent, commutative, and associative, and which
satisfy the absorption law.
Indices : DDC 512.865; MSC 06BXX.
References : General
[BM65]; ATP
[McC88].
A logic calculus defines axioms and rules of inference that
can be used to prove theorems.
This domain currently contains the following logical calculi:
Indices : DDC 511.3; MSC 03XX.
References : General
[Luk63]; ATP
[MW92].
LD-algebras are related to large cardinals. Under a very strong
large cardinal assumption, the free-monogenic LD-algebra can be
represented by an algebra of elementary embeddings. Theorems about
this algebra can be proved from a small number of properties,
suggesting the definition of an embedding algebra.
Indices : DDC 512; MSC 20N02, 03E55, 08B20
References : General --; ATP
[Jec93].
Management is the study of systems, and their use and production
of resources.
Indices : DDC 302-303; MSC 90XX.
References : General --; ATP
[PM94,
PB+94].
A collection of problems which do not fit well into any
other domain.
Natural language processing considers the automated generation and
comprehension of languages used by humans.
Indices : DDC 006.3; MSC 68T50
References : General
[Obe89i,
GWS86]; ATP
[Bos00].
Number theory is the study of integers and their properties.
Indices : DDC 512.7; MSC 11YXX.
References : General
[HW92]; ATP
[Qua92].
Planning is the process of determining the sequence of actions
to be performed by an agent, to reach a specified desired state
from a specified initial state.
Indices : DDC 006.3; MSC 68T99.
References : General
[AK+91]; ATP
[Pla81,
Pla82].
Puzzles are designed to test the ingenuity of humans.
Indices : DDC 510, 793.73; MSC --.
References : General
[Car86,Smu78,
Smu85]; ATP --.
A ring is a group (see above) in which the binary operation is
commutative, with an associative and distributive operation
*:GxG -> G for which there is an identity element in G.
Indices : DDC 512.4; MSC 13XX, 16XX.
References : General
[Bou89,
BB70]; ATP
[MOW76].
The Robbins Algebra domain revolves around the question "Is every
Robbins algebra Boolean?".
Most of the problems in this domain identify conditions that make a
near-Boolean algebra Boolean.
Indices : DDC 512; MSC 03G15.
References : General
[HMT71]; ATP
[Win90].
Classically, a set is a totality of certain definite, distinguishable
objects of our intuition or thought - called the elements of the
set. Due to paradoxes that arise from such a naive definition,
mathematicians now regard the notion of a set as an undefined,
primitive concept
[How72].
Indices : DDC 511.322, 512.817; MSC 03EXX, 04XX.
References : General
[Neu25,
Qui69]; ATP
[Qua92].
Software creation is used to form a computer program that meets given
specifications.
Indices : DDC ???.?; MSC 68N30.
References : General --; ATP --.
Software verification formally establishes that a computer program
does the task it is designed for.
Indices : DDC 005.14; MSC 68Q60.
References : General --; ATP
[WO+92,
MOW76].
Syntactic problems have no obvious semantic interpretation.
Indices : DDC --; MSC --.
References : General
[Chu56]; ATP
[Pel86].
Topology is the study of properties of geometric configurations
(e.g., point sets) which are unaltered by elastic deformations
(homeomorphisms, i.e., functions that are 1-1 mappings between sets,
such that both the function and its inverse are continuous).
Indices : DDC 514; MSC 46AXX.
References : General
[Kel55,
Mun75]; ATP
[WM89].
Problem Versions and Standard Axiomatizations
There are often many ways to formulate a problem for presentation
to an ATP system.
Thus, in the TPTP, there are often alternative presentations of a problem.
The alternative presentations are called versions
of the underlying abstract problem.
As the problem versions are the objects that ATP systems must deal
with, they are referred to simply as problems, and the
abstract problems are referred to explicitly as such.
Each problem is stored in a separate physical file.
In the TPTP the most coarse grain differentiation between problem versions
is whether the problem is presented in FOF or CNF.
Within a given presentation, the primary reason for different versions of
an abstract problem is the use of different axiomatizations.
This issue is discussed below.
A secondary reason is different formulations of the theorem to be proved,
e.g., different clausal forms of a FOF problem.
Commonly, many different axiomatizations of a theory exist.
By using different axiomatizations of a particular theory, different
versions of a problem can be formed.
In the TPTP equality is represented using the equal/2 predicate,
written in prefix notation like all other predicates.
The equal/2 predicate is used if the equality axiomatization in the
problem is complete, i.e., including the required axioms of reflexivity,
symmetry, transitivity, function substitution for all functors, and predicate
substitution for all predicate symbols.
Such a complete equality axiomatization may be either explicit - the axioms
are provided, or implicit - the axioms can be derived.
If the equality axiomatization is not complete, but the 'intention' is
to represent equality, the equalish/2 predicate is used.
Problem Generators
Some abstract problems have a generic nature, and particular instances of
the abstract problem are formed according to some size parameter(s).
An example of a generic problem is the N-queens problem: place N queens
on a N by N chess board such that no queen attacks another.
The formulae for any size of this problem can be generated automatically,
for any size of N >= 2.
Note that satisfiability may depend on the problem size.
Problem, Generator, and Axiomatization Naming
Providing unambiguous names for all problems is necessary in a problem library.
A naming scheme has been developed for the TPTP, to provide unique,
stable names for abstract problems, problems, axiomatizations, and generators.
Files are assigned names according to the schemes depicted in
Sections Problem Naming and
Axiom Naming.
The DDDNNN combination provides an unambiguous name for an abstract
problem or axiomatization.
The DDDNNNFV[.SSS] combination provides an unambiguous name for a
problem or generator, and the DDDNNNFE combination provides an
unambiguous name for a set of axioms.
The complete file names are unique within the TPTP.
For example, the file GRP135-1.002.p contains the group theory
problem number 135, version number 1, generated size
2.
Similarly, the file CAT001-0.ax contains the basic category theory
axiomatization number 1.
DDD
NNN
F
V
.SSS
.T
DDD - Domain name abbreviation.
The domain names and their abbreviations are listed in
Section
The Domain Structure of the TPTP.
NNN - Abstract problem number.
It is unique within the domain.
F - Form.
- for CNF and + for FOF.
V - Version number.
It differentiates between different versions of the abstract
problem, as discussed in
Section Problem Versions.
SSS - Size parameter(s).
These only occur for generated problems, and give the size
parameter(s).
T - File name extension.
p for problem files, g for generator files.
DDD
NNN
F
V
.TT
DDD - Domain name abbreviation.
The domain names and their abbreviations
are listed in
Section
The Domain Structure of the TPTP.
NNN - Axiomatization number.
It is unique within the domain.
F - Form.
- for CNF and + for FOF.
V - Specialization number.
It identifies sets of axioms that are used to specialize an
axiomatization.
Axiomatizations of basic theories are allocated the number
0, and specialization axiom sets are numbered from
1 onwards.
T - File name extension.
An extension ax denotes a file containing axioms
specific to a theory.
An extension eq denotes a file containing equality
substitution axioms for the corresponding theory specific axioms.
Problem Presentation
The physical presentation of the TPTP problem library is such that ATP
researchers can easily use the problems.
The TPTP file format, for problem files and axiom files, has three main
sections.
The first section is a header section that contains information for the user.
This information is not for use by ATP systems (see
Section Using the TPTP).
The second section contains include instructions for axiom files.
The last section contains the formulae that are specific to the problem or
axiomatization.
TPTP generator files have three sections, different from the problem and
axiom files.
The header section of generator files is similar to that of problem and axiom
files, but with place-holders for information that is filled in based on
the size of problem and the formulae generated.
Following that comes Prolog source code to generate the formulae, and finally
data describing the permissible sizes and the chosen TPTP size for the problem.
More details are given in
Section
Writing your own Problem Generators.
The Header Section
This section contains information about the problem, for the user.
It is divided into four parts separated by blank lines.
The first part identifies and describes the problem.
The second part provides information about occurrences of the problem
in the literature and elsewhere.
The third part gives the problem's ATP status and a table of syntactic
measurements made on the problem.
The last part contains general information about the problem.
Examples of TPTP headers, extracted from the problem files GRP194+1.p
and GRP039-7.p, are shown in
Figures Example FOF header and
Example CNF header.
%--------------------------------------------------------------------------
% File : GRP194+1 : TPTP v2.2.0. Released v2.0.0.
% Domain : Group Theory (Semigroups)
% Problem : In semigroups, a surjective homomorphism maps the zero
% Version : [Gol93] axioms.
% English : If (F,*) and (H,+) are two semigroups, phi is a surjective
% homomorphism from F to H, and id is a left zero for F,
% then phi(id) is a left zero for H.
%--------------------------------------------------------------------------
% File : GRP039-7 : TPTP v2.2.0. Bugfixed v1.0.1.
% Domain : Group Theory (Subgroups)
% Problem : Subgroups of index 2 are normal
% Version : [MOW76] (equality) axioms : Augmented.
% English : If O is a subgroup of G and there are exactly 2 cosets
% in G/O, then O is normal [that is, for all x in G and
% y in O, x*y*inverse(x) is back in O].
This field contains three items of information.
The first item is the problem's name.
The current TPTP release number is given next, followed by the TPTP release
in which the problem was released or last bugfixed (i.e., the formulae were
changed).
The problem name in
Figure Example CNF header is GRP039-7.
The TPTP release is v2.2.0, and the problem clauses were last
bugfixed in release v1.0.1.
The domain field identifies the domain, and possibly a subdomain, from which
the problem is drawn (see Section
The TPTP Domain Structure).
The domain corresponds to the first three letters of the problem name.
The domain of the problem of
Figure Example CNF header is
Group Theory, and the subdomain is Subgroups.
This field provides a one-line, high-level description of the abstract problem.
In axiom files, this field is called % Axioms, and provides a
one-line, high-level description of the axiomatization.
Thus, the problem of Figure Example CNF header
proves that Subgroups of index 2 are normal.
This field gives information that differentiates this version of the problem
from other versions of the problem.
The first possible differentiation is the axiomatization that is used.
If a specific axiomatization is used, a citation is provided.
In the problem of Figure Example CNF header
the axiomatization used is that of
[MOW76].
If the axiomatization is a pure equality axiomatization (uses only the
equal/2 predicate) then this is noted too, as is the case in
Figure Example CNF header.
In the problem of Figure Example CNF header
an existing standard axiomatization has been Augmented, and has
become non-standard due to redundancy.
% Version : [McCharen, et al., 1976] (equality) axioms.
% Theorem formulation : Explicit formulation of the commutator.
This field provides a full description of the problem, if the one-line
description in the % Problem field is too terse.
This field provides a list of abbreviated references for material in which
the problem has been presented.
Other relevant references are also listed.
The reference keys identify BibTeX entries in the Bibliography.bib
file supplied with the TPTP.
The problems in the TPTP have been
(physically) obtained from a variety of sources, both hardcopy and
electronic. In this field the source of the problem is acknowledged,
usually as a citation. If the problem was sourced from an
existing problem collection then the collection name is given in
[ ] brackets.
The problem collections used thus far are:
The problem of Figure Example CNF header was
taken from
[MOW76].
Problems which have appeared in other problem collections or the literature,
often have names which are known in the ATP community.
This field lists all such names known to us for the problem, along with the
source of the name.
If the source is an existing problem collection then the collection name
is cited, as in the % Source field.
If the source of a name is a paper then a citation is given.
If a problem is not given a name in a paper then ``-'' is used as the known
name and a citation is given.
Problems which first appeared in the TPTP have source TPTP, and no other name.
In generator files all known names for instances of the abstract
problem are listed, with the instance size given before the source.
A reverse index, from known names to TPTP names, is
distributed with the TPTP (see
Section Physical Organization).
The problem of Figure Example CNF header is
called GP2 in
[MOW76].
This field gives the ATP status of the problem.
For FOF problems it is one of:
For CNF problems it is one of:
In Figure Example CNF header the status is
unsatisfiable.
This field gives the difficulty of the problem, measured relative to
state-of-the-art ATP systems.
The rating is a real number in the range 0.0 to 1.0, where 0.0 means that all
state-of-the-art ATP systems can solve the problem (i.e., the problem is easy),
and 1.0 means no state-of-the-art ATP system can solve the problem (i.e., the
problem is hard).
The rating is followed by a TPTP release number, indicating in which release
the rating was assigned.
If no rating has been assigned, a ? is given.
In Figure Example CNF header the rating is
0.60, assigned in release v2.2.0.
This field lists various syntactic measures of the problem's clauses.
The measures for CNF problems are:
the number of clauses,
the number of non-Horn clauses,
the number of unit clauses,
the number of range restricted clauses,
the number of literals,
the number of equality literals,
the maximal and average clause size (measured by number of literals),
the number of distinct predicate symbols,
the number of distinct propositional symbols,
the minimal and maximal predicate symbol arities,
the number of distinct function symbols,
the number of distinct constants,
the minimal and maximal functor arities,
the number of distinct variables,
the number of singleton variables
(variables that appear only once in a clause),
and the maximal and average term depth (with constants and variables having
depth 1).
The measures for FOF problems are:
the number of formulae,
the number if unit formulae,
the number of atoms,
the number of equality atoms,
the maximal and average formula depth,
the number of connectives,
the numbers of each type of connective,
the number of distinct propositional symbols,
the minimal and maximal predicate symbol arities,
the number of distinct function symbols,
the number of distinct constants,
the minimal and maximal functor arities,
the number of distinct variables,
the number of singleton variables,
the numbers of universally and existentially quantified variables,
and the maximal and average term depth.
See Section Inside the TPTP
for a summary of this information over the entire TPTP.
This field contains free format comments about the problem, e.g.,
the significance of the problem, or the reason for creating the problem.
If the problem was created using the tptp2X utility (see
Section The tptp2X Utility) then the
tptp2X parameters are given.
This field describes any bugfixes that have been done to the formulae of
the problem.
Each entry gives the release number in which the bugfix was done, and
attempts to pinpoint the bugfix accurately.
In the problem of Figure Example CNF header
a bugfix was made in release v1.0.1, by removing duplicate
multiply_inverse_left and multiply_inverse_right clauses.
The Include Section
The include section contains include instructions for TPTP axiom
files.
An example is shown in
Figure Example include section,
extracted from the problem file GRP194+1.p.
%--------------------------------------------------------------------------
%----Include reflexivity from the axioms of equality
include('Axioms/EQU001+0.ax',[reflexivity]).
%----Include Semigroup axioms
include('Axioms/GRP007+0.ax').
%----Include Substitution axioms for semigroup axioms
include('Axioms/GRP007+0.eq').
%--------------------------------------------------------------------------
The Formulae Section for FOF Problems
The atoms that appear in a formula are presented in the form of Prolog terms.
The connectives used to build non-atomic formulae are
prefix ~ for negation,
infix | for disjunction,
infix & for conjunction,
infix <=> for equivalence,
infix => for implication,
infix <= for reverse implication,
infix <~> for non-equivalence (XOR),
infix ~| for negated disjunction (NOR), and
infix ~& for negated conjunction (NAND).
Negation has higher precedence than the binary connectives, but no
precedence between binary connectives is assumed; brackets are used to
ensure the correct association.
The binary connectives are right associative.
The universal quantifier is ! and the existential quantifier is
?.
Quantified formulae are written in the form
<Quantifier> [<Variables>] : <Formula>.
FOF formulae can be read as Prolog terms using appropriate operator
definitions.
%--------------------------------------------------------------------------
input_formula(phi_substitution_1,axiom,(
! [A,B] :
( equal(A,B)
=> equal(phi(A),phi(B)) ) )).
%----Definition of a homomorphism
input_formula(homomorphism1,axiom,(
! [X] :
( group_member(X,f)
=> group_member(phi(X),h) ) )).
... some formulae omitted here for brevity
%----Definition of left zero
input_formula(left_zero,axiom,(
! [G,X] :
( left_zero(G,X)
<=> ( group_member(X,G)
& ! [Y] :
( group_member(Y,G)
=> equal(multiply(G,X,Y),X) ) ) ) )).
%----The conjecture
input_formula(left_zero_for_f,hypothesis,(
left_zero(f,f_left_zero) )).
input_formula(prove_left_zero_h,conjecture,(
left_zero(h,phi(f_left_zero)) )).
%--------------------------------------------------------------------------
The Clauses Section for CNF Problems
The literals that make up a clause are presented as a Prolog list of terms
(i.e., in [ ]).
Each literal is a unary term whose functor is either ++ or
--, indicating a positive or negative literal respectively.
The argument of the term is the atom of the literal, in the form of a
Prolog term.
Thus predicate symbols and functors start with lower case alphanumeric,
and variables start with upper case alphabetic.
Variables may not start with an _.
All symbols contain only alphanumerics and _.
If a symbol starts with a numeric, it contains only numerics (i.e., it is
a number).
FOF formulae can be read as Prolog terms using appropriate operator
definitions for ++ and --.
%--------------------------------------------------------------------------
%----Redundant two axioms
input_clause(right_identity,axiom,
[++equal(multiply(X,identity),X)]).
input_clause(right_inverse,axiom,
[++equal(multiply(X,inverse(X)),identity)]).
... some clauses omitted here for brevity
%----Denial of theorem
input_clause(b_in_O2,hypothesis,
[++subgroup_member(b)]).
input_clause(b_times_a_inverse_is_c,hypothesis,
[++equal(multiply(b,inverse(a)),c)]).
input_clause(a_times_c_is_d,hypothesis,
[++equal(multiply(a,c),d)]).
input_clause(prove_d_in_O2,conjecture,
[--subgroup_member(d)]).
%--------------------------------------------------------------------------
Physical Organization
The TPTP is physically organized into six subdirectories, as follows:
The files in the Documents directory contain comprehensive online
information about the TPTP.
They summarize much of the information contained in this report, in
specific files.
Their format provides quick access to the data, using standard system
tools (e.g., grep, awk).