```    1/* Simple illustration of the extraction of integrity constraints
2       by Aleph
3 To run do the following:
4       c. induce_constraints(Constraints)
5 This will learn a set of (possibly redundant) constraints that hold
6 in the background knowledge. The procedure is similar to that used
7 by DeRaedt et al in Claudien. Constraints that are ``nearly true''
8 can be obtained by changing the noise parameter.
9*/
```

?- `induce_constraints(Constraints)`. */

```   13:- use_module(library(aleph)).   14:- if(current_predicate(use_rendering/1)).   15:- use_rendering(prolog).   16:- endif.   17:- aleph.   18
19:- modeh(1,aleph_false).   20
21:- modeb(*,human(-person)).   22
23:- modeb(1,male(+person)).   24:- modeb(1,female(+person)).   25:- modeb(1,not(male(+person))).   26:- modeb(1,not(female(+person))).   27
28:- determination(aleph_false/0,human/1).   29:- determination(aleph_false/0,male/1).   30:- determination(aleph_false/0,female/1).   31:- determination(aleph_false/0,(not)/1).   32
33:- aleph_set(noise,0).   34
35:-begin_bg.   36male('Fred').
37female('Wilma').
38human('Fred').
39human('Wilma').
40:-end_bg.   41:-begin_in_pos.   42:-end_in_pos.   43:-begin_in_neg.   44:-end_in_neg.```