Skip to content

Latest commit

 

History

History
34 lines (27 loc) · 1.5 KB

README.md

File metadata and controls

34 lines (27 loc) · 1.5 KB

ring

  • 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 with conclusion :+ 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 level n is not yet stable
  • bottom-up reasoning steps are performed as bus((conclusion_inst :+ premise_inst))
  • queries are posed as true :+ premise and answered as bus((true :+ premise_inst))
  • inference fuses are defined as false :+ premise and blown as bus(false :+ premise_inst)) with return code 2

rationale for bottom-up reasoning with conclusion :+ premise rules

  • 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

installation and test

  • install Scryer Prolog and run the tests
    git clone https://github.com/eyereasoner/ring
    cd ring/etc
    ./test
    

background