aboutsummaryrefslogtreecommitdiff
path: root/src/tests.ts
diff options
context:
space:
mode:
authorAkshay Nair <phenax5@gmail.com>2023-12-12 20:21:13 +0530
committerAkshay Nair <phenax5@gmail.com>2023-12-12 20:21:13 +0530
commita393765df40744aae68dab943e25bad8175bd5c0 (patch)
tree606aafea514fb8f53dcfafd86ab06e74ca18f868 /src/tests.ts
parent999c2314c0d649646a53e7cc440ae3f4aa1a3d61 (diff)
downloadts-theorem-provinator-a393765df40744aae68dab943e25bad8175bd5c0.tar.gz
ts-theorem-provinator-a393765df40744aae68dab943e25bad8175bd5c0.zip
feat: associativity + distributivity for multiplication
Diffstat (limited to '')
-rw-r--r--src/tests.ts14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/tests.ts b/src/tests.ts
index 5c066dc..04a009a 100644
--- a/src/tests.ts
+++ b/src/tests.ts
@@ -1,6 +1,6 @@
import { addition, multiplication } from './index';
import { Add, Multiply, Succ } from './nat';
-import { ApplyRewrite, ChainRewrites, Flip, Eq, VerifyEquation, Equation, assert } from './util';
+import { ApplyRewrite, ChainRewrites, Flip, Eq, VerifyEquation, Equation, assert, Evaluate } from './util';
export type specChainRewrites = [
assert<Eq<
@@ -70,4 +70,16 @@ export namespace multiplication_spec {
Multiply<Multiply<'B', 'A'>, 'C'>
>>,
]
+ export type specDistributivity = [
+ assert<Eq<
+ Evaluate<multiplication.Distributivity<'A', 'B', 'C'>>,
+ Add<Multiply<'A', 'C'>, Multiply<'B', 'C'>>
+ >>,
+ ]
+ export type specAssociativity = [
+ assert<Eq<
+ Evaluate<multiplication.Associativity<'A', 'B', 'C'>>,
+ Multiply<'A', Multiply<'B', 'C'>>
+ >>,
+ ]
}