# EtcAbductionPy

### An implementation of Etcetera Abduction in Python

This software is a reference implementation of Etcetera Abduction. Given a knowledge base of first-order definite clauses and a set of observables, this software identifies the most probable set of assumptions that logically entails the observations, assuming the conditional independence of each assumption.

## Tutorial

- Getting started
- Example 1: Chicken and Egg
- Example 2: Dead Plant
- Example 3: Lemon or Lime
- Example 4: For Want of a Nail

## Source code

## Further reading

- Gordon, A. (2016) Commonsense Interpretation of Triangle Behavior. In Proceedings of the Thirtieth AAAI Conference on Artificial Intelligence (AAAI-16), February 12-17, 2016, Phoenix, Arizona.
- Gordon, A. (2017) Solving Interpretation Problems with Etcetera Abduction (Invited talk). Proceedings of the Fifth Annual Conference on Advances in Cognitive Systems, May 12-14, 2017, Troy, New York.
- Inoue, N. and Gordon, A. (2017) A Scalable Weighted Max-SAT Implementation of Propositional Etcetera Abduction. Proceedings of the 30th International Conference of the Florida AI Society (FLAIRS-30), May 22-24, 2017, Marco Island, FL.