formula which is k-valid for only k > 2


I need to find a formula, which is satisfiable in all interpretations of a domain with k>2 elements, but shouldn't be satisfiable in any domains with k≤2 elements. As I understand it, that means that the predicate A can be any binary predicate (e.g. '=', 'not equal', '<' and so on) and the formula still has to be true for k > 2 and false otherwise.

I've found something like this (∪ means 'and'):

∀x, ∃y,z: [A(x,x) ∪ A(y,y) ∪ A(z,z)] ≡ [notA(x,y) ∪ notA(y,z) ∪ notA(x,z)]

But there is still an error in this. Has anyone an idea of a correct formula?

Thanks a lot!


Posted 2013-11-22T06:33:19.917

Reputation: 11



You've indicated in the comments to Peter Smith that you don't insist that = will be interpreted as identity, but that you want your formula to hold in all models of size larger than two, but not in all models of size two or less.

In this case, your task is impossible: there can be no such formula. That is, without = being treated as identity, there is no formula that is true in all models of size larger than two and fails in some domain of size 2 or smaller. To see this, consider a model M of size less than two, where the formula fails. Let us now take one of the points p in the domain of M and duplicate it an enormous number of times. Let us define a new model M+ that has all the objects of M and all these additional duplicates of p, but we define the relations and structure on M+ by thinking of these new duplicates of p as being just like p. So for example, we declare p1=p2 to hold in M+ for any two duplicates, even when they are not identical, and we declare M+ satisfies A(p2,y) just in case M has A(p,y). So in other words, the duplicates of p have all the same properties in M+ as p has in M. It follows that M+ satisfies all the same sentences that M does, and so M+ fails the designated formula, since this formula failed in M. But this contradicts the requirement that the formula hold in all models of size larger than two.

So the task is impossible, if you don't allow = to mean actual identity. If you do allow this, then Peter Smith's answer is the simplest one.


Posted 2013-11-22T06:33:19.917

Reputation: 3 508


∃x∃y∃z(¬x = y ^ ¬y = z ^ ¬z = x)

Peter Smith

Posted 2013-11-22T06:33:19.917

Reputation: 1 032

But the problem here is, I have to use a predicate or function symbole instead of '=', and this symbol can mean anything e.g. '=' or 'not equal' and so on. And then the formula still has to be true in each interpretation of A. So if I would write this formula in such a way it would give me: ∃x∃y∃z (A(¬x,y) ^ A(¬y,z) ^ A(¬z,x)) But this formula wouldn't be valid if the interpretation of A is e.g. 'not equal', it's just valid if the interpretation of A is e.g. '='. – user110492 – 2013-11-22T10:31:15.853


My version is a simplification of your version. On the left we have for all x, A is a function that maps x to x. In other words A is an identity function.

Given this identity function A, there exist an a,b,c such that A does not map a to b, b to c or c to a. In other words, a, b, and c are all distinct.

Please note that my arrow only goes from the left to the right. Since we are being agnostic about the nature of A, nothing on the right entails that it must be the identity function.

This should be a statement that is true in all and only domains of discourse with at least three distinct elements.

∀x[A(x,x)] -> ∃a∃b∃c[NOT A(a,b) AND NOT A(b,c) AND NOT A(c,a)]

Chris Sunami supports Monica

Posted 2013-11-22T06:33:19.917

Reputation: 23 641

Your sentence is false in any model where A is always true, regardless of whether the domain has size three or not. – JDH – 2014-01-25T13:48:14.850