and

(and <test1> …) is implemented as described in the R4RS as a syntax procedure as follows:

(define
  and
  (named-syntax-lambda (and expr env)
  (if (null? (cdr expr))
      '#t
      (if (null? (cddr expr))
          (cadr expr)
          `(let ((x ,(cadr expr))
                     (thunk (lambda () (and ,@(cddr expr)))))
               (if x (thunk) x))))))

Example:

[1] (and)
#t
[2] (and #t)
#t
[3] (and #t #f)
#f