;;; 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.
