- 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 are performed as
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
- performing 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/ring cd ring/etc ./test
- personal notes by Tim Berners-Lee: Design Issues
- book of Markus Triska: The Power of Prolog