Skip to content

Latest commit

 

History

History
33 lines (23 loc) · 1.54 KB

File metadata and controls

33 lines (23 loc) · 1.54 KB

eyelet

eye reasoning in prolog

  • besides top-down reasoning with conclusion :- premise rules, eyelet also supports bottom-up reasoning with conclusion :+ premise rules
  • variables are interpreted universally except for conclusion :+ premise conclusion-only variables which are interpreted existentially
  • linear implication is done with becomes(from_conjunction, to_conjunction)
  • bottom-up reasoning can use stable(n) to fail if the deductive closure at level n is not yet stable
  • queries are posed as true :+ premise and answered as premise_inst
  • inference fuses are defined as false :+ premise and blown as fuse(premise_inst) with return code 2

Rationale for bottom-up reasoning

  • conclusion can be a conjunction
  • conclusion can be false to blow an inference fuse
  • conclusion can be true to pose a query
  • conclusion-only variables are existentials
  • avoiding loops that could occur with top-down reasoning

Testing

or

or