diff options
author | Marvin Borner | 2022-07-18 01:44:38 +0200 |
---|---|---|
committer | Marvin Borner | 2022-07-18 01:44:38 +0200 |
commit | 745147f88f400cced478dd588a2dfd7a7c2140a8 (patch) | |
tree | 3c8e963275ef111b21315a662fd601286f4e123b /std/Boolean.bruijn | |
parent | 313e883f5e2146a2005ae0ed6a36af835cbbc961 (diff) |
Moved/improved standard library
and other things
Diffstat (limited to 'std/Boolean.bruijn')
-rw-r--r-- | std/Boolean.bruijn | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/std/Boolean.bruijn b/std/Boolean.bruijn new file mode 100644 index 0000000..36d11bd --- /dev/null +++ b/std/Boolean.bruijn @@ -0,0 +1,60 @@ +# MIT License, Copyright (c) 2022 Marvin Borner + +:import std/Combinator . + +not [0 F T] +:test not T = F +:test not F = T + +and [[1 0 F]] +:test and T T = T +:test and T F = F +:test and F T = F +:test and F F = F + +nand [[1 0 1 F T]] +:test nand T T = F +:test nand T F = T +:test nand F T = T +:test nand F F = T + +or [[1 T 0]] +:test or T T = T +:test or T F = T +:test or F T = T +:test or F F = F + +nor [[1 1 0 F T]] +:test nor T T = F +:test nor T F = F +:test nor F T = F +:test nor F F = T + +xor [[1 (not 0) 0]] +:test xor T T = F +:test xor T F = T +:test xor F T = T +:test xor F F = F + +xnor [[1 0 (not 0)]] +:test xnor T T = T +:test xnor T F = F +:test xnor F T = F +:test xnor F F = T + +if [[[2 1 0]]] +:test if T T F = T +:test if F T F = F + +implies [[or (not 1) 0]] +:test implies T T = T +:test implies T F = F +:test implies F T = T +:test implies F F = T + +iff [[and (implies 1 0) (implies 0 1)]] +:test iff T T = T +:test iff T F = F +:test iff F T = F +:test iff F F = T + |