Maths question: what is the difference between a set and a class?

Alternatively, P and NP are the sets of languages whose decision problems are respectively decidable and verifiable in polynomial time. I’ll have to check my books when I get home, but I think this is the more usual definition. Not that it’s a particularly troublesome disagreement, as the two definitions are equivalent.

But Theoretical CS is the study of the model.

Right. :slight_smile:

Decision problems are equivalent to languages.

As a set theorist, I agree.

A class is a collection of things which does not neccesarily follow the axioms of set theory (usually ZFC ). Thus, talking about V or NP or Ord or whatnot as a class won’t lead to any paradox because there are no assumed axioms to lead us anywhere.
The downside of this, of course, being that we can prove absolutely nothing about classes in general.

I retract my previous statements. It is obvious to me, as ftg said, that I really don’t know enough about this to be posting in this thread. However, rest assured that I will be rectifying this ignorance in a few years, once I get to college/beyond.

What’s that got to do with theoretical CS? I know that algorithms are analysed with respect to a formal model. Theoretical CS is solely concerned with these models and analyses using them, though, isn’t it? These sorts of analyses existed before the computer as we know it today was even invented.

This is swerving into GD territory, but I think the essential distinction is that science develops and test models based on their correspondence with reality, while mathematics is a tool for logically analyzing these theoretical models. One could glibly say that science deals with physical items, but math deals with the metaphysical. By definition, theoretical CS limits the discussion to models, but no computer scientist devoted him/herself exclusively to theory anymore (machines are a lot more fun:)).

The historic development of computer science is somewhat different than physics in that the theoretical models were developed before the machines they attempted to describe existed (by contrast, Newton’s laws described a physical reality that existed long before Newton). This perhaps is why some still consider CS a mathematical discipline.

This is just getting too weird of a thread but I still feel a need to mention two key points:

  1. A lot of Scientists don’t deal with experiments. Theoretical Physicists for example. Some Physicists do experiments some don’t. The ones that don’t aren’t Mathematicians. Substitute “Computer Scientists” for “Physicists” in the last three sentences.

  2. Mathematicians create Math. There are a lot of people who use Math. These include Scientists, Social Scientists, Engineers, etc. Sometimes in a given field, the Math isn’t there yet and people have to create their own Math. E.g., Theoretical Physicists and String Theory. But that isn’t terribly common and the people doing that usually don’t consider themselves Mathematicians.

Theoretical Computer Scientists use Math but don’t usually create Math. Ergo, not Mathematicians.

From our perspective, it’s like confusing a person who builds cars with a person who drives cars. It is that big of a distinction.