SICP問題3.29
¬((¬A) ∧ (¬B))
で表せるので、回路図は
a1 ─[¬]┐c └─┐ e output [∧]─[¬]─ ┌─┘ a2 ─[¬]┘d
となる
よって or-gate の定義は以下のようになり
(define (or-gate a1 a2 output) (let ((c (make-wire)) (d (make-wire)) (e (make-wire))) (inverter a1 c) (inverter a2 d) (and-gate c d e) (inverter e output) 'ok))
遅延は inverter-delay*2 + and-gate-delay*1 となる
(最初のinverter-delayは並行で流れるため)