- Using webized prolog which basically means that atoms can be IRIs.
- Besides top-down reasoning with
conclusion :- premise
rules, it also does bottom-up reasoning withconclusion :+ premise
rules. - Variables are interpreted universally except for
conclusion :+ premise
conclusion-only variables which are interpreted existentially. - Bottom-up reasoning can use
stable(n)
to fail if the deductive closure at leveln
is not yet stable. - Bottom-up reasoning steps produce
bus((conclusion_inst :+ premise_inst))
. - Queries are posed as
true :+ premise
and answered asbus((true :+ premise_inst))
. - Inference fuses are defined as
false :+ premise
and blown asbus(false :+ premise_inst))
with return code 2.
- conclusion can be a conjunction
- conclusion can be
false
to blow an inference fuse - conclusion can be
true
to pose a query - conclusion can not be any other built-in
- conclusion-only variables are existentials
- producing bottom-up steps
bus/1
- avoiding loops that could occur with top-down reasoning
- Install Scryer Prolog
and run the tests
git clone https://github.com/eyereasoner/rebus cd rebus/etc ./test-scryer
- Install SWI Prolog
and run the tests
git clone https://github.com/eyereasoner/rebus cd rebus/etc ./test-swipl
- Install Trealla Prolog
and run the tests
git clone https://github.com/eyereasoner/rebus cd rebus/etc ./test-trealla
- Personal notes by Tim Berners-Lee: Design Issues
- Book of Markus Triska: The Power of Prolog