AssociativeFormula<T extends SimpleLogicalFormula> 
This interfaces describes associative formulas like a disjunction or
a conjunction.

Atom 
An atomic language construct, linked to its predicate

ClassicalFormula 
This interface models a classical formula, i.e.

ComplexLogicalFormula 
A complex logical formula can contain arguments referred as terms, this
interface provides methods to substitute and exchange those terms.

Conjunctable 
Formulas implementing this interface can be connected by using
AND.

Disjunctable 
Formulas implementing this interface can be connected using
OR.

Invertable 
Formulas implementing this interface have a
complement

LogicProgram<C extends Formula,P extends Formula,T extends Rule<?,?>> 
An interface for a logic program, which is a set of rules.

LogicStructure 
This interface captures the common functionalities of formulas,
sorts and terms.

ProbabilityAware 

QuantifiedFormula 
Interface for a QuantifiedFormula with a set of quantified variables
implementing an all or existquantor for example.

SimpleLogicalFormula 
A formula of a logical language

Term<T> 
A term of a logical language, that can be given as argument for logical constructs
like atoms or functors.

TypedStructure 
This interface defines method which are given by every TypedStructure like a
Predicate or an Functor.
