generalise(1)

NAME
generalise - generalises all clauses with a given predicate symbol

SYNOPSIS
generalise(PredicateName/Arity)?

DESCRIPTION
generalise/2 is the basic command for experimenting with Progol. When issued Progol does the following:

    Step 1: Select first
        Progol selects the first clause with given predicate symbol. This is normally the first example to be generalised.

    Step 2: Most specific clause
        for each example selected in Step 1, Progol constructs the most specific definite clause that implies the example.

    Step 3: General to specific reduction
        for each most specific clause constructed in Step 2, Progol searches the subsumption lattice to find a more general clause that is consistent and has most pseudo-compression. Consistency is as defined by the noise setting using set(noise,Value).

    Step 4: Remove redundant
        Progol removes all clauses made redundant by the generalised clause found in Step 3. This normally includes all examples covered by this clause.

    Step 5: Repeat
        Progol repeats the cycle of Steps 1 - 4 until the pool of seed examples reduces to an empty set.

NOTE
generalise/2 does not necessarily produce the most pseudo-compressive set of clauses for a given example set.

SEE ALSO