```    1% Simple illustration of the learning of recursive predicates
2%       in Aleph
3% To run do the following:
4%       a. induce.
```

?- `induce(Program)`. */

```    8:- use_module(library(aleph)).    9:- if(current_predicate(use_rendering/1)).   10:- use_rendering(prolog).   11:- endif.   12:- aleph.   13% :- modeh(*,mem(+any,+list)).
14% :- modeb(*,mem(+any,+list)).
15% :- modeb(1,((+list) = ([-any|-list]))).
16
17:- mode(*,mem(+any,+list)).   18:- mode(1,((+list) = ([-any|-list]))).   19
20:- aleph_set(i,3).   21:- aleph_set(noise,0).   22
23
24:- determination(mem/2,mem/2).   25:- determination(mem/2,'='/2).   26
27:-begin_bg.   28
29:-end_bg.   30:-begin_in_pos.   31mem(0,[0]).
32mem(1,[1]).
33mem(2,[2]).
34mem(3,[3]).
35mem(4,[4]).
36mem(0,[0,0]).
37mem(0,[0,1]).
38mem(0,[0,2]).
39mem(1,[0,1]).
40mem(0,[1,0]).
41mem(0,[2,0]).
42mem(1,[1,1]).
43mem(1,[2,1]).
44mem(1,[1,2]).
45mem(2,[2,2]).
46mem(2,[3,2]).
47mem(2,[2,3]).
48mem(3,[2,3]).
49mem(3,[4,2,3]).
50:-end_in_pos.   51:-begin_in_neg.   52mem(0,[1,2]).
53mem(0,[1]).
54mem(1,[0]).
55mem(3,[]).
56mem(2,[]).
57mem(2,[3]).
58:-end_in_neg.```