module gates input a input b expr and: and a b expr or: or a b expr nand: nand a b expr nor: nor a b expr xor: xor a b expr nota: not a expr notb: not b