Tyrrell_McAllister comments on But Somebody Would Have Noticed - Less Wrong

36 Post author: Alicorn 04 May 2010 06:56PM

You are viewing a comment permalink. View the original post to see all comments and the full post content.

Comments (250)

You are viewing a single comment's thread. Show more comments above.

Comment author: cousin_it 05 May 2010 07:35:48AM *  2 points [-]

as long as you have a set of all sets and the ability to take subsets specified by properties, you get Russell's paradox.

Yes, that's true. What I have in mind is restricting the latter ability a bit, by the minimum amount required to get rid of paradoxes. Except if you squint at it the right way, it won't even look like a restriction :-)

I will use the words "set" and "predicate" interchangeably. A predicate is a function that returns True or False. (Of course it doesn't have to be Turing-computable or anything.) It's pretty clear that some predicates exist, e.g. the predicate that always returns False (the empty set) or the one that always returns True (the set of all sets). This seems like a tiny change of terminology, but to me it seems enough to banish Russell's paradox!

Let's see how it works. We try to define the Russell predicate R thusly:

R(X) = not(X(X))

...and fail. This definition is incomplete. The value of R isn't defined on all predicates, because we haven't specified R(R) and can't compute it from the definition. If we additionally specify R(R) to be True or False, the paradox goes away.

To make this a little more precise: I think naive set theory can be made to work by disallowing predicates, like the Russell predicate, that are "incompletely defined" in the above sense. In this new theory we will have "AFA-like" non-well-founded sets (e.g. the Quine atom Q={Q}), and so we will need to define equality through bisimilarity. And that's pretty much all.

As you can see, this is really basic stuff. There's got to be some big idiotic mistake in my thinking - some kind of contradiction in this new notion of "set" - but I haven't found it yet.

EDITED on May 13 2010: I've found a contradiction. You can safely disregard my theory.

Comment author: Tyrrell_McAllister 05 May 2010 07:36:30PM *  1 point [-]

Let's see how it works. We try to define the Russell predicate R thusly:

R(X) = not(X(X))

...and fail. This definition is incomplete. The value of R isn't defined on all predicates, because we haven't specified R(R) and can't compute it from the definition. If we additionally specify R(R) to be True or False, the paradox goes away.

How is it that the paradox "goes away"? If you "additionally specify R(R) to be True or False", don't you just go down one or the other of the two cases in Russell's paradox?

Suppose we decide to specify that R(R) is true. Then, by your definition, not(R(R)) is true. That means that R(R) is false, contrary to our specification. Similarly, if we instead specify that R(R) is false, we are led to conclude that R(R) is true, again contradicting our specification.

The conclusion is that we can't specify any truth value for R(R). Either truth value leads to a contradiction, so R(R) must be left undefined. Is that what you mean to say?

Comment author: cousin_it 05 May 2010 07:38:38PM *  0 points [-]

Suppose we decide to specify that R(R) is true. Then, by your definition not(R(R)) is true.

No, in this case R(X) = not(X(X)) for all X distinct from R, and additionally R(R) is true. This is a perfectly fine, completely defined, non-self-contradictory predicate.

Comment author: Larks 13 May 2010 09:30:27AM 1 point [-]

Why is R(X) = not(X(X)) only for R =/= X? In Russell's version, X should vary over all predicates/sets, meaning when instance X with R, we get

R(R) = ¬R(R)

as per the paradox.

Comment author: Tyrrell_McAllister 05 May 2010 08:21:51PM *  1 point [-]

Okay, I see. I see nothing obviously contradictory with this.

From a technical standpoint, the hard part would be to give a useful criterion for when a seemingly-well-formed string does or does not completely define a predicate. The string not(X(X)) seems to be well-formed, but you're saying that actually it's just a fragment of a predicate, because you need to add "for X not equal to this predicate", and then give an addition clause about whether this predicate satisfies itself, to have a completely-defined predicate.

I guess that this was the sort of work that was done in these non-foundational systems that people are talking about.

Comment author: cousin_it 05 May 2010 08:50:30PM *  1 point [-]

I guess that this was the sort of work that was done in these non-foundational systems that people are talking about.

No, AFA and similar systems are different. They have no "set of all sets" and still make you construct sets up from their parts, but they give you more parts to play with: e.g. explicitly convert a directed graph with cycles into a set that contains itself.

Comment author: Tyrrell_McAllister 05 May 2010 09:17:42PM *  0 points [-]

No, AFA and similar systems are different.

I didn't mean that what you propose to do is commensurate with those systems. I just meant that those systems might have addressed the technical issue that I pointed out, but it's not yet clear to me how you address this issue.