これが基本。後は付けたしっぽい。これが文型科目なのは何か間違ってる気がするぞ。
(define s-not
(lambda (P)
(not P)))
(define s-and
(lambda (P Q)
(and P Q)))
(define s-or
(lambda (P Q)
(or P Q)))
(define ->
(lambda (P Q)
(if (and (eq? P #t)
(eq? Q #f))
#f
#t)))
(define <->
(lambda (P Q)
(if (and (eq? P Q))
#t
#f)))