4

I'm learning Mathematica(v8) to use it to program formal logic. Can anyone recommend a logic-specific tutorial text? A reference list of logic-related functions would also be very appreciated!

QuietThud
  • 343
  • 1
  • 9
  • Have you seen this: http://mathematica.stackexchange.com/a/259/5 – rm -rf Oct 28 '12 at 04:26
  • @rm-rf: Yeah, that post is very helpful as far as general programming is concerned--I was just hoping there might be something more logic-specific out there, as I'm not planning to use the language for anything else.=) – QuietThud Oct 28 '12 at 05:40
  • Ok, no problem. I don't know anything, but someone might answer. In future, it is good practice to mention if you've already seen some relevant resource/material and it didn't satisfy your needs (in this case, the above link) :) – rm -rf Oct 28 '12 at 08:10
  • In The Mathematica Journal Vol4 issue 2, R. Maeder implements a Prolog Interpreter in Mathematica. Very interesting. His package is old and doesn't work any more (since Mathematica 6, I think). I don't know if the problem is serious. – andre314 Feb 08 '13 at 20:16
  • In addition to @andre314’s comment the Roman Maeder's book from 1996 “The Mathematica Programmer II” contains a whole section (about 30 pages) on “Logic Programming”. Both publications are probably closely related. I did not check whether the code from the book is compatible to current Mathematica versions. – user7515079 Jul 21 '20 at 07:41
  • @user7515079 I have this book. The code doesn't work anymore, but, some years ago, I managed to make it work again. There was several minor issues relatively easy to understand anf one main issue that took me a while to understand, but once understood was easy to fix. – andre314 Jul 21 '20 at 09:52
  • The issue was a duplicate line a of code, that manifestly was not interpreted the same way beetween different Mathematica versions. – andre314 Jul 21 '20 at 09:54
  • I seem to recall that one of the minor issue was a local function name that became a built-in name in the new Mathematica versions. – andre314 Jul 21 '20 at 09:58
  • The duplicate line of code is qeval[ _, initialState ] := no in the file LOGICPROGRAMMING.M . The solution is simply to remove this line. – andre314 Aug 03 '20 at 19:35
  • The conflict with built-in names concern in fact 3 functions defined by R. Maeder in his code : Query Assert Format . Simply rename these functions in all the files and it will work. – andre314 Aug 03 '20 at 19:38
  • @user7515079 You may be interested by my 5 last comments that explain how to make R. Maeder code in "The Mathematica Programmer II" work. – andre314 Aug 03 '20 at 19:42
  • @andre314 Thank you. That's good news. The book and its code was at that time one of my deeper involvements with Mathematica. – user7515079 Aug 07 '20 at 06:13

0 Answers0