;;; Define as funcoes logicas que nao estao no clisp: ;;; impl e equ (defun impl (a b) (or a (not b)) ) (defun equ (a b) (not (xor a b)) ) ;;; Agora table, que constroi tabela de funcoes booleanas ;;; os parametros A e A sao as variaveis, e E e' a expressao booleana (defun table (a b e) (dolist (va (list t nil)) (dolist (vb (list t nil)) (format t "~S ~S ~S~%" va vb (eval (subst va a (subst vb b e))) ) ) ) )