Code

algorithms

data structures

class inference_logic.data_structures.ImmutableDict(*args, **kwargs)[source]

https://www.python.org/dev/peps/pep-0351/

keys() → a set-like object providing a view on D's keys[source]
class inference_logic.data_structures.PrologList(head, tail)[source]

A list in Prolog is build recursively out of the first, head, element and everything else, the tail.

class inference_logic.data_structures.PrologListNull[source]

This is an Object that signifies the end of a PrologList

exception inference_logic.data_structures.UnificationError[source]

equality

class inference_logic.equality.Equality(free: Optional[Sequence[Set[inference_logic.data_structures.Variable]]] = None, fixed: Optional[Dict[Any, Set[inference_logic.data_structures.Variable]]] = None)[source]

There are two types of equality:

  1. free, a Variable X can be equal to any number of other Variables
  2. fixed, a hashable object h can be equal to any number of Variables so long as none of them are equal to any other hashable object.