(DE REWRITE (L) (COND ((ATOM L) L) ((EQUAL (CAR L) 'NOT) (LIST 'NAND (REWRITE (CADR L)) T)) ((EQUAL (CAR L) 'AND) (LIST 'NAND (REWRITE (CADR L)) (REWRITE (CADDR L)) T)) ((EQUAL (CAR L) 'OR) (LIST 'NAND (LIST 'NAND (REWRITE (CADR L)) T) (LIST 'NAND (REWRITE (CADDR L)) T))) ((EQUAL (CAR L) 'XOR) (LIST 'NAND (LIST 'NAND (LIST 'NAND (LIST 'NAND (REWRITE (CADR L)) T) (LIST 'NAND (REWRITE (CADDR L)) T)) (LIST 'NAND (REWRITE (CADR L)) (REWRITE (CADDR L)))) T)) (T (LIST 'ERROR L))))