;;; HELP LOGIC.EXP
;;; Aaron Sloman April 1987
;;; For use with the logic program [pop.lib]logic.p
;;; this file is compiled as necessary to print out information for beginners.
procedure;
vars char count ;
0 -> count;
until (.cucharin ->> char) == termin do
charout(char);
if char == `\n` then count + 1 -> count; endif;
if count + 2 == vedscreenlength then
pr('PRESS RETURN TO CONTINUE');
erase(charin());
pr(newline);
0 -> count;
endif;
enduntil;
nil -> proglist;
endprocedure.apply;
This program is more tolerant than text books:
"p and q" may be symbolised as "p & q" or as "p . q"
"p or q" may be symbolised as "p v q"
"if p then q" may be symbolised as "p implies q" or as "p -> q"
"p if and only if q" may be symbolised as "p iff q" or as "p <-> q"
"not p" may be symbolised as "- p"
parentheses "(" and ")" may be used to indicate scope
here are examples of formulae you can type in:
not p
-p
not(not(q))
p and q
a & b
a or b
p or not q
p & -q
p and (q or r)
if p then q
if not p then q
if p then not q
(p & q) -> r
if if p then q then if not q then not p
r implies s
r -> s
r <-> p
r iff p
p or q implies r
(r & -s) -> (p v q)
p & q -> r v s
(p -> q) -> r
p -> (a -> b)
p & q & r or s
"a <-> b <-> c" is not well formed
"p q -> r" is not well formed
The computer will try to guess where missing brackets should go
try typing in each of the above formulas followed by the command
TB or HT (typed on a new line)
This will give you practice with truth-tables.
It will also show how the computer brackets things.
When you've had enough, type H for help.
Type HH to reprint this message. "?" For a short summary of commands.
End each command by pressing the "RETURN" or "CR" button.
Don't type in capitals.