Para se poder combinar expressões lógicas entre si existem os operadores and, or e not. O and e o or recebem qualquer número de argumentos. O not só recebe um. O valor das combinações que empregam estes operadores lógicos é determinado do seguinte modo:
Note-se que embora o significado de falso seja claro pois corresponde necessariamente ao valor nil, o significado de verdade já não é tão claro pois, desde que seja diferente de nil, é considerado verdade.
Exercício 6
Qual o valor das seguintes expressões?
(and (or (> 2 3) (not (= 2 3))) (< 2 3)) (not (or (= 1 2) (= 2 3))) (or (< 1 2) (= 1 2) (> 1 2)) (and 1 2 3) (or 1 2 3) (and nil 2 3) (or nil nil 3)