[SCL] Identity and Horrocks sentences

Christopher Menzel cmenzel at tamu.edu
Fri May 30 22:17:22 CDT 2003


Greetings, Tanel.

On Friday, May 30, 2003, at 05:14  PM, Tanel Tammet wrote:
>>> Lemma:
>>>
>>> "Given a formula F in traditional FOL without equality and its
>>> encoding enc(F) using App/Pred then: F is satisfiable in traditional
>>> FOL iff enc(F) is satisfiable in traditional FOL, provided that the
>>> following CONDITION holds: any first argument of App and Pred in
>>> enc(F) is a constant."
>>
>> The condition here seems vacuous.  By hypothesis F is a formula of
>> traditional FOL ("TFOL") w/o equality.  Hence, all expressions 
>> occurring
>> in predicate position in F are constants.  Hence, the App/Pred
>> translation of F can't possibly have a variable occurring as first
>> argument to App or Pred.
>
> In one sense, yes. In another sense, the "encoding to App/Pred" is
> not fixed: we may do it in slightly different ways. The encoding
> might involve the addition of axioms, type conditions, etc.

Not competely sure I understand, but ok.

>> And the problem (as I understand it) is
>> that the logical properties of a TFOL sentence can differ depending on
>> whether it is interpreted via SCL or Tarski.  So it's not clear to me
>> how a theorem about the equivalence of a TOFL sentence with its 
>> App/Pred
>> encoding relates to this.
>
> This was the point of the letter: it suddenly seemed to me (and seems
> still), that the logical properties of a TFOL sentence actually
> DO NOT differ depending on whether is interpreted via SCL or Tarski.

Ok, let's see.

> If you axiomatise equality, instead of giving direct semantic 
> conditions
> for it, the differences in equality in TFOL and SCL become very clear.
> See the following elaborations.
>
>> The connection between SCL and App/Pred encodings seems to me to be
>> this.  In a full, unconstrained instance of SCL all predicates are 
>> also
>> individual constants.  For such an instance, a sentence like
>> (*)   (x)(Px <-> ~Qx) & (x,y)x=y
>> is SCL-unsatisfiable but clearly Tarski-satisfiable.   However, the
>> right thing to compare the above with (in some sense of "the right
>> thing"!) is its App/Pred encoding:
>> (**)  (x)(Pred(P,x) <-> ~Pred(Q,x)) & (x,y)x=y
>> which is also unsatisfiable.  (I do not think identities should be
>> encoded.)
>
> This is what I objected to: that the identities are not encoded.
> Why aren't they? The identity is a predicate like any other, just
> that it has to be axiomatised for each formula separately, using a
> general schema.
>
> It occurred to me that (**) is NOT the right translation of a TFOL 
> sentence (*)
> at all.

A bold claim!  The reason I am dubious, is that we want = to express 
honest to goodness identity.  If it's translation doesn't express 
honest to goodness identity, then it is not the right translation.

> Let us use "eq" instead of "=" in the following, simply to avoid the
> usual connotations of the "=" predicate.

I'm already worried! :-)

> When we write (*) HONESTLY in TFOL, it looks like this:
>
> (* honest)
>
>     (x)(Px <-> ~Qx) & (x,y)eq(x,y) &
>     (x)  eq(x,x) &
>     (x,y) eq(x,y) => eq(y,x) &
>     (x,y,z) (eq(x,y) & eq(y,z)) => eq(x,z) &
>     (x,y) (eq(x,y) => (P(x) <=> P(y))) &
>     (x,y) (eq(x,y) => (Q(x) <=> Q(y)))

I guess I don't see how this can be an HONEST rendering of (*) in TFOL. 
  There is a model of this sentence on which there are many things, as 
long as eq is an equivalence relation on the domain and either 
everything is P and not Q, or vice versa.  That is a DISHONEST 
rendering of (*)!  In particular, eq is simply an untenable rendering 
of "=".  Things that are not identical can be eq, and so any 
translation of (*) that renders identity as eq is just plain wrong.  
There is no wiggle room on this point, IMO.

> The right translation of (* honest) to SCL is:
>
> (***)  (x)(Pred(P,x) <-> ~Pred(Q,x)) & (x,y)Pred(eq,x,y) &
>        (x)  Pred(eq,x,x) &
>        (x,y) Pred(eq,x,y) => Pred(eq,y,x) &
>        (x,y,z) (Pred(eq,x,y) & Pred(eq,y,z)) => Pred(eq,x,z) &
>        (x,y) (Pred(eq,x,y) => (Pred(P,x) <=> Pred(P,y))) &
>        (x,y) (Pred(eq,x,y) => (Pred(Q,x) <=> Pred(Q,y)))
>
> The translation (**) simply translates "=" incorrectly,
> ie it is not the "right thing".

It still looks exactly right to me.

> The axiomatised version of (**) follows (named (****)):
> (I use "eqscl" instead of "eq" in the following to avoid confusion):
>
> (****) (x)(Pred(P,x) <-> ~Pred(Q,x)) & (x,y)eqscl(x,y) &
>        (x)  eqscl(x,x) &
>        (x,y) eqscl(x,y) => eqscl(y,x) &
>        (x,y,z) (eqscl(x,y) & eqscl(y,z)) => eqscl(x,z) &
>        (x,y,z) eqscl(x,y) => (Pred(x,z) <=> Pred(y,z))) &
>        (x,y,z) eqscl(x,y) => (Pred(z,x) <=> Pred(z,y)))
>
> Observe that the incorrect translation (****) is different
> from (***) and violates the condition of the lemma.

Right, but still unconvinced eqscl is the way to represent identity.

>>> Ie, we add the following axioms to the example F, called (*): -
>>> reflexivity, symmetry, transitivity - substitution axioms for the 
>>> particular example, two needed:
>>> forall x,y. (x=y => (P(x) <=> P(y)).
>>> forall x,y. (x=y => (Q(x) <=> Q(y)).
>>>
>>> If we do the same for enc(F) we get the following axioms called (**) 
>>> instead: - same reflexivity, symmetry, transitivity - different 
>>> substitution axioms: forall x,y,z. (x=y => (Pred(x,z) <=> 
>>> Pred(y,z))).
>>> forall x,y,z. (x=y => (Pred(z,x) <=> Pred(z,y))).
>> I don't get it.  How does this general substitution principle arise 
>> out
>> of the axioms above?  Why aren't the corresponding axioms:
>> forall x,y. (x=y => (Pred(P,x) <=> Pred(P,y)).
>> forall x,y. (x=y => (Pred(Q,x) <=> Pred(Q,y)).
>
> I am not inventing anything here. The obvious explanation follows:
>
> When you take a TFOL formula F and encode it using App/Pred to
> enc(F), then you get a TFOL formula again: just a different
> TFOL formula, this time containing App and Pred.
>
> The equality predicate in TFOL has a standard axiomatisation,
> and one important part of this is the set of substitution axioms.
> As you know, we have to axiomatise substitution of equals for
> equals into ALL argument positions of any predicate and function
> symbol (we have just App and Pred in enc(F)). This is THE
> way to axiomatise equality.

Correct, and it requires a schema in FOL, right?

> The axioms
>
> forall x,y,z. (x=y => (Pred(x,z) <=> Pred(y,z))).
> orall x,y,z. (x=y => (Pred(z,x) <=> Pred(z,y))).
>
> are the correct substitution axioms in TFOL for an arity-two
> predicate "Pred",

Both instances of the more general identity schema:

forall x,y (x=y -> (A -> A[x/y])),

where A[x/y] is the result of replacing all free occurrences of x with 
y (y assumed to be free for x in A).  I'm not quite sure what you mean 
by the above being "susbtitution" axioms for Pred; they are just 
instances of axioms for identity.

> while
>
> forall x,y. (x=y => (Pred(P,x) <=> Pred(P,y)).
> forall x,y. (x=y => (Pred(Q,x) <=> Pred(Q,y)).
>
> obviously are not the correct substitution axioms for "Pred".

Since I'm not clear about what a substitution axiom is, I'm not sure 
how to evaluate this.

> Think about equality as an ordinary predicate axiomatised
> (not predefined in semantics at all) in a traditional way,
> and no confusions arise.
>
> To summarise: the "equality" predicate in a TFOL sentence F
> has a different axiomatisation than the equality predicate
> in its SCL encoding enc(F). Most importantly, the substitution
> axioms are different. These are simply two different "equality"
> predicates!
>
> The "pun" of the Horrocks formula is a mistaken
> translation of one "equality" predicate to another.

I have to admit that I am pretty set in my ways, and that makes it 
difficult for me sometimes to see things that others, with different 
perspectives, find obvious.  Perhaps that is why I do not find what you 
are saying obvious or intuitive, Tanel.

-chris




More information about the Scl mailing list