105
|
1 |
Gate2 = FOL +
|
|
2 |
consts "~&" :: "[o,o] => o" (infixl 35)
|
|
3 |
"#" :: "[o,o] => o" (infixl 30)
|
|
4 |
If :: "[o,o,o] => o" ("if _ then _ else _")
|
|
5 |
rules nand_def "P ~& Q == ~(P & Q)"
|
|
6 |
xor_def "P # Q == P & ~Q | ~P & Q"
|
|
7 |
If_def "if P then Q else R == P&Q | ~P&R"
|
|
8 |
end
|