eyemind

DOI npm

eyemind is a JavaScript rule language with forward and backward reasoning and checkable proofs. You write facts and rules in plain JavaScript; eyemind draws conclusions, and every conclusion can come with a proof that a separate checker verifies against your program. It runs as a command-line program, a JavaScript library, and a browser application, with no dependencies.

fact(type('socrates', 'human'))
fact(subclass_of('human', 'mortal'))
implies([type(S, A), subclass_of(A, B)], type(S, B))
query(type(X, Y))
node bin/eyemind.js examples/socrates.js
node bin/eyemind.js --proof examples/socrates.js > /tmp/proof.js
node bin/eyemind.js --check-proof /tmp/proof.js examples/socrates.js

MIT licensed; see LICENSE.md.