- webized prolog basically means that prolog atoms can be IRIs
- besides top-down reasoning with
conclusion :- premise
rules, it also supports bottom-up reasoning withconclusion :+ premise
rules - variables are interpreted universally except for
conclusion :+ premise
conclusion-only variables which are interpreted existentially - linear implication is done with
becomes(from_conj, to_conj)
- 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
step((conclusion :+ premise), premise_inst, conclusion_inst)
- queries are posed as
true :+ premise
and answered asanswer(premise_inst)
- inference fuses are defined as
false :+ premise
and blown asfuse(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 proof steps
step/3
- avoiding loops that could occur with top-down reasoning
- install Trealla Prolog
- run ./test-trealla to go from ./input/ to ./output-trealla/
- install Scryer Prolog
- run ./test-scryer to go from ./input/ to ./output-scryer/
- personal notes by Tim Berners-Lee: Design Issues
- book of Markus Triska: The Power of Prolog
- ISO Prolog system: Scryer Prolog