Prover class

ai - prover of logic rules

given a set of initial rules, Prover tries to prove all possible rules which follow from given premises.

As a result provedRules are always in one of two forms: alpha or beta:

Alpha rules

These are rules of the form::

a -> b & c & d & ...

Beta rules

These aare rules of the form::

&(a,b,...) -> c & d & ...

i.e. beta rules are join conditions that say that something follows when several facts are true at the same time.

Constructors

Prover()

Properties

hashCode int
The hash code for this object.
no setterinherited
provedRules List<(Logic, Logic)>
final
rulesAlpha List<(Logic, Logic)>
no setter
rulesBeta List<(Logic, Logic)>
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
processRule(Logic a, Logic b) → void
Process a -> b rule
splitAlphaBeta() → (List<(Logic, Logic)>, List<(Logic, Logic)>)
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited