Background
What is an Interpretation?
Based on Wikipedia
Why is Model Finding Useful?
Is there a need for model finding systems that:
Representation of Interpretations
Types of interpretations include:
Properties of Different Representations
A Saturation (S) is a way of writing a Herbrand interpretation
(HI) of input formulae (I). I learned that a HI consists of:
Domain (D) = The Herbrand Universe (HU), and if the HU is empty add a new
constant.
Function map (F) = Identity
Predicate map (P) = Some way of saying which elements of the Herbrand
Base (HB) are true/false.
So, simplistically, S can be represented in the TPTP format by providing
the conjunction of the universally quantified formulae of S. Yeah, I know
a saturation is modulo the ATP system's ordering, so it might not be
possible to prove S |= I, but let's gloss over that for now. There might
be a deeper issue: In the CNF context, S can contain symbols not in I
(e.g., Skolems), and hence not part of the HU. So formally, S might not
be an interpretation of I. What problems might arise? I'm thinking of an
example like ...
Axioms
? [X] : p(X)
HI
D = {a}
F = id
P = p(a) == true
But ...
S = {p(sk)}
Here p(sk) |= ? [X] : p(X). Are there any weird cases where things break?
Can we say that an S that contains symbols not from the I really represents
a HI of I? Or only a HI of CNF(I), then lean on equisatisfiability to prove
that "if S |= I then HI |- I" where HI is somehow constructed from S?
>> During my talk yesterday you indicated that you have or know of ways that
>> saturations can be useful. Can you point me at what to read, please (or
>> just tell me the story!). Thanks.
Saturations provide a very useful ways to study modal logics, description
logics, fragments of FOL, any sets of formulas really. If the saturation is
ground models can be read off. If they are not ground clauses can be read as
rules or properties.
What makes clauses hard to read is nested Skolem terms and clauses that are not
obviously expressible as first-order formulas.
If structural transformation is done as part of (the translation to FOL for
non-classical logics and) clausification, and ordered resolution/superposition
is used, then the saturation will often contain only flat clauses which do not
contain any nested terms. This can't be generally guaranteed but if the right
combinations of structural transformation and a refinement of resolution for a
large number of decidable logics and solvable fragments the saturation will be
flat (and finitely bounded) and thus readable and useful for gaining insight
into the problem/the logic and the behaviour of inference.
Much of the work in developing resolution decision procedures involves
developing combinations of techniques so that the saturation is well-behaved
(usually flat).
>>> You may quote me. Please also cite
>>> https://link.springer.com/chapter/10.1007/978-3-642-37651-1_15
In recent work we developed a saturation method for deciding Boolean conjunctive
querying and query rewriting for a large class of guarded fragments which
produces saturations which can be back-translated in FOL, i.e., the saturation
is readable.
Reference: https://link.springer.com/article/10.1007/s10817-023-09687-x
We have also investigated how resolution can be used to simulate other inference
methods, e.g. modal tableau. For this again structural transformation is crucial
and in the case of tableau we use hyperresolution, where for modal and
description logics the saturation will be ground and thus nice, because readable
in the source logic.
Reference: Section 2 in this paper http://dx.doi.org/10.1016/j.entcs.2010.04.016
[https://ars.els-cdn.com/content/image/S15710661.gif]
Representation of FOF Finite Interpretations
Consider the following FOF problem from the
TPTP Format for Finite Interpretations in the TPTP Quick Guide.
It is CounterSatisfiable, i.e., there is a model for the axioms and negated conjecture.
[an error occurred while processing this directive]
A weakness of the format for the finite interpretation presented in the
TPTP Format for Finite Interpretations in the TPTP Quick Guide
is that the format relies on the formulae names (all the same) to link the three
components of the interpretation, which is not allowed in the TPTP world.
In the new format these are merged into a single annotated formula with the role
interpretation:
[an error occurred while processing this directive]Note how the use of "distinct object"s makes the domain elements distinct.
The parts of a single interpretation formula can be separated out at varying levels of granularity, using subroles. At a medium grained level the domain and mappings can be separated:
[an error occurred while processing this directive]
At a fine grained level the domain and mappings can be separated by symbol:
[an error occurred while processing this directive]
[an error occurred while processing this directive](This saturation was created by E.)
Representation of FOF Formulae Interpretations
The new format for interpretations can also be used for formulae that induce a set of Herbrand
interpretations, by giving the formulae the role interpretation-herbrand
(the -herbrand is optional but useful):
[an error occurred while processing this directive]
(This set of formulae is a modified version of the
Herbrand-formulae created by
iProver.)
[an error occurred while processing this directive]... and a finite interpretation (a countermodel for the conjecture) is ...
[an error occurred while processing this directive]
The parts of a single interpretation formula can be separated out at varying levels of granularity, using subroles. At a medium grained level the domain and mappings can be separated:
[an error occurred while processing this directive]At a fine grained level the individual symbol mappings can be separated. The types of the symbols and the types of the domain must be given.
[an error occurred while processing this directive]
If you baulk at using the same type for domains elements as terms (and it does get murky, e.g., when quantification over only the domain elements is intended, e.g., in ! [DH: human] : ( DH = d_jon ), you can use new types for the domain elements. This is mandatory when the domain elements are complex, or of a defined type like $int. Sadly using separate types makes it necessary to add bijections between domain types and term types, to keep things well typed. Here's an example ...
[an error occurred while processing this directive]With the use of separate domain types, use of quantification is clear, e.g., ...
[an error occurred while processing this directive]
Record world information in interpretation-formulas, using
a new defined type $world,
a new defined predicate $in_world with type ($world * $o) > $o,
a new defined predicate $accessible_world with type ($world * $world) > $o,
and
a new defined constant $local_world with type $world.
Syntactically distinct constants of type $world are known to be unequal.
The interpretation in a world is represented as above, with guards used to specify the worlds
in which the interpretation is used.
The logic specification of the problem is included as a comment, because the
interpretation-formulae under-specify the logic, e.g., it's usually not possible to see whether
an interpretation was meant to exemplify a S5 logic specification or a K logic specification - in
both cases the concrete model could interpret the accessibility relation as equivalence
relation (this is required for S5 but it is also OK for K).
Representation of TXF Interpretations
Representation of THF Interpretations
The following TH0 problem is CounterSatisfiable, i.e., there is a model for the axioms and
negated conjecture.
[an error occurred while processing this directive]
Here's a finite model (that I found using Nitpick) ...
[an error occurred while processing this directive]
Representation of Infinite Interpretations
Consider the following TFF example that requires an integer size domain ...
[an error occurred while processing this directive]
Here's a model using closed terms representing Peano numbers as the domain elements ...
[an error occurred while processing this directive]
Here's a model using the integers for the domain elements ...
[an error occurred while processing this directive]
Finite and infinite domains can be mixed.
Here's a problem that can be
proven by Vampire.
With the conjecture modified as below, it has a countermodel with integer domains for the X and
Y positions (mimicing the logic), and a finite domain for the Z level.
[an error occurred while processing this directive]
Here's the countermodel ...
[an error occurred while processing this directive]
Representation of Kripke Interpretations
This can be done in only a typed logic.
Representation of Finite-Finite Kripke Interpretations - Global Axioms
Here's a non-theorem.
Note that there are only global axioms and a local conjecture, which is the standard for
satisfiability checking with Kripke semantics.
[an error occurred while processing this directive]
After using NTF2THF to embed the
problem into TH0, Nitpick
finds a model
with a finite number of worlds each of which has a finite domain (hence a "Finite-Finite Kripke
Interpretation") that I converted by hand into TPTP format ...
[an error occurred while processing this directive]
Representation of Finite-Finite Kripke Interpretations - Global and Local Axioms
Here's a problem that can be
proven by Leo-III.
Note that it has both global and local axioms (contrary to the standard case for proving, where
all the axioms are global).
With the conjecture modified as below, it has a countermodel with a finite number of worlds
each of which has a finite domain ...
[an error occurred while processing this directive]
After using NTF2THF to embed the
problem into TH0, Nitpick finds a
countermodel
that I converted by hand into TPTP format ...
[an error occurred while processing this directive]
Representation of Finite-Infinite Kripke Interpretations
Here's a problem that can be
proven by Leo-III.
With the conjecture modified as below, it has a countermodel that requires (I think, at least
it uses) only two worlds, and they have infinite domains because sequences of tosses are infinite
and different sequences are unequal.
[an error occurred while processing this directive]
After using NTF2THF to embed the problem
into TH0, Nitpick cannot find a countermodel ... as expected ... Nitpick can find only finite
models.
So I hand-rolled a countermodel.
In the countermodel sequences of tosses are represented by integers, with the null sequence
represented by 1.
The encoding is easy to see in binary, reading the tosses left-to-right and the bits
right-to-left.
If the last bit is 0 a head was tossed, if 1 a tail was tossed:
null = 1 = 0001,
head = 2 = 0010,
tail = 3 = 0011,
head-head = 4 = 0100,
head-tail = 5 = 0101,
tail-head = 6 = 0110,
tail-tail = 7 = 0111,
head-head-head = 8 = 1000,
head-head-tail = 9 = 1001,
head-tail-head = 10 = 1010,
head-tail-tail = 11 = 1011,
tail-head-head = 12 = 1100,
etc, etc.
The local world tosses a sequence of heads, interpreted as integer domain elements that are
powers of 2.
The other world first tosses a tail, represented by 3, and then tosses all heads, interpreted as
integer domain elements that are powers of 2 multiplied by 3.
There is no definition of sequences interpreted as integer domain elements less or equal to 0,
but they are not "all_heads".
[an error occurred while processing this directive]
Representation of Infinite-Finite Kripke Interpretations
This example requires (I think) an infinite number of worlds.
The interpretation in the local world will have an infinite domain, but all the other
worlds' domains need only a single element (one of the domain elements from the local world).
All the domain elements of the local world need to have a corresponding world with that
domain element.
[an error occurred while processing this directive]
Here's a model with an integer number of worlds.
[an error occurred while processing this directive]
Representation of Infinite-Infinite Kripke Interpretations
Here's a problem that I think
should be provable, but none of the ATP systems I know can (after
conversion to TH0, Leo-III
does not have the arithmetic power, E, Vampire, and Zipperposition don't do arithmetic (at least
in THF), cvc5 gives parse error).
With the conjecture commented out as below, the axioms have a an Infinite-Infinite model (I think).
[an error occurred while processing this directive]
Here's a model in which there are an infinite number of worlds - one for each integer numbered
year, an infinite number of ages as integers, and just one person in each world.
[an error occurred while processing this directive]