object

# `metagol`

Inductive logic programming (ILP) system based on meta-interpretive learning.

Author: Metagol authors; adapted to Logtalk by Paulo Moura.
Version: 0.17
Date: 2019/1/19
Copyright: Copyright 2016 Metagol authors; Copyright 2018-2019 Paulo Moura
License: BSD 3-Clause License
Compilation flags:
`static, context_switching_calls`
Implements:
`public` expanding
Provides:
logtalk::message_tokens//2
logtalk::message_prefix_stream/4

## Public interface

### `learn/3`

Learns from a set of positive examples and a set of negative examples and returns the learned program.

Compilation flags:
`static`
Template:
`learn(PositiveExamples,NegativeExamples,Program)`
Mode and number of proofs:
`learn(@list(example),@list(example),-list(term))` - `zero_or_one`

### `learn/2`

Learns from a set of positive examples and a set of negative examples and prints the learned program.

Compilation flags:
`static`
Template:
`learn(PositiveExamples,NegativeExamples)`
Mode and number of proofs:
`learn(@list(example),@list(example))` - `zero_or_one`

### `learn_seq/2`

Learns from a sequence of examples represented as a list of PositiveExamples/NegativeExamples elements and returns the learned program.

Compilation flags:
`static`
Template:
`learn_seq(Examples,Program)`
Mode and number of proofs:
`learn_seq(@list(example),-list(clause))` - `zero_or_one`

### `pclauses/2`

Converts a learned program into a list of clauses.

Compilation flags:
`static`
Template:
`pclauses(Program,Clauses)`
Mode and number of proofs:
`pclauses(@list(term),-list(clause))` - `one`

### `pprint/1`

Prints a learned program.

Compilation flags:
`static`
Template:
`pprint(Program)`
Mode and number of proofs:
`pprint(@list(term))` - `one`

### `metarule/7`

Compilation flags:
`static`

### `metarule_init/6`

Compilation flags:
`static`

### `prim/1`

Compilation flags:
`dynamic`

### `primcall/2`

Compilation flags:
`dynamic`

### `interpreted_bk/2`

Compilation flags:
`static`

### `functional/0`

Compilation flags:
`dynamic`

### `unfold_program/0`

Compilation flags:
`dynamic`

### `min_clauses/1`

Compilation flags:
`dynamic`

### `max_clauses/1`

Compilation flags:
`dynamic`

### `max_inv_preds/1`

Compilation flags:
`dynamic`

### `metarule_next_id/1`

Compilation flags:
`dynamic`

## Protected interface

### `pprint_clause/1`

Compilation flags:
`static`

### `pprint_clauses/1`

Compilation flags:
`static`

### `func_test/3`

Compilation flags:
`static`

### `prove_deduce/3`

Compilation flags:
`static`

### `assert_prim/1`

Compilation flags:
`static`

### `retract_prim/1`

Compilation flags:
`static`

### `assert_program/1`

Compilation flags:
`static`

## Private predicates

### `interpreted_/1`

Compilation flags:
`dynamic`

## Operators

(none)

## Remarks

(none)