My type theory post about the different interpretations of a proposition caused a furor in the comments. Understand what’s going on that caused all of the confusion is going to be important as we continue to move forward into type theory.
The root problem is really interesting, once you see what’s going on. We’re taking a statement that, on the face of it, isn’t about sets. Then we’re appyling a set-based interpretation of it, and looking at the subset relation. That’s all good. The problem is that when we start looking at a set-based interpretation, we’re doing what we would do in classical set theory – but that’s a different thing from what we’re doing here. In effect, we’re changing the statement.
For almost all of us, math is something that we learned from the perspective of axiomatic set theory and first order predicate logic. So that’s the default interpretation that we put on anything mathematical. When you talk about a a proposition as a set, we’re programmed to think of it in that classical way: for any set , there’s a logical predicate such that by definition, . When you see in a set-theory context, what you think is something like . Under that intepretation, the idea that is equivalent to is absolutely ridiculous. If you follow the logic, implication must be the reverse of the subset relation!
The catch, though, is that we’re not talking about set theory, and the statement that we’re looking at is emphatically not . And that, right there, is the root of the problem.
always means – it doesn’t matter whether we’re doing set theory or type theory or whatever else. But in set theory, when we talk about the intepretation of as a set, right now, in the world of type theory, we’re talking about a different set.
Super set doesn’t suddenly mean subset. Implication doesn’t start working backwards! and yet, I’m still trying to tell you that i really meant it when i said that superset meant implication! how can that possibly make sense?
In type theory, we´re trying to take a very different look at math. In particular, we’re building everything up on a constructive/computational framework. So we’re necessarily going to look at some different interpretations of things – we’re going to look at things in ways that just don’t make sense in the world of classical set theory/FOPL. We’re not going to contradict set theory – but we’re going to look at things very differently.
For example, the kind of statement we’re talking here about is a complete, closed, logical proposition, not a predicate, nor a set. The proposition is a statement like “‘hello’ has five letters”.
When we look at a logical proposition , one of the type theoretic interpretations of it is as a set of facts: can be viewed as the set of all facts that can be proven true using . In type theory land, this makes perfect sense: if I’ve got a proof of , then I’ve got a proof of everything that can prove. isn’t a statement about the items in s proof-set. is a logical statement about something, and the elements of the proof-set of are the things that the statement can prove.
With that in mind, what does mean in type theory? It means that everything provable using is provable using nothing but .
(It’s really important to note here that there are no quantifiers in that statement. Again, we are not saying . and are atomic propositions – not open quantified statements.)
If you are following the interpretation that says that is the set of facts that are provable using the proposition , then if , that means that everything that’s in must also be in . In fact, it means pretty much exactly the same thing as classical superset. is a set of facts provable by the statement . The statement is provable using the statement – which means that everything in the provable set of must, by definition! be in the provable set of .
The converse doesn’t hold. There can be things provable by (and thus in the proof-set of ) which are not provable using . So taken as sets of facts provable by logical propositions, !
Again, that seems like it’s the opposite of what we’d expect. But the trick is to recognize the meaning of the statements we’re working with, and that despite a surface resemblance, they’re not the same thing that we’re used to. Type theory isn’t saying that the set theoretic statements are wrong; nor is set theory saying that type theory is wrong.
The catch is simple: we’re trying to inject a kind of quantification into the statement which isn’t there; and then we’re using our interpretation of that quantified statement to say something different.
But there’s an interpretation of statements in type theory which is entirely valid, but which trips over our intuition: our training has taught us to take it, and expand it into an entirely different statement. We create blanks that aren’t there, fill them in, and by doing so, convert it into something that it isn’t, and confuse ourselves.