Talk:Principia Mathematica propositional logic

Need for .foo versus foo
I think I understand why Nicod's reduction of Principia Mathematica needs both .Taut and Taut (and likewise for all the others), based on the two different definitions of implication. On the other hand, in this module, to get it to export, I seem to face a similar problem but it is just about the names. It seems solvable by just adding  and likewise for all the others, but before I go add that for every one, I thought I should ask whether there is an easier or better way. Kingdon 03:48, 10 January 2010 (UTC)


 * The dot is just an arbitrary prefix. You can choose any character sequence which would make a valid identifier instead. Plus (and that's probably what you want here) you can take the empty string as prefix by replacing  with   in your export.--GrafZahl (talk) 11:43, 10 January 2010 (UTC)


 * Yeah, thanks. I figured that out within an hour of posting the question, but by that time I was already in bed and figured it could wait for the morning. Kingdon 13:33, 10 January 2010 (UTC)

Eliminating double negation
The proof of converse-of-*3.37 is supposed to just be the proof from page 122 of Whitehead and Russell, which reads in its entirety, "[*3.37 . *4.13]". Unless I'm missing something (which is of course possible), they are invoking 4.13 combined with the statement from page 120, "It should be observed that, if p ↔ q, q may be substituted for p without altering the truth-value of any function of p which involves no primitive ideas except those enumerated in #1. This can be proved in each separate case, but not generally, because we have no means of specifying (with our apparatus of primitive ideas) that a function is one which can be built up out of these ideas alone." Is there a better way to remove the double negation (better than the hard-to-write and hard-to-read 10 line proof which I came up)? The answers aren't clear to me, but I thought I should ask before I go through the same exercise for *4.15. Kingdon 06:25, 26 January 2010 (UTC)


 * Generally, meta-statements such as the one of p. 120, have tedious but very systematic proofs for each instance in which they are invoked. The key here are the,  ,  ,  ,  ,   statements from Interface:Classical propositional calculus. With them, you can systematically build up your statement. First, create the basic building blocks with double negation and identity:  ,   and  . Combine the first two with  , so you have   and combine this with the third one with   (plus a trivial identity), so you have  , and then, with a further trivial identity,  . All you need now to finish the proof is a weakening of the leading biconditional and a modus ponens. There are two caveats:
 * Since you are creating the very module that is to export the Interface:Classical propositional calculus, you may not have all these builder statements. It may not even be possible to prove them easily before you "need" them. This is where things can get awkward and you have to resort to unenlightening and unintuitive proofs. This can happen especially at the beginning, when you have nothing but axioms, and suddenly you must tediously prove things that are "clear by common sense".
 * It's hard to define what the "best" way to write a proof is. Using build statements is a nice agreement leading to proofs very understandable to those privy to the agreement. Often, shorter proofs are seen to be superior to longer ones, but finding a shortest proof is very hard in general, and the shortest proof could be totally unintuitive again.
 * --GrafZahl (talk) 18:47, 26 January 2010 (UTC)


 * OK, that helps. Thanks for pointing out those particular rules in Interface:Classical propositional calculus (I thought they'd probably be the way to go, but am glad to see that confirmed). I'll either see whether I can prove them soon, or stick with the ad hoc and somewhat convoluted proofs (which I realize are par for the course at the start of such a theory - part of why I'm trying to stick fairly closely to Whitehead and Russell, as they have already put considerable effort into figuring out what order to prove things in). As for "best" proofs, I would say go for clarity rather than length as such (of course, shorter is often - not always - clearer).  This is somewhat subjective, I agree, but if I write any proofs which can be improved on, I hope that you or anyone else who joins in will be bold in clearing out cobwebs. Kingdon 20:35, 26 January 2010 (UTC)

Whether to use TeX (&lt;math&gt;) formulas
The biggest problem with TeX formulas is that they are converted to bitmaps on the server side, and therefore don't scale up especially well (in most browsers, you should be able to reproduce this by hitting the zoom in key a few times). My current browser (Firefox 3.5.8 on Linux) will even sometimes put a black border at the edge of the image (which I was only able to reproduce at wikipedia, not on wikiproofs), although this depends on the zoom level and I'm not sure how widespread or consistent it is. And of course a bitmap can't be copy/pasted or searched for.

I also have perhaps less noble reasons for disliking TeX formulas: they don't look as nice in the edit window and I never have learned all the TeX names for characters.

Eventually, we're likely to run into issues with harder-to-typeset syntax (integrals and so on), so I doubt we can or should avoid TeX entirely, but that doesn't affect this page.

Summary: I'm not sure what the right answer is, but thought I should at least bring up the subject. Kingdon 16:50, 26 February 2010 (UTC)


 * There are a few ways of dealing with this. The most common is to use jsmath, which is evolving into MathJax. What I'm doing on Ghilbert is much more radical - I'm writing my own JavaScript code to display, and interactively edit, math. Raph 20:25, 26 February 2010 (UTC)


 * I don't care too much whether to use TeX or Unicode. I just wanted to create a uniform appearance in the module. Sure, for the more complicated stuff, Unicode is not flexible enough. I wasn't aware of the display issues with the rendered bitmaps until now. This problem at least should solve itself sooner or later with MathML. Actually, firefox is already quite good at displaying MathML. It's just that for some reason the MediaWiki MathML renderer produces bitmaps nevertheless. So either I misconfigured something server-side or there's a bug in MediaWiki.--GrafZahl (talk) 18:58, 2 March 2010 (UTC)


 * Sounds good. I won't feel guilty about all the pages where I'm just using straight Unicode but also won't worry if some pages do it the other way. I'm not up on MathML but a little searching comes up with texvc (what we are presumably using now) and blahtex. Probably low priority to worry about this much. Kingdon 02:44, 3 March 2010 (UTC)

Negative Examples
Dear All,

Is there somewhere a collection of negative examples, i.e. propositional formulas that are not tautologies, from Principia Mathematica. Does it contain at all such formulas?

How would one deal with such formulas in your system? They could be used to shorten proof attempts, or they could be used to indicate counter models. Can your system model G |/- A?

Bye

BTW: Did a proof of the 193 Problems in 2006 here: http://www.xlog.ch/jekejeke/principia/proofs.html

Janburse 13:12, 10 March 2012 (UTC)


 * One could presumably list non-tautologies by enumerating formulas and then checking them via truth tables. But I'm not sure there is any way to express "p is not a tautology" in JHilbert. At least right now, JHilbert is just a proof checker and does nothing to find proofs. So shortening proof attempts is not an issue, if I correctly understand what you mean by that. Now, writing a prover which outputs JHilbert proofs might be interesting, but I don't think I've seen any work on that sort of thing. As for the models and G |/- A I'm afraid I'm not familiar with that. Kingdon 18:56, 10 March 2012 (UTC)

Reference Metamath
BTW: I was scraping my problems from here: http://us.metamath.org/mmsolitaire/pmproofs.txt

Need this link also go to the main page?

Janburse 13:19, 10 March 2012 (UTC)


 * I suppose I have no objection if you want to add it as an external link. It is a bit different in emphasis than this page (pmproofs is about finding shortest possible proofs, directly from axioms, whereas here we look for proofs which are clear and/or which closely follow the proofs given in Principia, with no reluctance to use previously proved theorems). Kingdon 19:02, 10 March 2012 (UTC)