Yes, I know. They say, the 2nd order logic is more expressive, but it is really hard to me to see why. If we have a domain X, why can't we define the domain X' = X u 2^X and for elements of x in X' define predicates:

SET(x)

ELEMENT(x)

BELONGS_TO(x, y) - undefined (or false) when ELEMENT(y)

etc.

Now, we can express sentences about subsets of X in the 1st-order logic!

Similarly we can define FUNCTION(x), etc. and... we can express all 2nd-order sentences in the 1st order logic!

I'm obviously overlooking something, but what actually? Where have I made a mistake?

More Bartlomiej Jacek Kubica's questions See All
Similar questions and discussions