(assign evalable-ld-printingp nil) (defun mem (e x) (if (endp x) nil (if (equal e (car x)) t (mem e (cdr x))))) (defun eqv@ (a x eqv) (cond ((endp a) eqv) ((equal (car x) 'IF) (eqv@ (cdr a) (nth (car a) x) (if (equal (car a) 1) 'iff eqv))) ((equal (car x) 'AND) (eqv@ (cdr a) (nth (car a) x) (if (equal (car a) 1) 'iff eqv))) ((equal (car x) 'OR) (eqv@ (cdr a) (nth (car a) x) eqv)) ((mem (car x) '(NOT IMPLIES IFF)) (eqv@ (cdr a) (nth (car a) x) 'iff)) (t (eqv@ (cdr a) (nth (car a) x) 'equal)))) (eqv@ '(2 1 1 2) '(implies (and (natp e) (mem e x)) (natp (if (and (f e) (g x)) (h (f x)) x))) 'IFF) (eqv@ '(2 1 1 2 1) '(implies (and (natp e) (mem e x)) (natp (if (and (f e) (g x)) (h (f x)) x))) 'IFF)