(check-expect (eval (make-If 'x 'x true) empty-env) true) (check-expect (eval (make-If 'x (make-If 'z true 'x) (make-If 'z true (make-If 'x false true))) empty-env) true) (check-expect (eval (make-If 'x 'x 'x) empty-env) 'x) (check-expect (reduce '(and (or x y) (and (or x (not y)) (and (or (not x) y) (or (not x) (not y)))))) false) (check-expect (reduce '(and (or x y) (and (or x (not y)) (or (not x) (not y))))) '(and x (not y))) (check-expect (reduce '(or (and x y) (or (and x (not y)) (or (and (not x) y) (and (not x) (not y)))))) true) (check-expect (reduce '(or (and x (not y)) (or (and (not x) y) (and (not x) (not y))))) '(implies x (not y)))