計算機プログラムの構造と解釈 第二版 P163 問題3.29

アレだ、ド・モルガンの法則だ。
andとnotでどうやってorを表すか考えればいい。

(define (or-gate a1 a2 output)
  (let ((o1 (make-wire))
        (o2 (make-wire))
        (o3 (make-wire)))
    (inverter a1 o1) 
    (inverter a2 o2) 
    (and-gate o1 o2 o3) 
    (inverter o3 output)))


遅延は、

inverter-delay * 3 + and-gate-delay

動かしてないからあってるかはよくわからない。