A Simple Type System for FOF

Koen Claessen, Geoff Sutcliffe

The goal of this document is to:


The Proposal for TFF0

The initial proposal is for a simple type system that helps users write well-typed problems, and imposes very little burden on ATP system implementors. This is the core TFF language, known as TFF0 (analogous to THF0). In the future the full TFF language will be developed, including more powerful constructs, e.g., subtyping. See the following sections for the options and arguments that led to this proposal.


The next section is a developmental idea that should be ignored
except by Geoff and other TPTP developers.


The following sections summarize relatively well-known features and options of type systems
that we considered when putting this proposal together.

Type System

A type system consists of the following:

Feature Summary

The following features can be discussed when talking about type systems:

Equality

There are various options for dealing with equality:


We think ...

It is probably impossible to have a type system where all of the above is present; some features just don't mix well with each other. Here are some observations/conjectures:

The Effect on ATP Systems

What is the effect of typing on ATP systems?

Theorem provers: TODO. Reference: SPASS and soft typing.

Model finders have an easier task to find typed models, as long as the domains of the separate types are as most as large as the domain of the untyped version of the problem. This is the case for the first proposal, but definitely not for the second.