unit, top, bottom
Thank you for your criticism. If I'm not missing anything, Haskell's () and Void type corresponds to the unit and bottom type respectively. What would the top type be in Haskell?
It's not "every system" which proves all truth is inconsistent right? Propositional logic, and first order logics are both sound, and complete. The article talks about propositional logic, so in my understanding, it should be complete and sound too.
Hmm, interesting point.
Propositional logic, and first order logics are both sound, and complete
From the wikipedia article of Godel's Completeness Theorem,
The completeness theorem applies to any first-order theory: If T is such a theory, and φ is a sentence (in the same language) and every model of T is a model of φ, then there is a (first-order) proof of φ using the statements of T as axioms. One sometimes says this as "anything universally true is provable". This does not contradict Gödel's incompleteness theorem, which shows that some formula φu is unprovable although true in the natural numbers, which are a particular model of a first-order theory describing them — φu is just false in some other model of the first-order theory being considered (such as a non-standard model of arithmetic for Peano arithmetic). This kind of failure of consistency between a standard and non-standard model is also called Omega Inconsistency.
My interpretation is that propositional logic is complete, but propositional logic is incomplete when you consider facts about propositional logic.
This would be great to post on /c/formal_methods which was just created!
thanks for using Leebra!
go to feed...
Great read. Only constructive criticism I have is a pet peeve of mine that is especially prevalent in type theory articles. In particular it may be worth mentioning the more formal names of some of the types discussed. Trying to map Haskell's types to other languages can be very tricky and can hinder understanding. Mentioning more googleable names like unit, top, bottom, can be helpful in disambiguation which characteristics are intrinsic to the Haskell type, versus which are properties of the type system in general.
save