TRAINING EXAMPLES:
EXAMPLE No. 1 OBJECT 1 can_reach(a,b) =. true

EXAMPLE No. 2 OBJECT 1 can_reach(b,c) =. true

EXAMPLE No. 3 OBJECT 1 can_reach(a,c) =. true

EXAMPLE No. 4 OBJECT 2 can_reach(c,d) =. true

EXAMPLE No. 5 OBJECT 2 can_reach(c,e) =. true

EXAMPLE No. 6 OBJECT 2 can_reach(c,f) =. true

EXAMPLE No. 7 OBJECT 2 can_reach(d,e) =. true

EXAMPLE No. 8 OBJECT 2 can_reach(d,f) =. true

EXAMPLE No. 9 OBJECT 2 can_reach(e,f) =. true

EXAMPLE No. 10 OBJECT 3 can_reach(g,h) =. true

EXAMPLE No. 11 OBJECT 3 can_reach(h,g) =. true

EXAMPLE No. 12 OBJECT 3 can_reach(g,g) =. true

EXAMPLE No. 13 OBJECT 3 can_reach(h,h) =. true

EXAMPLE No. 14 OBJECT 4 can_reach(j,i) =. true

EXAMPLE No. 15 OBJECT 4 can_reach(j,k) =. true

EXAMPLE No. 16 OBJECT 4 can_reach(j,m) =. true

EXAMPLE No. 17 OBJECT 4 can_reach(j,j) =. true

EXAMPLE No. 18 OBJECT 4 can_reach(k,m) =. true

EXAMPLE No. 19 OBJECT 4 can_reach(k,j) =. true

EXAMPLE No. 20 OBJECT 4 can_reach(k,k) =. true

EXAMPLE No. 21 OBJECT 4 can_reach(k,i) =. true

EXAMPLE No. 22 OBJECT 4 can_reach(l,m) =. true

EXAMPLE No. 23 OBJECT 4 can_reach(l,j) =. true

EXAMPLE No. 24 OBJECT 4 can_reach(l,k) =. true

EXAMPLE No. 25 OBJECT 4 can_reach(l,i) =. true

EXAMPLE No. 26 OBJECT 4 can_reach(m,j) =. true

EXAMPLE No. 27 OBJECT 4 can_reach(m,i) =. true

EXAMPLE No. 28 OBJECT 4 can_reach(m,k) =. true

EXAMPLE No. 29 OBJECT 4 can_reach(m,m) =. true

EXAMPLE No. 30 OBJECT 5 can_reach(s,s) =. true

EXAMPLE No. 31 OBJECT 4 cyclic(g4) =. true

EXAMPLE No. 32 OBJECT 5 cyclic(g5) =. true

EXAMPLE No. 33 OBJECT 1 can_reach(b,a) =. false

EXAMPLE No. 34 OBJECT 1 can_reach(c,a) =. false

EXAMPLE No. 35 OBJECT 1 can_reach(c,b) =. false

EXAMPLE No. 36 OBJECT 2 can_reach(d,c) =. false

EXAMPLE No. 37 OBJECT 2 can_reach(e,c) =. false

EXAMPLE No. 38 OBJECT 2 can_reach(f,c) =. false

EXAMPLE No. 39 OBJECT 2 can_reach(f,e) =. false

EXAMPLE No. 40 OBJECT 2 can_reach(f,d) =. false

EXAMPLE No. 41 OBJECT 4 can_reach(j,l) =. false

EXAMPLE No. 42 OBJECT 4 can_reach(k,l) =. false

EXAMPLE No. 43 OBJECT 4 can_reach(l,l) =. false

EXAMPLE No. 44 OBJECT 4 can_reach(m,l) =. false

EXAMPLE No. 45 OBJECT 4 can_reach(i,j) =. false

EXAMPLE No. 46 OBJECT 4 can_reach(i,k) =. false

EXAMPLE No. 47 OBJECT 4 can_reach(i,l) =. false

EXAMPLE No. 48 OBJECT 4 can_reach(i,m) =. false

EXAMPLE No. 49 OBJECT 4 can_reach(i,i) =. false

EXAMPLE No. 50 OBJECT 1 cyclic(g1) =. false

EXAMPLE No. 51 OBJECT 2 cyclic(g2) =. false

SEED: object no. 1 for Concept can_reach(_1175104,_1175106) =. true

SEED: object no. 4 for Concept cyclic(_1175118) =. true

================ Parallel Conquer for Concepts
================ [can_reach(_1175104,_1175106) =. true,cyclic(_1175118) =. true]

---------------------- Specialization Step No. 1 ----------------------

Clauses for the concept: can_reach(_1175104,_1175106) =. true

PS_RULE: 3
Pos. ex. covered: [[1,[1,2]],[2,[4,7,8,9]],[3,[10,11]],[4,[14,15,18,22,26]],[5,[30]]]
Neg. ex. covered: [[1,[]],[2,[]],[4,[]]]

can_reach(X1,X2) =. true :-
linked_to(X1,X2) =. true.

PS_RULE: 4
Pos. ex. covered: [[1,[1]],[2,[4,5,7]],[3,[10,11,12,13]],[4,[15,16,17,18,19,20,22,23,24,26,28,29]],[5,[30]]]
Neg. ex. covered: [[1,[33,34,35]],[2,[36,37,38,39,40]],[4,[41,42,43,44,45,46,47,48]]]

can_reach(X1,X2) =. true :-
linked_to(X2,X3) =. true.

PS_RULE: 5
Pos. ex. covered: [[1,[1,2]],[2,[4,5,6,7,8,9]],[3,[]],[4,[14,15,18,21,22,23,24,25,26,27]],[5,[]]]
Neg. ex. covered: [[1,[34]],[2,[]],[4,[42]]]

can_reach(X1,X2) =. true :-
linked_to(X2,X1) =. false.

PS_RULE: 6
Pos. ex. covered: [[1,[1,2,3]],[2,[4,5,7]],[3,[]],[4,[15,16,17,18,19,20,22,23,24,26,28,29]],[5,[]]]
Neg. ex. covered: [[1,[33,34,35]],[2,[36,37,38,39,40]],[4,[41,42,43,44,45,46,47,48]]]

can_reach(X1,X2) =. true :-
linked_to(X3,X2) =. false.

PS_RULE: 7
Pos. ex. covered: [[1,[1,2,3]],[2,[7,8,9]],[3,[]],[4,[14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]],[5,[]]]
Neg. ex. covered: [[1,[33,34,35]],[2,[36,37,38,39,40]],[4,[41,42,43,44,45,46,47,48,49]]]

can_reach(X1,X2) =. true :-
linked_to(X1,X3) =. false.

PS_RULE: 8
Pos. ex. covered: [[1,[1,2,3]],[2,[4,5,6,7,8,9]],[3,[10,11,12,13]],[4,[14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]],[5,[30]]]
Neg. ex. covered: [[1,[33,34,35]],[2,[36,37,38,39,40]],[4,[41,42,43,44,45,46,47,48,49]]]

can_reach(X1,X2) =. true :-
node_of(X3,X1) =. true.

PS_RULE: 9
Pos. ex. covered: [[1,[1,2,3]],[2,[4,5,6,7,8,9]],[3,[10,11,12,13]],[4,[14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]],[5,[30]]]
Neg. ex. covered: [[1,[33,34,35]],[2,[36,37,38,39,40]],[4,[41,42,43,44,45,46,47,48,49]]]

can_reach(X1,X2) =. true :-
node_of(X3,X2) =. true.

PS_RULE: 10
Pos. ex. covered: [[1,[2]],[2,[7,8,9]],[3,[10,11,12,13]],[4,[14,15,16,17,18,19,20,21,26,27,28,29]],[5,[30]]]
Neg. ex. covered: [[1,[33,34,35]],[2,[36,37,38,39,40]],[4,[41,42,44,45,46,47,48,49]]]

can_reach(X1,X2) =. true :-
linked_to(X3,X1) =. true.

PS_RULE: 11
Pos. ex. covered: [[1,[1,2,3]],[2,[4,5,6,7,8,9]],[3,[10,11,12,13]],[4,[14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]],[5,[30]]]
Neg. ex. covered: [[1,[33]],[2,[36,37]],[4,[41,42,43,44]]]

can_reach(X1,X2) =. true :-
linked_to(X1,X3) =. true.

PS_RULE: 12
Pos. ex. covered: [[1,[1,2,3]],[2,[4,5,6,7,8,9]],[3,[10,11,12,13]],[4,[14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]],[5,[30]]]
Neg. ex. covered: [[1,[35]],[2,[39,40]],[4,[45,46,48,49]]]

can_reach(X1,X2) =. true :-
linked_to(X3,X2) =. true.

PS_RULE: 13
Pos. ex. covered: [[1,[1,2,3]],[2,[4,5,6,7,8,9]],[3,[]],[4,[14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]],[5,[]]]
Neg. ex. covered: [[1,[33,34,35]],[2,[36,37]],[4,[41,42,43,44]]]

can_reach(X1,X2) =. true :-
linked_to(X3,X1) =. false.

PS_RULE: 14
Pos. ex. covered: [[1,[1,2,3]],[2,[4,5,6,7,8,9]],[3,[]],[4,[14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]],[5,[]]]
Neg. ex. covered: [[1,[33,34,35]],[2,[39,40]],[4,[41,42,43,44,45,46,47,48,49]]]

can_reach(X1,X2) =. true :-
linked_to(X2,X3) =. false.

PS_RULE: 15
Pos. ex. covered: [[1,[3]],[2,[]],[3,[]],[4,[16,19,24,28]],[5,[]]]
Neg. ex. covered: [[1,[33,35]],[2,[36,37,38,39,40]],[4,[41,42,44,45,46,47,48]]]

can_reach(X1,X2) =. true :-
linked_to(X1,X2) =. false.

Clauses for the concept: cyclic(_1175118) =. true

PS_RULE: 16
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true.

RULE CONSISTENT AND RANGE-RESTRICTED: 3
can_reach(X1,X2) =. true :-
linked_to(X1,X2) =. true.

select_ps_rule

NEGATIVES COVERED: cov(No. examples covered, No. clause)
cov(0,3) cov(2,5) cov(2,16) cov(7,11) cov(7,12) cov(9,13) cov(14,14)
cov(14,15) cov(16,4) cov(16,6) cov(16,10) cov(17,7) cov(17,8) cov(17,9)

BEST NEGATIVES COVERED: cov(No. examples covered, No. clause)
cov(0,3) cov(2,5) cov(2,16) cov(7,11) cov(7,12) cov(9,13) cov(14,14)
cov(14,15) cov(16,4) cov(16,6) cov(16,10) cov(17,7) cov(17,8) cov(17,9)

POSITIVES COVERED: cov(No. examples covered, No. clause)
cov(30,8) cov(30,9) cov(30,11) cov(30,12) cov(25,13) cov(25,14) cov(22,7)
cov(21,4) cov(21,10) cov(18,5) cov(18,6) cov(14,3) cov(5,15) cov(2,16)

BEST POSITIVES COVERED: cov(No. examples covered, No. clause)
cov(30,8) cov(30,9) cov(30,11) cov(30,12) cov(25,13) cov(25,14) cov(22,7)
cov(21,4) cov(21,10) cov(18,5) cov(18,6) cov(14,3)

---------------------- Specialization Step No. 2 ----------------------

Clauses for the concept: can_reach(_1175104,_1175106) =. true

PS_RULE: 17
Pos. ex. covered: [[1,[1]],[2,[4,7]],[3,[10,11]],[4,[15,18,22,26]],[5,[30]]]
Neg. ex. covered: [[1,[]],[2,[]],[4,[]]]

can_reach(X1,X2) =. true :-
linked_to(X2,X3) =. true,
linked_to(X1,X2) =. true.

PS_RULE: 18
Pos. ex. covered: [[1,[1]],[2,[4,5,7]],[3,[]],[4,[15,18,22,23,24,26]],[5,[]]]
Neg. ex. covered: [[1,[34]],[2,[]],[4,[42]]]

can_reach(X1,X2) =. true :-
linked_to(X2,X3) =. true,
linked_to(X2,X1) =. false.

PS_RULE: 19
Pos. ex. covered: [[1,[1]],[2,[4,5,7]],[3,[]],[4,[15,16,17,18,19,20,22,23,24,26,28,29]],[5,[]]]
Neg. ex. covered: [[1,[33,34,35]],[2,[36,37,38,39,40]],[4,[41,42,43,44,45,46,47,48]]]

can_reach(X1,X2) =. true :-
linked_to(X2,X3) =. true,
linked_to(X3,X2) =. false.

PS_RULE: 20
Pos. ex. covered: [[1,[1]],[2,[]],[3,[]],[4,[15,18,23,26]],[5,[]]]
Neg. ex. covered: [[1,[34]],[2,[37,38,40]],[4,[41,45,46,47,48]]]

can_reach(X1,X2) =. true :-
linked_to(X2,X3) =. true,
linked_to(X1,X3) =. false.

PS_RULE: 21
Pos. ex. covered: [[1,[1]],[2,[4,5,7]],[3,[10,11,12,13]],[4,[15,16,17,18,19,20,22,23,24,26,28,29]],[5,[30]]]
Neg. ex. covered: [[1,[33,34,35]],[2,[36,37,38,39,40]],[4,[41,42,43,44,45,46,47,48]]]

can_reach(X1,X2) =. true :-
linked_to(X2,X3) =. true,
node_of(X4,X1) =. true.

PS_RULE: 22
Pos. ex. covered: [[1,[1]],[2,[4,5,7]],[3,[10,11,12,13]],[4,[15,16,17,18,19,20,22,23,24,26,28,29]],[5,[30]]]
Neg. ex. covered: [[1,[33,34,35]],[2,[36,37,38,39,40]],[4,[41,42,43,44,45,46,47,48]]]

can_reach(X1,X2) =. true :-
linked_to(X2,X3) =. true,
node_of(X4,X2) =. true.

PS_RULE: 23
Pos. ex. covered: [[1,[1]],[2,[4,5,7]],[3,[10,11,12,13]],[4,[15,16,17,18,19,20,22,23,24,26,28,29]],[5,[30]]]
Neg. ex. covered: [[1,[33,34,35]],[2,[36,37,38,39,40]],[4,[41,42,43,44,45,46,47,48]]]

can_reach(X1,X2) =. true :-
linked_to(X2,X3) =. true,
node_of(X4,X3) =. true.

PS_RULE: 24
Pos. ex. covered: [[1,[1,2]],[2,[4,7,8,9]],[3,[]],[4,[14,15,18,22,26]],[5,[]]]
Neg. ex. covered: [[1,[]],[2,[]],[4,[]]]

can_reach(X1,X2) =. true :-
linked_to(X2,X1) =. false,
linked_to(X1,X2) =. true.

PS_RULE: 25
Pos. ex. covered: [[1,[1,2]],[2,[4,5,7]],[3,[]],[4,[15,18,22,23,24,26]],[5,[]]]
Neg. ex. covered: [[1,[34]],[2,[]],[4,[42]]]

can_reach(X1,X2) =. true :-
linked_to(X2,X1) =. false,
linked_to(X3,X2) =. false.

PS_RULE: 26
Pos. ex. covered: [[1,[1,2]],[2,[7,8,9]],[3,[]],[4,[14,15,18,21,22,23,24,25,26,27]],[5,[]]]
Neg. ex. covered: [[1,[34]],[2,[]],[4,[42]]]

can_reach(X1,X2) =. true :-
linked_to(X2,X1) =. false,
linked_to(X1,X3) =. false.

PS_RULE: 27
Pos. ex. covered: [[1,[1,2]],[2,[4,5,6,7,8,9]],[3,[]],[4,[14,15,18,21,22,23,24,25,26,27]],[5,[]]]
Neg. ex. covered: [[1,[34]],[2,[]],[4,[42]]]

can_reach(X1,X2) =. true :-
linked_to(X2,X1) =. false,
node_of(X3,X1) =. true.

PS_RULE: 28
Pos. ex. covered: [[1,[1,2]],[2,[4,5,6,7,8,9]],[3,[]],[4,[14,15,18,21,22,23,24,25,26,27]],[5,[]]]
Neg. ex. covered: [[1,[34]],[2,[]],[4,[42]]]

can_reach(X1,X2) =. true :-
linked_to(X2,X1) =. false,
node_of(X3,X2) =. true.

PS_RULE: 29
Pos. ex. covered: [[1,[2]],[2,[7,8,9]],[3,[]],[4,[14,15,18,21,26,27]],[5,[]]]
Neg. ex. covered: [[1,[34]],[2,[]],[4,[42]]]

can_reach(X1,X2) =. true :-
linked_to(X2,X1) =. false,
linked_to(X3,X1) =. true.

PS_RULE: 30
Pos. ex. covered: [[1,[1,2]],[2,[7,8,9]],[3,[]],[4,[14,15,18,22,26]],[5,[]]]
Neg. ex. covered: [[1,[]],[2,[]],[4,[]]]

can_reach(X1,X2) =. true :-
linked_to(X1,X3) =. false,
linked_to(X1,X2) =. true.

PS_RULE: 31
Pos. ex. covered: [[1,[1,2]],[2,[]],[3,[]],[4,[15,18,20,23,26,28]],[5,[]]]
Neg. ex. covered: [[1,[34]],[2,[37,38,40]],[4,[41,42,43,44,45,46,47,48]]]

can_reach(X1,X2) =. true :-
linked_to(X1,X3) =. false,
linked_to(X3,X2) =. false.

PS_RULE: 32
Pos. ex. covered: [[1,[1,2,3]],[2,[7,8,9]],[3,[]],[4,[14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]],[5,[]]]
Neg. ex. covered: [[1,[33,34,35]],[2,[36,37,38,39,40]],[4,[41,42,43,44,45,46,47,48,49]]]

can_reach(X1,X2) =. true :-
linked_to(X1,X3) =. false,
node_of(X4,X1) =. true.

PS_RULE: 33
Pos. ex. covered: [[1,[1,2,3]],[2,[7,8,9]],[3,[]],[4,[14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]],[5,[]]]
Neg. ex. covered: [[1,[33,34,35]],[2,[36,37,38,39,40]],[4,[41,42,43,44,45,46,47,48,49]]]

can_reach(X1,X2) =. true :-
linked_to(X1,X3) =. false,
node_of(X4,X2) =. true.

PS_RULE: 34
Pos. ex. covered: [[1,[1,2,3]],[2,[7,8,9]],[3,[]],[4,[14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]],[5,[]]]
Neg. ex. covered: [[1,[33,34,35]],[2,[36,37,38,39,40]],[4,[41,42,43,44,45,46,47,48,49]]]

can_reach(X1,X2) =. true :-
linked_to(X1,X3) =. false,
node_of(X4,X3) =. true.

PS_RULE: 35
Pos. ex. covered: [[1,[2]],[2,[7,8,9]],[3,[]],[4,[14,15,16,17,18,19,20,21,26,27,28,29]],[5,[]]]
Neg. ex. covered: [[1,[33,34,35]],[2,[36,37,38,39,40]],[4,[41,42,44,45,46,47,48,49]]]

can_reach(X1,X2) =. true :-
linked_to(X1,X3) =. false,
linked_to(X3,X1) =. true.

PS_RULE: 36
Pos. ex. covered: [[1,[3]],[2,[]],[3,[]],[4,[16,19,24,28]],[5,[]]]
Neg. ex. covered: [[1,[33]],[2,[36,37]],[4,[41,42,44]]]

can_reach(X1,X2) =. true :-
linked_to(X1,X2) =. false,
linked_to(X1,X3) =. true.

PS_RULE: 37
Pos. ex. covered: [[1,[3]],[2,[]],[3,[]],[4,[16,19,24,28]],[5,[]]]
Neg. ex. covered: [[1,[35]],[2,[39,40]],[4,[45,46,48]]]

can_reach(X1,X2) =. true :-
linked_to(X1,X2) =. false,
linked_to(X3,X2) =. true.

PS_RULE: 38
Pos. ex. covered: [[1,[3]],[2,[]],[3,[]],[4,[16,19,24,28]],[5,[]]]
Neg. ex. covered: [[1,[33,35]],[2,[36,37]],[4,[41,42,44]]]

can_reach(X1,X2) =. true :-
linked_to(X1,X2) =. false,
linked_to(X3,X1) =. false.

PS_RULE: 39
Pos. ex. covered: [[1,[3]],[2,[]],[3,[]],[4,[16,19,24,28]],[5,[]]]
Neg. ex. covered: [[1,[33,35]],[2,[39,40]],[4,[41,42,44,45,46,47,48]]]

can_reach(X1,X2) =. true :-
linked_to(X1,X2) =. false,
linked_to(X2,X3) =. false.

PS_RULE: 40
Pos. ex. covered: [[1,[3]],[2,[]],[3,[]],[4,[16,19,24,28]],[5,[]]]
Neg. ex. covered: [[1,[33,35]],[2,[36,37,38,39,40]],[4,[41,42,44,45,46,47,48]]]

can_reach(X1,X2) =. true :-
linked_to(X1,X2) =. false,
node_of(X3,X1) =. true.

PS_RULE: 41
Pos. ex. covered: [[1,[3]],[2,[]],[3,[]],[4,[16,19,24,28]],[5,[]]]
Neg. ex. covered: [[1,[33,35]],[2,[36,37,38,39,40]],[4,[41,42,44,45,46,47,48]]]

can_reach(X1,X2) =. true :-
linked_to(X1,X2) =. false,
node_of(X3,X2) =. true.

PS_RULE: 42
Pos. ex. covered: [[1,[1,2]],[2,[4,7,8,9]],[3,[10,11]],[4,[14,15,18,22,26]],[5,[30]]]
Neg. ex. covered: [[1,[]],[2,[]],[4,[]]]

can_reach(X1,X2) =. true :-
node_of(X3,X1) =. true,
linked_to(X1,X2) =. true.

PS_RULE: 43
Pos. ex. covered: [[1,[1,2,3]],[2,[4,5,7]],[3,[]],[4,[15,16,17,18,19,20,22,23,24,26,28,29]],[5,[]]]
Neg. ex. covered: [[1,[33,34,35]],[2,[36,37,38,39,40]],[4,[41,42,43,44,45,46,47,48]]]

can_reach(X1,X2) =. true :-
node_of(X3,X1) =. true,
linked_to(X4,X2) =. false.

PS_RULE: 44
Pos. ex. covered: [[1,[1,2,3]],[2,[4,5,6,7,8,9]],[3,[10,11,12,13]],[4,[14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]],[5,[30]]]
Neg. ex. covered: [[1,[33,34,35]],[2,[36,37,38,39,40]],[4,[41,42,43,44,45,46,47,48,49]]]

can_reach(X1,X2) =. true :-
node_of(X3,X1) =. true,
node_of(X3,X2) =. true.

PS_RULE: 45
Pos. ex. covered: [[1,[1,2,3]],[2,[4,5,6,7,8,9]],[3,[10,11,12,13]],[4,[14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]],[5,[30]]]
Neg. ex. covered: [[1,[33,34,35]],[2,[36,37,38,39,40]],[4,[41,42,43,44,45,46,47,48,49]]]

can_reach(X1,X2) =. true :-
node_of(X3,X1) =. true,
node_of(X3,X4) =. true.

PS_RULE: 46
Pos. ex. covered: [[1,[2]],[2,[7,8,9]],[3,[10,11,12,13]],[4,[14,15,16,17,18,19,20,21,26,27,28,29]],[5,[30]]]
Neg. ex. covered: [[1,[33,34,35]],[2,[36,37,38,39,40]],[4,[41,42,44,45,46,47,48,49]]]

can_reach(X1,X2) =. true :-
node_of(X3,X1) =. true,
linked_to(X4,X1) =. true.

PS_RULE: 47
Pos. ex. covered: [[1,[1,2,3]],[2,[4,5,6,7,8,9]],[3,[10,11,12,13]],[4,[14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]],[5,[30]]]
Neg. ex. covered: [[1,[33]],[2,[36,37]],[4,[41,42,43,44]]]

can_reach(X1,X2) =. true :-
node_of(X3,X1) =. true,
linked_to(X1,X4) =. true.

PS_RULE: 48
Pos. ex. covered: [[1,[1,2,3]],[2,[4,5,6,7,8,9]],[3,[10,11,12,13]],[4,[14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]],[5,[30]]]
Neg. ex. covered: [[1,[35]],[2,[39,40]],[4,[45,46,48,49]]]

can_reach(X1,X2) =. true :-
node_of(X3,X1) =. true,
linked_to(X4,X2) =. true.

PS_RULE: 49
Pos. ex. covered: [[1,[1,2,3]],[2,[4,5,6,7,8,9]],[3,[]],[4,[14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]],[5,[]]]
Neg. ex. covered: [[1,[33,34,35]],[2,[36,37]],[4,[41,42,43,44]]]

can_reach(X1,X2) =. true :-
node_of(X3,X1) =. true,
linked_to(X4,X1) =. false.

PS_RULE: 50
Pos. ex. covered: [[1,[1,2,3]],[2,[4,5,6,7,8,9]],[3,[]],[4,[14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]],[5,[]]]
Neg. ex. covered: [[1,[33,34,35]],[2,[39,40]],[4,[41,42,43,44,45,46,47,48,49]]]

can_reach(X1,X2) =. true :-
node_of(X3,X1) =. true,
linked_to(X2,X4) =. false.

PS_RULE: 51
Pos. ex. covered: [[1,[1,2]],[2,[4,7,8,9]],[3,[10,11]],[4,[14,15,18,22,26]],[5,[30]]]
Neg. ex. covered: [[1,[]],[2,[]],[4,[]]]

can_reach(X1,X2) =. true :-
node_of(X3,X2) =. true,
linked_to(X1,X2) =. true.

PS_RULE: 52
Pos. ex. covered: [[1,[1,2,3]],[2,[4,5,7]],[3,[]],[4,[15,16,17,18,19,20,22,23,24,26,28,29]],[5,[]]]
Neg. ex. covered: [[1,[33,34,35]],[2,[36,37,38,39,40]],[4,[41,42,43,44,45,46,47,48]]]

can_reach(X1,X2) =. true :-
node_of(X3,X2) =. true,
linked_to(X4,X2) =. false.

PS_RULE: 53
Pos. ex. covered: [[1,[1,2,3]],[2,[4,5,6,7,8,9]],[3,[10,11,12,13]],[4,[14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]],[5,[30]]]
Neg. ex. covered: [[1,[33,34,35]],[2,[36,37,38,39,40]],[4,[41,42,43,44,45,46,47,48,49]]]

can_reach(X1,X2) =. true :-
node_of(X3,X2) =. true,
node_of(X3,X4) =. true.

PS_RULE: 54
Pos. ex. covered: [[1,[2]],[2,[7,8,9]],[3,[10,11,12,13]],[4,[14,15,16,17,18,19,20,21,26,27,28,29]],[5,[30]]]
Neg. ex. covered: [[1,[33,34,35]],[2,[36,37,38,39,40]],[4,[41,42,44,45,46,47,48,49]]]

can_reach(X1,X2) =. true :-
node_of(X3,X2) =. true,
linked_to(X4,X1) =. true.

PS_RULE: 55
Pos. ex. covered: [[1,[1,2,3]],[2,[4,5,6,7,8,9]],[3,[10,11,12,13]],[4,[14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]],[5,[30]]]
Neg. ex. covered: [[1,[33]],[2,[36,37]],[4,[41,42,43,44]]]

can_reach(X1,X2) =. true :-
node_of(X3,X2) =. true,
linked_to(X1,X4) =. true.

PS_RULE: 56
Pos. ex. covered: [[1,[1,2,3]],[2,[4,5,6,7,8,9]],[3,[10,11,12,13]],[4,[14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]],[5,[30]]]
Neg. ex. covered: [[1,[35]],[2,[39,40]],[4,[45,46,48,49]]]

can_reach(X1,X2) =. true :-
node_of(X3,X2) =. true,
linked_to(X4,X2) =. true.

PS_RULE: 57
Pos. ex. covered: [[1,[1,2,3]],[2,[4,5,6,7,8,9]],[3,[]],[4,[14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]],[5,[]]]
Neg. ex. covered: [[1,[33,34,35]],[2,[36,37]],[4,[41,42,43,44]]]

can_reach(X1,X2) =. true :-
node_of(X3,X2) =. true,
linked_to(X4,X1) =. false.

PS_RULE: 58
Pos. ex. covered: [[1,[1,2,3]],[2,[4,5,6,7,8,9]],[3,[]],[4,[14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]],[5,[]]]
Neg. ex. covered: [[1,[33,34,35]],[2,[39,40]],[4,[41,42,43,44,45,46,47,48,49]]]

can_reach(X1,X2) =. true :-
node_of(X3,X2) =. true,
linked_to(X2,X4) =. false.

PS_RULE: 59
Pos. ex. covered: [[1,[2]],[2,[7,8,9]],[3,[10,11]],[4,[14,15,18,26]],[5,[30]]]
Neg. ex. covered: [[1,[]],[2,[]],[4,[]]]

can_reach(X1,X2) =. true :-
linked_to(X3,X1) =. true,
linked_to(X1,X2) =. true.

PS_RULE: 60
Pos. ex. covered: [[1,[2]],[2,[]],[3,[]],[4,[15,18,26,28]],[5,[]]]
Neg. ex. covered: [[1,[34]],[2,[37,38,40]],[4,[41,42,44,47,48]]]

can_reach(X1,X2) =. true :-
linked_to(X3,X1) =. true,
linked_to(X3,X2) =. false.

PS_RULE: 61
Pos. ex. covered: [[1,[2]],[2,[7,8,9]],[3,[10,11,12,13]],[4,[14,15,16,17,18,19,20,21,26,27,28,29]],[5,[30]]]
Neg. ex. covered: [[1,[33,34,35]],[2,[36,37,38,39,40]],[4,[41,42,44,45,46,47,48,49]]]

can_reach(X1,X2) =. true :-
linked_to(X3,X1) =. true,
node_of(X4,X3) =. true.

PS_RULE: 62
Pos. ex. covered: [[1,[1,2]],[2,[4,7]],[3,[]],[4,[15,18,22,26]],[5,[]]]
Neg. ex. covered: [[1,[]],[2,[]],[4,[]]]

can_reach(X1,X2) =. true :-
linked_to(X1,X2) =. true,
linked_to(X3,X2) =. false.

PS_RULE: 63
Pos. ex. covered: [[1,[3]],[2,[5,6,8]],[3,[12,13]],[4,[16,19,23,27,28]],[5,[30]]]
Neg. ex. covered: [[1,[]],[2,[]],[4,[]]]

can_reach(X1,X2) =. true :-
linked_to(X1,X3) =. true,
linked_to(X3,X2) =. true.

PS_RULE: 64
Pos. ex. covered: [[1,[1,2,3]],[2,[4,5,6,7,8,9]],[3,[]],[4,[14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]],[5,[]]]
Neg. ex. covered: [[1,[33]],[2,[36,37]],[4,[41,42,43,44]]]

can_reach(X1,X2) =. true :-
linked_to(X1,X3) =. true,
linked_to(X3,X1) =. false.

PS_RULE: 65
Pos. ex. covered: [[1,[3]],[2,[5,6,8]],[3,[]],[4,[14,16,19,21,23,25,27,28]],[5,[]]]
Neg. ex. covered: [[1,[33]],[2,[]],[4,[41]]]

can_reach(X1,X2) =. true :-
linked_to(X1,X3) =. true,
linked_to(X2,X3) =. false.

PS_RULE: 66
Pos. ex. covered: [[1,[1,2,3]],[2,[4,5,6,7,8,9]],[3,[10,11,12,13]],[4,[14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]],[5,[30]]]
Neg. ex. covered: [[1,[33]],[2,[36,37]],[4,[41,42,43,44]]]

can_reach(X1,X2) =. true :-
linked_to(X1,X3) =. true,
node_of(X4,X3) =. true.

PS_RULE: 67
Pos. ex. covered: [[1,[3]],[2,[5,6,8]],[3,[]],[4,[16,18,19,22,23,24,25,27,28]],[5,[]]]
Neg. ex. covered: [[1,[35]],[2,[]],[4,[]]]

can_reach(X1,X2) =. true :-
linked_to(X3,X2) =. true,
linked_to(X3,X1) =. false.

PS_RULE: 68
Pos. ex. covered: [[1,[1,2,3]],[2,[4,5,6,7,8,9]],[3,[]],[4,[14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]],[5,[]]]
Neg. ex. covered: [[1,[35]],[2,[39,40]],[4,[45,46,48,49]]]

can_reach(X1,X2) =. true :-
linked_to(X3,X2) =. true,
linked_to(X2,X3) =. false.

PS_RULE: 69
Pos. ex. covered: [[1,[1,2,3]],[2,[4,5,6,7,8,9]],[3,[10,11,12,13]],[4,[14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]],[5,[30]]]
Neg. ex. covered: [[1,[35]],[2,[39,40]],[4,[45,46,48,49]]]

can_reach(X1,X2) =. true :-
linked_to(X3,X2) =. true,
node_of(X4,X3) =. true.

PS_RULE: 70
Pos. ex. covered: [[1,[3]],[2,[5,6,8]],[3,[]],[4,[14,16,18,19,20,21,22,23,24,25,27,28]],[5,[]]]
Neg. ex. covered: [[1,[33,35]],[2,[]],[4,[41,43]]]

can_reach(X1,X2) =. true :-
linked_to(X3,X1) =. false,
linked_to(X2,X3) =. false.

PS_RULE: 71
Pos. ex. covered: [[1,[1,2,3]],[2,[4,5,6,7,8,9]],[3,[]],[4,[14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]],[5,[]]]
Neg. ex. covered: [[1,[33,34,35]],[2,[36,37]],[4,[41,42,43,44]]]

can_reach(X1,X2) =. true :-
linked_to(X3,X1) =. false,
node_of(X4,X3) =. true.

PS_RULE: 72
Pos. ex. covered: [[1,[1,2,3]],[2,[4,5,6,7,8,9]],[3,[]],[4,[14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]],[5,[]]]
Neg. ex. covered: [[1,[33,34,35]],[2,[39,40]],[4,[41,42,43,44,45,46,47,48,49]]]

can_reach(X1,X2) =. true :-
linked_to(X2,X3) =. false,
node_of(X4,X3) =. true.

Clauses for the concept: cyclic(_1175118) =. true

RULE CONSISTENT AND RANGE-RESTRICTED: 17
can_reach(X1,X2) =. true :-
linked_to(X2,X3) =. true,
linked_to(X1,X2) =. true.

RULE CONSISTENT AND RANGE-RESTRICTED: 24
can_reach(X1,X2) =. true :-
linked_to(X2,X1) =. false,
linked_to(X1,X2) =. true.

RULE CONSISTENT AND RANGE-RESTRICTED: 30
can_reach(X1,X2) =. true :-
linked_to(X1,X3) =. false,
linked_to(X1,X2) =. true.

RULE CONSISTENT AND RANGE-RESTRICTED: 42
can_reach(X1,X2) =. true :-
node_of(X3,X1) =. true,
linked_to(X1,X2) =. true.

RULE CONSISTENT AND RANGE-RESTRICTED: 51
can_reach(X1,X2) =. true :-
node_of(X3,X2) =. true,
linked_to(X1,X2) =. true.

RULE CONSISTENT AND RANGE-RESTRICTED: 59
can_reach(X1,X2) =. true :-
linked_to(X3,X1) =. true,
linked_to(X1,X2) =. true.

RULE CONSISTENT AND RANGE-RESTRICTED: 62
can_reach(X1,X2) =. true :-
linked_to(X1,X2) =. true,
linked_to(X3,X2) =. false.

RULE CONSISTENT AND RANGE-RESTRICTED: 63
can_reach(X1,X2) =. true :-
linked_to(X1,X3) =. true,
linked_to(X3,X2) =. true.

select_ps_rule

NEGATIVES COVERED: cov(No. examples covered, No. clause)
cov(0,17) cov(0,24) cov(0,30) cov(0,42) cov(0,51) cov(0,59) cov(0,62)
cov(0,63) cov(1,67) cov(2,18) cov(2,25) cov(2,26) cov(2,27) cov(2,28)
cov(2,29) cov(2,65) cov(4,70) cov(6,36) cov(6,37) cov(7,38) cov(7,47)
cov(7,48) cov(7,55) cov(7,56) cov(7,64) cov(7,66) cov(7,68) cov(7,69)
cov(9,20) cov(9,49) cov(9,57) cov(9,60) cov(9,71) cov(11,39) cov(12,31)
cov(14,40) cov(14,41) cov(14,50) cov(14,58) cov(14,72) cov(16,19) cov(16,21)
cov(16,22) cov(16,23) cov(16,35) cov(16,43) cov(16,46) cov(16,52) cov(16,54)
cov(16,61) cov(17,32) cov(17,33) cov(17,34) cov(17,44) cov(17,45) cov(17,53)

BEST NEGATIVES COVERED: cov(No. examples covered, No. clause)
cov(0,17) cov(0,24) cov(0,30) cov(0,42) cov(0,51) cov(0,59) cov(0,62)
cov(0,63) cov(1,67) cov(2,18) cov(2,25) cov(2,26) cov(2,27) cov(2,28)
cov(2,29) cov(2,65) cov(4,70) cov(6,36) cov(6,37) cov(7,38) cov(7,47)
cov(7,48) cov(7,55) cov(7,56) cov(7,64) cov(7,66) cov(7,68) cov(7,69)

POSITIVES COVERED: cov(No. examples covered, No. clause)
cov(30,47) cov(30,48) cov(30,55) cov(30,56) cov(30,66) cov(30,69) cov(25,64)
cov(25,68) cov(18,27) cov(18,28) cov(16,70) cov(15,26) cov(14,42) cov(14,51)
cov(13,67) cov(12,63) cov(12,65) cov(11,24) cov(11,25) cov(11,59) cov(10,17)
cov(10,18) cov(10,29) cov(10,30) cov(8,62) cov(5,36) cov(5,37) cov(5,38)

BEST POSITIVES COVERED: cov(No. examples covered, No. clause)
cov(30,47) cov(30,48) cov(30,55) cov(30,56) cov(30,66) cov(30,69) cov(25,64)
cov(25,68) cov(18,27) cov(18,28) cov(16,70) cov(15,26) cov(14,42) cov(14,51)

In find_best

POSITIVES COVERED: cov(No. examples covered, No. clause)
poscov(14,3) poscov(14,42) poscov(14,51) poscov(12,63) poscov(11,24) poscov(11,59) poscov(10,17)
poscov(10,30) poscov(8,62)

BEST POSITIVES COVERED: cov(No. examples covered, No. clause)
poscov(14,3) poscov(14,42) poscov(14,51)

In find_best

No. LITERALS: no_lit(No. literals, No. clause)
numlet(1,3) numlet(2,42) numlet(2,51)

BEST No. LITERALS: no_lit(No. literals, No. clause)
numlet(1,3)

In find_best

COST OF NUMERATION: cost(Cost, No. Clause)
cost(0,3)

BEST COST OF NUMERATION: cost(Cost, No. Clause)
cost(0,3)

find_best/1 took 0.002 sec.

**********************************************
CLAUSE 1 ADDED TO THE LOGIC THEORY
can_reach(X1,X2) =. true :-
linked_to(X1,X2) =. true.

**********************************************

example(2,1,can_reach(b,c) =. true,[pos])
example(1,1,can_reach(a,b) =. true,[pos])
example(9,2,can_reach(e,f) =. true,[pos])
example(7,2,can_reach(d,e) =. true,[pos])
example(8,2,can_reach(d,f) =. true,[pos])
example(4,2,can_reach(c,d) =. true,[pos])
example(11,3,can_reach(h,g) =. true,[pos])
example(10,3,can_reach(g,h) =. true,[pos])
example(26,4,can_reach(m,j) =. true,[pos])
example(22,4,can_reach(l,m) =. true,[pos])
example(18,4,can_reach(k,m) =. true,[pos])
example(15,4,can_reach(j,k) =. true,[pos])
example(14,4,can_reach(j,i) =. true,[pos])
example(30,5,can_reach(s,s) =. true,[pos])

The learned theory covers 14/32 examples of concepts to be learned.

SEED: object no. 1 for Concept can_reach(_1175104,_1175106) =. true

SEED: object no. 4 for Concept cyclic(_1175118) =. true

================ Parallel Conquer for Concepts
================ [can_reach(_1175104,_1175106) =. true,cyclic(_1175118) =. true]

---------------------- Specialization Step No. 1 ----------------------

Clauses for the concept: can_reach(_1175104,_1175106) =. true

PS_RULE: 75
Pos. ex. covered: [[1,[3]],[2,[5,6]],[3,[12,13]],[4,[16,17,19,20,21,23,24,25,27,28,29]]]
Neg. ex. covered: [[1,[35]],[2,[39,40]],[4,[45,46,48,49]]]

can_reach(X1,X2) =. true :-
can_reach(X3,X2) =. true.

PS_RULE: 76
Pos. ex. covered: [[1,[3]],[2,[5,6]],[3,[12,13]],[4,[16,17,19,20,21,23,24,25,27,28,29]]]
Neg. ex. covered: [[1,[33]],[2,[36,37]],[4,[41,42,43,44]]]

can_reach(X1,X2) =. true :-
can_reach(X1,X3) =. true.

PS_RULE: 77
Pos. ex. covered: [[1,[3]],[2,[5,6]],[3,[12,13]],[4,[16,17,19,20,21,23,24,25,27,28,29]]]
Neg. ex. covered: [[1,[33]],[2,[36,37]],[4,[41,42,43,44]]]

can_reach(X1,X2) =. true :-
linked_to(X1,X3) =. true.

PS_RULE: 78
Pos. ex. covered: [[1,[3]],[2,[5,6]],[3,[12,13]],[4,[16,17,19,20,21,23,24,25,27,28,29]]]
Neg. ex. covered: [[1,[35]],[2,[39,40]],[4,[45,46,48,49]]]

can_reach(X1,X2) =. true :-
linked_to(X3,X2) =. true.

PS_RULE: 79
Pos. ex. covered: [[1,[3]],[2,[5,6]],[3,[]],[4,[16,17,19,20,21,23,24,25,27,28,29]]]
Neg. ex. covered: [[1,[33,34,35]],[2,[36,37]],[4,[41,42,43,44]]]

can_reach(X1,X2) =. true :-
linked_to(X3,X1) =. false.

PS_RULE: 80
Pos. ex. covered: [[1,[3]],[2,[5,6]],[3,[]],[4,[16,17,19,20,21,23,24,25,27,28,29]]]
Neg. ex. covered: [[1,[33,34,35]],[2,[39,40]],[4,[41,42,43,44,45,46,47,48,49]]]

can_reach(X1,X2) =. true :-
linked_to(X2,X3) =. false.

PS_RULE: 81
Pos. ex. covered: [[1,[3]],[2,[]],[3,[]],[4,[16,19,24,28]]]
Neg. ex. covered: [[1,[33,35]],[2,[36,37,38,39,40]],[4,[41,42,44,45,46,47,48]]]

can_reach(X1,X2) =. true :-
linked_to(X1,X2) =. false.

PS_RULE: 82
Pos. ex. covered: [[1,[3]],[2,[5,6]],[3,[12,13]],[4,[16,17,19,20,21,23,24,25,27,28,29]]]
Neg. ex. covered: [[1,[33,34,35]],[2,[36,37,38,39,40]],[4,[41,42,43,44,45,46,47,48,49]]]

can_reach(X1,X2) =. true :-
node_of(X3,X1) =. true.

PS_RULE: 83
Pos. ex. covered: [[1,[3]],[2,[5,6]],[3,[12,13]],[4,[16,17,19,20,21,23,24,25,27,28,29]]]
Neg. ex. covered: [[1,[33,34,35]],[2,[36,37,38,39,40]],[4,[41,42,43,44,45,46,47,48,49]]]

can_reach(X1,X2) =. true :-
node_of(X3,X2) =. true.

Clauses for the concept: cyclic(_1175118) =. true

PS_RULE: 84
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true.

select_ps_rule

NEGATIVES COVERED: cov(No. examples covered, No. clause)
cov(2,84) cov(7,75) cov(7,76) cov(7,77) cov(7,78) cov(9,79) cov(14,80)
cov(14,81) cov(17,82) cov(17,83)

BEST NEGATIVES COVERED: cov(No. examples covered, No. clause)
cov(2,84) cov(7,75) cov(7,76) cov(7,77) cov(7,78) cov(9,79) cov(14,80)
cov(14,81) cov(17,82) cov(17,83)

POSITIVES COVERED: cov(No. examples covered, No. clause)
cov(16,75) cov(16,76) cov(16,77) cov(16,78) cov(16,82) cov(16,83) cov(14,79)
cov(14,80) cov(5,81) cov(2,84)

BEST POSITIVES COVERED: cov(No. examples covered, No. clause)
cov(16,75) cov(16,76) cov(16,77) cov(16,78) cov(16,82) cov(16,83) cov(14,79)
cov(14,80) cov(5,81) cov(2,84)

---------------------- Specialization Step No. 2 ----------------------

Clauses for the concept: can_reach(_1175104,_1175106) =. true

PS_RULE: 85
Pos. ex. covered: [[1,[3]],[2,[5,6]],[3,[12,13]],[4,[16,19,23,27,28]]]
Neg. ex. covered: [[1,[]],[2,[]],[4,[]]]

can_reach(X1,X2) =. true :-
can_reach(X3,X2) =. true,
can_reach(X1,X3) =. true.

PS_RULE: 86
Pos. ex. covered: [[1,[3]],[2,[5,6]],[3,[12,13]],[4,[16,19,23,27,28]]]
Neg. ex. covered: [[1,[]],[2,[]],[4,[]]]

can_reach(X1,X2) =. true :-
can_reach(X3,X2) =. true,
linked_to(X1,X3) =. true.

PS_RULE: 87
Pos. ex. covered: [[1,[3]],[2,[5,6]],[3,[12,13]],[4,[16,17,19,20,21,23,24,25,27,28,29]]]
Neg. ex. covered: [[1,[35]],[2,[39,40]],[4,[45,46,48,49]]]

can_reach(X1,X2) =. true :-
can_reach(X3,X2) =. true,
linked_to(X3,X2) =. true.

PS_RULE: 88
Pos. ex. covered: [[1,[3]],[2,[5,6]],[3,[]],[4,[16,19,23,24,25,27,28]]]
Neg. ex. covered: [[1,[35]],[2,[]],[4,[]]]

can_reach(X1,X2) =. true :-
can_reach(X3,X2) =. true,
linked_to(X3,X1) =. false.

PS_RULE: 89
Pos. ex. covered: [[1,[3]],[2,[5,6]],[3,[]],[4,[16,17,19,20,21,23,24,25,27,28,29]]]
Neg. ex. covered: [[1,[35]],[2,[39,40]],[4,[45,46,48,49]]]

can_reach(X1,X2) =. true :-
can_reach(X3,X2) =. true,
linked_to(X2,X3) =. false.

PS_RULE: 90
Pos. ex. covered: [[1,[3]],[2,[]],[3,[]],[4,[16,19,24,28]]]
Neg. ex. covered: [[1,[35]],[2,[39,40]],[4,[45,46,48]]]

can_reach(X1,X2) =. true :-
can_reach(X3,X2) =. true,
linked_to(X1,X2) =. false.

PS_RULE: 91
Pos. ex. covered: [[1,[3]],[2,[5,6]],[3,[12,13]],[4,[16,17,19,20,21,23,24,25,27,28,29]]]
Neg. ex. covered: [[1,[35]],[2,[39,40]],[4,[45,46,48,49]]]

can_reach(X1,X2) =. true :-
can_reach(X3,X2) =. true,
node_of(X4,X1) =. true.

PS_RULE: 92
Pos. ex. covered: [[1,[3]],[2,[5,6]],[3,[12,13]],[4,[16,17,19,20,21,23,24,25,27,28,29]]]
Neg. ex. covered: [[1,[35]],[2,[39,40]],[4,[45,46,48,49]]]

can_reach(X1,X2) =. true :-
can_reach(X3,X2) =. true,
node_of(X4,X2) =. true.

PS_RULE: 93
Pos. ex. covered: [[1,[3]],[2,[5,6]],[3,[12,13]],[4,[16,17,19,20,21,23,24,25,27,28,29]]]
Neg. ex. covered: [[1,[33]],[2,[36,37]],[4,[41,42,43,44]]]

can_reach(X1,X2) =. true :-
can_reach(X1,X3) =. true,
linked_to(X1,X3) =. true.

PS_RULE: 94
Pos. ex. covered: [[1,[3]],[2,[5,6]],[3,[12,13]],[4,[16,19,23,27,28]]]
Neg. ex. covered: [[1,[]],[2,[]],[4,[]]]

can_reach(X1,X2) =. true :-
can_reach(X1,X3) =. true,
linked_to(X3,X2) =. true.

PS_RULE: 95
Pos. ex. covered: [[1,[3]],[2,[5,6]],[3,[]],[4,[16,17,19,20,21,23,24,25,27,28,29]]]
Neg. ex. covered: [[1,[33]],[2,[36,37]],[4,[41,42,43,44]]]

can_reach(X1,X2) =. true :-
can_reach(X1,X3) =. true,
linked_to(X3,X1) =. false.

PS_RULE: 96
Pos. ex. covered: [[1,[3]],[2,[5,6]],[3,[]],[4,[16,19,21,23,25,27,28]]]
Neg. ex. covered: [[1,[33]],[2,[]],[4,[41]]]

can_reach(X1,X2) =. true :-
can_reach(X1,X3) =. true,
linked_to(X2,X3) =. false.

PS_RULE: 97
Pos. ex. covered: [[1,[3]],[2,[]],[3,[]],[4,[16,19,24,28]]]
Neg. ex. covered: [[1,[33]],[2,[36,37]],[4,[41,42,44]]]

can_reach(X1,X2) =. true :-
can_reach(X1,X3) =. true,
linked_to(X1,X2) =. false.

PS_RULE: 98
Pos. ex. covered: [[1,[3]],[2,[5,6]],[3,[12,13]],[4,[16,17,19,20,21,23,24,25,27,28,29]]]
Neg. ex. covered: [[1,[33]],[2,[36,37]],[4,[41,42,43,44]]]

can_reach(X1,X2) =. true :-
can_reach(X1,X3) =. true,
node_of(X4,X1) =. true.

PS_RULE: 99
Pos. ex. covered: [[1,[3]],[2,[5,6]],[3,[12,13]],[4,[16,17,19,20,21,23,24,25,27,28,29]]]
Neg. ex. covered: [[1,[33]],[2,[36,37]],[4,[41,42,43,44]]]

can_reach(X1,X2) =. true :-
can_reach(X1,X3) =. true,
node_of(X4,X3) =. true.

PS_RULE: 100
Pos. ex. covered: [[1,[3]],[2,[5,6]],[3,[12,13]],[4,[16,19,23,27,28]]]
Neg. ex. covered: [[1,[]],[2,[]],[4,[]]]

can_reach(X1,X2) =. true :-
linked_to(X1,X3) =. true,
linked_to(X3,X2) =. true.

PS_RULE: 101
Pos. ex. covered: [[1,[3]],[2,[5,6]],[3,[]],[4,[16,17,19,20,21,23,24,25,27,28,29]]]
Neg. ex. covered: [[1,[33]],[2,[36,37]],[4,[41,42,43,44]]]

can_reach(X1,X2) =. true :-
linked_to(X1,X3) =. true,
linked_to(X3,X1) =. false.

PS_RULE: 102
Pos. ex. covered: [[1,[3]],[2,[5,6]],[3,[]],[4,[16,19,21,23,25,27,28]]]
Neg. ex. covered: [[1,[33]],[2,[]],[4,[41]]]

can_reach(X1,X2) =. true :-
linked_to(X1,X3) =. true,
linked_to(X2,X3) =. false.

PS_RULE: 103
Pos. ex. covered: [[1,[3]],[2,[]],[3,[]],[4,[16,19,24,28]]]
Neg. ex. covered: [[1,[33]],[2,[36,37]],[4,[41,42,44]]]

can_reach(X1,X2) =. true :-
linked_to(X1,X3) =. true,
linked_to(X1,X2) =. false.

PS_RULE: 104
Pos. ex. covered: [[1,[3]],[2,[5,6]],[3,[12,13]],[4,[16,17,19,20,21,23,24,25,27,28,29]]]
Neg. ex. covered: [[1,[33]],[2,[36,37]],[4,[41,42,43,44]]]

can_reach(X1,X2) =. true :-
linked_to(X1,X3) =. true,
node_of(X4,X1) =. true.

PS_RULE: 105
Pos. ex. covered: [[1,[3]],[2,[5,6]],[3,[12,13]],[4,[16,17,19,20,21,23,24,25,27,28,29]]]
Neg. ex. covered: [[1,[33]],[2,[36,37]],[4,[41,42,43,44]]]

can_reach(X1,X2) =. true :-
linked_to(X1,X3) =. true,
node_of(X4,X3) =. true.

PS_RULE: 106
Pos. ex. covered: [[1,[3]],[2,[5,6]],[3,[12,13]],[4,[16,17,19,20,21,23,24,25,27,28,29]]]
Neg. ex. covered: [[1,[33]],[2,[36,37]],[4,[41,42,43,44]]]

can_reach(X1,X2) =. true :-
linked_to(X1,X3) =. true,
node_of(X4,X2) =. true.

PS_RULE: 107
Pos. ex. covered: [[1,[3]],[2,[5,6]],[3,[]],[4,[16,19,23,24,25,27,28]]]
Neg. ex. covered: [[1,[35]],[2,[]],[4,[]]]

can_reach(X1,X2) =. true :-
linked_to(X3,X2) =. true,
linked_to(X3,X1) =. false.

PS_RULE: 108
Pos. ex. covered: [[1,[3]],[2,[5,6]],[3,[]],[4,[16,17,19,20,21,23,24,25,27,28,29]]]
Neg. ex. covered: [[1,[35]],[2,[39,40]],[4,[45,46,48,49]]]

can_reach(X1,X2) =. true :-
linked_to(X3,X2) =. true,
linked_to(X2,X3) =. false.

PS_RULE: 109
Pos. ex. covered: [[1,[3]],[2,[]],[3,[]],[4,[16,19,24,28]]]
Neg. ex. covered: [[1,[35]],[2,[39,40]],[4,[45,46,48]]]

can_reach(X1,X2) =. true :-
linked_to(X3,X2) =. true,
linked_to(X1,X2) =. false.

PS_RULE: 110
Pos. ex. covered: [[1,[3]],[2,[5,6]],[3,[12,13]],[4,[16,17,19,20,21,23,24,25,27,28,29]]]
Neg. ex. covered: [[1,[35]],[2,[39,40]],[4,[45,46,48,49]]]

can_reach(X1,X2) =. true :-
linked_to(X3,X2) =. true,
node_of(X4,X1) =. true.

PS_RULE: 111
Pos. ex. covered: [[1,[3]],[2,[5,6]],[3,[12,13]],[4,[16,17,19,20,21,23,24,25,27,28,29]]]
Neg. ex. covered: [[1,[35]],[2,[39,40]],[4,[45,46,48,49]]]

can_reach(X1,X2) =. true :-
linked_to(X3,X2) =. true,
node_of(X4,X3) =. true.

PS_RULE: 112
Pos. ex. covered: [[1,[3]],[2,[5,6]],[3,[12,13]],[4,[16,17,19,20,21,23,24,25,27,28,29]]]
Neg. ex. covered: [[1,[35]],[2,[39,40]],[4,[45,46,48,49]]]

can_reach(X1,X2) =. true :-
linked_to(X3,X2) =. true,
node_of(X4,X2) =. true.

PS_RULE: 113
Pos. ex. covered: [[1,[3]],[2,[5,6]],[3,[]],[4,[16,19,20,21,23,24,25,27,28]]]
Neg. ex. covered: [[1,[33,35]],[2,[]],[4,[41,43]]]

can_reach(X1,X2) =. true :-
linked_to(X3,X1) =. false,
linked_to(X2,X3) =. false.

PS_RULE: 114
Pos. ex. covered: [[1,[3]],[2,[]],[3,[]],[4,[16,19,24,28]]]
Neg. ex. covered: [[1,[33,35]],[2,[36,37]],[4,[41,42,44]]]

can_reach(X1,X2) =. true :-
linked_to(X3,X1) =. false,
linked_to(X1,X2) =. false.

PS_RULE: 115
Pos. ex. covered: [[1,[3]],[2,[5,6]],[3,[]],[4,[16,17,19,20,21,23,24,25,27,28,29]]]
Neg. ex. covered: [[1,[33,34,35]],[2,[36,37]],[4,[41,42,43,44]]]

can_reach(X1,X2) =. true :-
linked_to(X3,X1) =. false,
node_of(X4,X1) =. true.

PS_RULE: 116
Pos. ex. covered: [[1,[3]],[2,[5,6]],[3,[]],[4,[16,17,19,20,21,23,24,25,27,28,29]]]
Neg. ex. covered: [[1,[33,34,35]],[2,[36,37]],[4,[41,42,43,44]]]

can_reach(X1,X2) =. true :-
linked_to(X3,X1) =. false,
node_of(X4,X3) =. true.

PS_RULE: 117
Pos. ex. covered: [[1,[3]],[2,[5,6]],[3,[]],[4,[16,17,19,20,21,23,24,25,27,28,29]]]
Neg. ex. covered: [[1,[33,34,35]],[2,[36,37]],[4,[41,42,43,44]]]

can_reach(X1,X2) =. true :-
linked_to(X3,X1) =. false,
node_of(X4,X2) =. true.

PS_RULE: 118
Pos. ex. covered: [[1,[3]],[2,[]],[3,[]],[4,[16,19,24,28]]]
Neg. ex. covered: [[1,[33,35]],[2,[39,40]],[4,[41,42,44,45,46,47,48]]]

can_reach(X1,X2) =. true :-
linked_to(X2,X3) =. false,
linked_to(X1,X2) =. false.

PS_RULE: 119
Pos. ex. covered: [[1,[3]],[2,[5,6]],[3,[]],[4,[16,17,19,20,21,23,24,25,27,28,29]]]
Neg. ex. covered: [[1,[33,34,35]],[2,[39,40]],[4,[41,42,43,44,45,46,47,48,49]]]

can_reach(X1,X2) =. true :-
linked_to(X2,X3) =. false,
node_of(X4,X1) =. true.

PS_RULE: 120
Pos. ex. covered: [[1,[3]],[2,[5,6]],[3,[]],[4,[16,17,19,20,21,23,24,25,27,28,29]]]
Neg. ex. covered: [[1,[33,34,35]],[2,[39,40]],[4,[41,42,43,44,45,46,47,48,49]]]

can_reach(X1,X2) =. true :-
linked_to(X2,X3) =. false,
node_of(X4,X3) =. true.

PS_RULE: 121
Pos. ex. covered: [[1,[3]],[2,[5,6]],[3,[]],[4,[16,17,19,20,21,23,24,25,27,28,29]]]
Neg. ex. covered: [[1,[33,34,35]],[2,[39,40]],[4,[41,42,43,44,45,46,47,48,49]]]

can_reach(X1,X2) =. true :-
linked_to(X2,X3) =. false,
node_of(X4,X2) =. true.

PS_RULE: 122
Pos. ex. covered: [[1,[3]],[2,[]],[3,[]],[4,[16,19,24,28]]]
Neg. ex. covered: [[1,[33,35]],[2,[36,37,38,39,40]],[4,[41,42,44,45,46,47,48]]]

can_reach(X1,X2) =. true :-
linked_to(X1,X2) =. false,
node_of(X3,X1) =. true.

PS_RULE: 123
Pos. ex. covered: [[1,[3]],[2,[]],[3,[]],[4,[16,19,24,28]]]
Neg. ex. covered: [[1,[33,35]],[2,[36,37,38,39,40]],[4,[41,42,44,45,46,47,48]]]

can_reach(X1,X2) =. true :-
linked_to(X1,X2) =. false,
node_of(X3,X2) =. true.

PS_RULE: 124
Pos. ex. covered: [[1,[3]],[2,[5,6]],[3,[12,13]],[4,[16,17,19,20,21,23,24,25,27,28,29]]]
Neg. ex. covered: [[1,[33,34,35]],[2,[36,37,38,39,40]],[4,[41,42,43,44,45,46,47,48,49]]]

can_reach(X1,X2) =. true :-
node_of(X3,X1) =. true,
node_of(X3,X4) =. true.

PS_RULE: 125
Pos. ex. covered: [[1,[3]],[2,[5,6]],[3,[12,13]],[4,[16,17,19,20,21,23,24,25,27,28,29]]]
Neg. ex. covered: [[1,[33,34,35]],[2,[36,37,38,39,40]],[4,[41,42,43,44,45,46,47,48,49]]]

can_reach(X1,X2) =. true :-
node_of(X3,X1) =. true,
node_of(X3,X2) =. true.

PS_RULE: 126
Pos. ex. covered: [[1,[3]],[2,[5,6]],[3,[12,13]],[4,[16,17,19,20,21,23,24,25,27,28,29]]]
Neg. ex. covered: [[1,[33,34,35]],[2,[36,37,38,39,40]],[4,[41,42,43,44,45,46,47,48,49]]]

can_reach(X1,X2) =. true :-
node_of(X3,X2) =. true,
node_of(X3,X4) =. true.

Clauses for the concept: cyclic(_1175118) =. true

PS_RULE: 127
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X3,X2) =. true.

PS_RULE: 128
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
linked_to(X3,X2) =. true.

PS_RULE: 129
Pos. ex. covered: [[4,[31]],[5,[]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
linked_to(X2,X3) =. false.

PS_RULE: 130
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
node_of(X1,X3) =. true.

PS_RULE: 131
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X2,X3) =. true.

PS_RULE: 132
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
linked_to(X2,X3) =. true.

PS_RULE: 133
Pos. ex. covered: [[4,[31]],[5,[]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
linked_to(X3,X2) =. false.

RULE CONSISTENT AND RANGE-RESTRICTED: 85
can_reach(X1,X2) =. true :-
can_reach(X3,X2) =. true,
can_reach(X1,X3) =. true.

RULE CONSISTENT AND RANGE-RESTRICTED: 86
can_reach(X1,X2) =. true :-
can_reach(X3,X2) =. true,
linked_to(X1,X3) =. true.

RULE CONSISTENT AND RANGE-RESTRICTED: 94
can_reach(X1,X2) =. true :-
can_reach(X1,X3) =. true,
linked_to(X3,X2) =. true.

RULE CONSISTENT AND RANGE-RESTRICTED: 100
can_reach(X1,X2) =. true :-
linked_to(X1,X3) =. true,
linked_to(X3,X2) =. true.

select_ps_rule

NEGATIVES COVERED: cov(No. examples covered, No. clause)
cov(0,85) cov(0,86) cov(0,94) cov(0,100) cov(1,88) cov(1,107) cov(2,96)
cov(2,102) cov(2,127) cov(2,128) cov(2,129) cov(2,130) cov(2,131) cov(2,132)
cov(2,133) cov(4,113) cov(6,90) cov(6,97) cov(6,103) cov(6,109) cov(7,87)
cov(7,89) cov(7,91) cov(7,92) cov(7,93) cov(7,95) cov(7,98) cov(7,99)
cov(7,101) cov(7,104) cov(7,105) cov(7,106) cov(7,108) cov(7,110) cov(7,111)
cov(7,112) cov(7,114) cov(9,115) cov(9,116) cov(9,117) cov(11,118) cov(14,119)
cov(14,120) cov(14,121) cov(14,122) cov(14,123) cov(17,124) cov(17,125) cov(17,126)

BEST NEGATIVES COVERED: cov(No. examples covered, No. clause)
cov(0,85) cov(0,86) cov(0,94) cov(0,100) cov(1,88) cov(1,107) cov(2,96)
cov(2,102) cov(2,127) cov(2,128) cov(2,129) cov(2,130) cov(2,131) cov(2,132)
cov(2,133) cov(4,113) cov(6,90) cov(6,97) cov(6,103) cov(6,109) cov(7,87)
cov(7,89) cov(7,91) cov(7,92) cov(7,93) cov(7,95) cov(7,98) cov(7,99)
cov(7,101) cov(7,104) cov(7,105) cov(7,106) cov(7,108) cov(7,110) cov(7,111)
cov(7,112) cov(7,114)

POSITIVES COVERED: cov(No. examples covered, No. clause)
cov(16,87) cov(16,91) cov(16,92) cov(16,93) cov(16,98) cov(16,99) cov(16,104)
cov(16,105) cov(16,106) cov(16,110) cov(16,111) cov(16,112) cov(14,89) cov(14,95)
cov(14,101) cov(14,108) cov(12,113) cov(10,85) cov(10,86) cov(10,88) cov(10,94)
cov(10,96) cov(10,100) cov(10,102) cov(10,107) cov(5,90) cov(5,97) cov(5,103)
cov(5,109) cov(5,114) cov(2,127) cov(2,128) cov(2,130) cov(2,131) cov(2,132)
cov(1,129) cov(1,133)

BEST POSITIVES COVERED: cov(No. examples covered, No. clause)
cov(16,87) cov(16,91) cov(16,92) cov(16,93) cov(16,98) cov(16,99) cov(16,104)
cov(16,105) cov(16,106) cov(16,110) cov(16,111) cov(16,112) cov(14,89) cov(14,95)
cov(14,101) cov(14,108)

In find_best

POSITIVES COVERED: cov(No. examples covered, No. clause)
poscov(10,85) poscov(10,86) poscov(10,94) poscov(10,100)

BEST POSITIVES COVERED: cov(No. examples covered, No. clause)
poscov(10,85) poscov(10,86) poscov(10,94) poscov(10,100)

In find_best

No. LITERALS: no_lit(No. literals, No. clause)
numlet(2,85) numlet(2,86) numlet(2,94) numlet(2,100)

BEST No. LITERALS: no_lit(No. literals, No. clause)
numlet(2,85) numlet(2,86) numlet(2,94) numlet(2,100)

In find_best

COST OF NUMERATION: cost(Cost, No. Clause)
cost(0,85) cost(0,86) cost(0,94) cost(0,100)

BEST COST OF NUMERATION: cost(Cost, No. Clause)
cost(0,85) cost(0,86) cost(0,94) cost(0,100)

find_best/1 took 0.002 sec.

**********************************************
CLAUSE 2 ADDED TO THE LOGIC THEORY
can_reach(X1,X2) =. true :-
can_reach(X3,X2) =. true,
can_reach(X1,X3) =. true.

**********************************************

example(3,1,can_reach(a,c) =. true,[pos])
example(6,2,can_reach(c,f) =. true,[pos])
example(5,2,can_reach(c,e) =. true,[pos])
example(13,3,can_reach(h,h) =. true,[pos])
example(12,3,can_reach(g,g) =. true,[pos])
example(17,4,can_reach(j,j) =. true,[pos])
example(29,4,can_reach(m,m) =. true,[pos])
example(27,4,can_reach(m,i) =. true,[pos])
example(25,4,can_reach(l,i) =. true,[pos])
example(21,4,can_reach(k,i) =. true,[pos])
example(28,4,can_reach(m,k) =. true,[pos])
example(24,4,can_reach(l,k) =. true,[pos])
example(20,4,can_reach(k,k) =. true,[pos])
example(16,4,can_reach(j,m) =. true,[pos])
example(19,4,can_reach(k,j) =. true,[pos])
example(23,4,can_reach(l,j) =. true,[pos])

The learned theory covers 30/32 examples of concepts to be learned.

The Concept can_reach(_1175104,_1175106) =. true is learned.

SEED: object no. 4 for Concept cyclic(_1175118) =. true

================ Parallel Conquer for Concepts
================ [cyclic(_1175118) =. true]

---------------------- Specialization Step No. 1 ----------------------

Clauses for the concept: cyclic(_1175118) =. true

PS_RULE: 135
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true.

select_ps_rule

NEGATIVES COVERED: cov(No. examples covered, No. clause)
cov(2,135)

BEST NEGATIVES COVERED: cov(No. examples covered, No. clause)
cov(2,135)

POSITIVES COVERED: cov(No. examples covered, No. clause)
cov(2,135)

BEST POSITIVES COVERED: cov(No. examples covered, No. clause)
cov(2,135)

---------------------- Specialization Step No. 2 ----------------------

Clauses for the concept: cyclic(_1175118) =. true

PS_RULE: 136
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X3,X2) =. true.

PS_RULE: 137
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
linked_to(X3,X2) =. true.

PS_RULE: 138
Pos. ex. covered: [[4,[31]],[5,[]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
linked_to(X2,X3) =. false.

PS_RULE: 139
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
node_of(X1,X3) =. true.

PS_RULE: 140
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[]],[2,[]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X2,X2) =. true.

PS_RULE: 141
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X2,X3) =. true.

PS_RULE: 142
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
linked_to(X2,X3) =. true.

PS_RULE: 143
Pos. ex. covered: [[4,[31]],[5,[]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
linked_to(X3,X2) =. false.

RULE CONSISTENT AND RANGE-RESTRICTED: 140
cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X2,X2) =. true.

select_ps_rule

NEGATIVES COVERED: cov(No. examples covered, No. clause)
cov(0,140) cov(2,136) cov(2,137) cov(2,138) cov(2,139) cov(2,141) cov(2,142)
cov(2,143)

BEST NEGATIVES COVERED: cov(No. examples covered, No. clause)
cov(0,140) cov(2,136) cov(2,137) cov(2,138) cov(2,139) cov(2,141) cov(2,142)
cov(2,143)

POSITIVES COVERED: cov(No. examples covered, No. clause)
cov(2,136) cov(2,137) cov(2,139) cov(2,140) cov(2,141) cov(2,142) cov(1,138)
cov(1,143)

BEST POSITIVES COVERED: cov(No. examples covered, No. clause)
cov(2,136) cov(2,137) cov(2,139) cov(2,140) cov(2,141) cov(2,142) cov(1,138)
cov(1,143)

---------------------- Specialization Step No. 3 ----------------------

Clauses for the concept: cyclic(_1175118) =. true

PS_RULE: 144
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[]],[2,[]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X3,X2) =. true,
can_reach(X3,X3) =. true.

PS_RULE: 145
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X3,X2) =. true,
can_reach(X4,X2) =. true.

PS_RULE: 146
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X3,X2) =. true,
can_reach(X3,X4) =. true.

PS_RULE: 147
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X3,X2) =. true,
can_reach(X4,X3) =. true.

PS_RULE: 148
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X3,X2) =. true,
linked_to(X4,X2) =. true.

PS_RULE: 149
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X3,X2) =. true,
linked_to(X4,X3) =. true.

PS_RULE: 150
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X3,X2) =. true,
linked_to(X3,X4) =. true.

PS_RULE: 151
Pos. ex. covered: [[4,[31]],[5,[]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X3,X2) =. true,
linked_to(X2,X4) =. false.

PS_RULE: 152
Pos. ex. covered: [[4,[31]],[5,[]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X3,X2) =. true,
linked_to(X2,X3) =. false.

PS_RULE: 153
Pos. ex. covered: [[4,[31]],[5,[]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X3,X2) =. true,
linked_to(X3,X4) =. false.

PS_RULE: 154
Pos. ex. covered: [[4,[31]],[5,[]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X3,X2) =. true,
linked_to(X4,X3) =. false.

PS_RULE: 155
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X3,X2) =. true,
node_of(X1,X4) =. true.

PS_RULE: 156
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X3,X2) =. true,
node_of(X1,X3) =. true.

PS_RULE: 157
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X3,X2) =. true,
linked_to(X3,X2) =. true.

PS_RULE: 158
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[]],[2,[]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X2,X2) =. true,
can_reach(X2,X3) =. true.

PS_RULE: 159
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[]],[2,[]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X2,X2) =. true,
can_reach(X3,X2) =. true.

PS_RULE: 160
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[]],[2,[]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X2,X2) =. true,
linked_to(X2,X3) =. true.

PS_RULE: 161
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[]],[2,[]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X2,X2) =. true,
linked_to(X3,X2) =. true.

PS_RULE: 162
Pos. ex. covered: [[4,[31]],[5,[]]]
Neg. ex. covered: [[1,[]],[2,[]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X2,X2) =. true,
linked_to(X3,X2) =. false.

PS_RULE: 163
Pos. ex. covered: [[4,[31]],[5,[]]]
Neg. ex. covered: [[1,[]],[2,[]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X2,X2) =. true,
linked_to(X2,X3) =. false.

PS_RULE: 164
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[]],[2,[]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X2,X2) =. true,
node_of(X1,X3) =. true.

PS_RULE: 165
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X3,X2) =. true,
can_reach(X2,X4) =. true.

PS_RULE: 166
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[]],[2,[]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X3,X2) =. true,
can_reach(X2,X3) =. true.

PS_RULE: 167
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X3,X2) =. true,
linked_to(X2,X4) =. true.

PS_RULE: 168
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[]],[2,[]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X3,X2) =. true,
linked_to(X2,X3) =. true.

PS_RULE: 169
Pos. ex. covered: [[4,[31]],[5,[]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X3,X2) =. true,
linked_to(X4,X2) =. false.

PS_RULE: 170
Pos. ex. covered: [[4,[31]],[5,[]]]
Neg. ex. covered: [[1,[50]],[2,[]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X3,X2) =. true,
linked_to(X3,X2) =. false.

PS_RULE: 171
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[]],[2,[]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
linked_to(X3,X2) =. true,
can_reach(X3,X3) =. true.

PS_RULE: 172
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
linked_to(X3,X2) =. true,
can_reach(X3,X4) =. true.

PS_RULE: 173
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
linked_to(X3,X2) =. true,
can_reach(X4,X3) =. true.

PS_RULE: 174
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
linked_to(X3,X2) =. true,
linked_to(X3,X4) =. true.

PS_RULE: 175
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
linked_to(X3,X2) =. true,
linked_to(X4,X3) =. true.

PS_RULE: 176
Pos. ex. covered: [[4,[31]],[5,[]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
linked_to(X3,X2) =. true,
linked_to(X2,X3) =. false.

PS_RULE: 177
Pos. ex. covered: [[4,[31]],[5,[]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
linked_to(X3,X2) =. true,
linked_to(X2,X4) =. false.

PS_RULE: 178
Pos. ex. covered: [[4,[31]],[5,[]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
linked_to(X3,X2) =. true,
linked_to(X3,X4) =. false.

PS_RULE: 179
Pos. ex. covered: [[4,[31]],[5,[]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
linked_to(X3,X2) =. true,
linked_to(X4,X3) =. false.

PS_RULE: 180
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
linked_to(X3,X2) =. true,
node_of(X1,X3) =. true.

PS_RULE: 181
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
linked_to(X3,X2) =. true,
node_of(X1,X4) =. true.

PS_RULE: 182
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[]],[2,[]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
linked_to(X3,X2) =. true,
can_reach(X2,X3) =. true.

PS_RULE: 183
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
linked_to(X3,X2) =. true,
can_reach(X2,X4) =. true.

PS_RULE: 184
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
linked_to(X3,X2) =. true,
linked_to(X2,X4) =. true.

PS_RULE: 185
Pos. ex. covered: [[4,[31]],[5,[]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
linked_to(X3,X2) =. true,
linked_to(X4,X2) =. false.

PS_RULE: 186
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
linked_to(X3,X2) =. true,
linked_to(X4,X2) =. true.

PS_RULE: 187
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
node_of(X1,X2) =. true,
can_reach(X3,X2) =. true.

PS_RULE: 188
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
node_of(X1,X2) =. true,
linked_to(X3,X2) =. true.

PS_RULE: 189
Pos. ex. covered: [[4,[31]],[5,[]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
node_of(X1,X2) =. true,
linked_to(X2,X3) =. false.

PS_RULE: 190
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
node_of(X1,X2) =. true,
node_of(X1,X3) =. true.

PS_RULE: 191
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
node_of(X1,X3) =. true,
can_reach(X3,X4) =. true.

PS_RULE: 192
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
node_of(X1,X3) =. true,
linked_to(X3,X4) =. true.

PS_RULE: 193
Pos. ex. covered: [[4,[31]],[5,[]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
node_of(X1,X3) =. true,
linked_to(X2,X3) =. false.

PS_RULE: 194
Pos. ex. covered: [[4,[31]],[5,[]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
node_of(X1,X3) =. true,
linked_to(X2,X4) =. false.

PS_RULE: 195
Pos. ex. covered: [[4,[31]],[5,[]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
node_of(X1,X3) =. true,
linked_to(X4,X3) =. false.

PS_RULE: 196
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
node_of(X1,X3) =. true,
node_of(X1,X4) =. true.

PS_RULE: 197
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[]],[2,[]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
node_of(X1,X2) =. true,
can_reach(X2,X2) =. true.

PS_RULE: 198
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
node_of(X1,X2) =. true,
can_reach(X2,X3) =. true.

PS_RULE: 199
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
node_of(X1,X2) =. true,
linked_to(X2,X3) =. true.

PS_RULE: 200
Pos. ex. covered: [[4,[31]],[5,[]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
node_of(X1,X2) =. true,
linked_to(X3,X2) =. false.

PS_RULE: 201
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[]],[2,[]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X2,X3) =. true,
can_reach(X3,X3) =. true.

PS_RULE: 202
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X2,X3) =. true,
can_reach(X3,X4) =. true.

PS_RULE: 203
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X2,X3) =. true,
can_reach(X4,X3) =. true.

PS_RULE: 204
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X2,X3) =. true,
can_reach(X2,X4) =. true.

PS_RULE: 205
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X2,X3) =. true,
linked_to(X2,X4) =. true.

PS_RULE: 206
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X2,X3) =. true,
linked_to(X4,X3) =. true.

PS_RULE: 207
Pos. ex. covered: [[4,[31]],[5,[]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X2,X3) =. true,
linked_to(X4,X2) =. false.

PS_RULE: 208
Pos. ex. covered: [[4,[31]],[5,[]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X2,X3) =. true,
linked_to(X4,X3) =. false.

PS_RULE: 209
Pos. ex. covered: [[4,[31]],[5,[]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X2,X3) =. true,
linked_to(X2,X4) =. false.

PS_RULE: 210
Pos. ex. covered: [[4,[31]],[5,[]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X2,X3) =. true,
linked_to(X3,X4) =. false.

PS_RULE: 211
Pos. ex. covered: [[4,[31]],[5,[]]]
Neg. ex. covered: [[1,[50]],[2,[]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X2,X3) =. true,
linked_to(X2,X3) =. false.

PS_RULE: 212
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X2,X3) =. true,
linked_to(X2,X3) =. true.

PS_RULE: 213
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X2,X3) =. true,
linked_to(X3,X4) =. true.

PS_RULE: 214
Pos. ex. covered: [[4,[31]],[5,[]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X2,X3) =. true,
linked_to(X3,X2) =. false.

PS_RULE: 215
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
linked_to(X2,X3) =. true,
can_reach(X4,X3) =. true.

PS_RULE: 216
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
linked_to(X2,X3) =. true,
linked_to(X2,X4) =. true.

PS_RULE: 217
Pos. ex. covered: [[4,[31]],[5,[]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
linked_to(X2,X3) =. true,
linked_to(X3,X2) =. false.

PS_RULE: 218
Pos. ex. covered: [[4,[31]],[5,[]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
linked_to(X2,X3) =. true,
linked_to(X3,X4) =. false.

PS_RULE: 219
Pos. ex. covered: [[4,[31]],[5,[]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
linked_to(X2,X3) =. true,
linked_to(X2,X4) =. false.

PS_RULE: 220
Pos. ex. covered: [[4,[31]],[5,[]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
linked_to(X2,X3) =. true,
linked_to(X4,X2) =. false.

PS_RULE: 221
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
linked_to(X2,X3) =. true,
can_reach(X3,X4) =. true.

PS_RULE: 222
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[]],[2,[]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
linked_to(X2,X3) =. true,
can_reach(X3,X3) =. true.

PS_RULE: 223
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
linked_to(X2,X3) =. true,
linked_to(X3,X4) =. true.

PS_RULE: 224
Pos. ex. covered: [[4,[31]],[5,[]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
linked_to(X2,X3) =. true,
linked_to(X4,X3) =. false.

PS_RULE: 225
Pos. ex. covered: [[4,[31]],[5,[32]]]
Neg. ex. covered: [[1,[50]],[2,[51]]]

cyclic(X1) =. true :-
node_of(X1,X2) =. true,
linked_to(X2,X3) =. true,
linked_to(X4,X3) =. true.

RULE CONSISTENT AND RANGE-RESTRICTED: 144
cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X3,X2) =. true,
can_reach(X3,X3) =. true.

RULE CONSISTENT AND RANGE-RESTRICTED: 158
cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X2,X2) =. true,
can_reach(X2,X3) =. true.

RULE CONSISTENT AND RANGE-RESTRICTED: 159
cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X2,X2) =. true,
can_reach(X3,X2) =. true.

RULE CONSISTENT AND RANGE-RESTRICTED: 160
cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X2,X2) =. true,
linked_to(X2,X3) =. true.

RULE CONSISTENT AND RANGE-RESTRICTED: 161
cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X2,X2) =. true,
linked_to(X3,X2) =. true.

RULE CONSISTENT AND RANGE-RESTRICTED: 162
cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X2,X2) =. true,
linked_to(X3,X2) =. false.

RULE CONSISTENT AND RANGE-RESTRICTED: 163
cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X2,X2) =. true,
linked_to(X2,X3) =. false.

RULE CONSISTENT AND RANGE-RESTRICTED: 164
cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X2,X2) =. true,
node_of(X1,X3) =. true.

RULE CONSISTENT AND RANGE-RESTRICTED: 166
cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X3,X2) =. true,
can_reach(X2,X3) =. true.

RULE CONSISTENT AND RANGE-RESTRICTED: 168
cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X3,X2) =. true,
linked_to(X2,X3) =. true.

RULE CONSISTENT AND RANGE-RESTRICTED: 171
cyclic(X1) =. true :-
node_of(X1,X2) =. true,
linked_to(X3,X2) =. true,
can_reach(X3,X3) =. true.

RULE CONSISTENT AND RANGE-RESTRICTED: 182
cyclic(X1) =. true :-
node_of(X1,X2) =. true,
linked_to(X3,X2) =. true,
can_reach(X2,X3) =. true.

RULE CONSISTENT AND RANGE-RESTRICTED: 197
cyclic(X1) =. true :-
node_of(X1,X2) =. true,
node_of(X1,X2) =. true,
can_reach(X2,X2) =. true.

RULE CONSISTENT AND RANGE-RESTRICTED: 201
cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X2,X3) =. true,
can_reach(X3,X3) =. true.

RULE CONSISTENT AND RANGE-RESTRICTED: 222
cyclic(X1) =. true :-
node_of(X1,X2) =. true,
linked_to(X2,X3) =. true,
can_reach(X3,X3) =. true.

select_ps_rule

NEGATIVES COVERED: cov(No. examples covered, No. clause)
cov(0,144) cov(0,158) cov(0,159) cov(0,160) cov(0,161) cov(0,162) cov(0,163)
cov(0,164) cov(0,166) cov(0,168) cov(0,171) cov(0,182) cov(0,197) cov(0,201)
cov(0,222) cov(1,170) cov(1,211) cov(2,145) cov(2,146) cov(2,147) cov(2,148)
cov(2,149) cov(2,150) cov(2,151) cov(2,152) cov(2,153) cov(2,154) cov(2,155)
cov(2,156) cov(2,157) cov(2,165) cov(2,167) cov(2,169) cov(2,172) cov(2,173)
cov(2,174) cov(2,175) cov(2,176) cov(2,177) cov(2,178) cov(2,179) cov(2,180)
cov(2,181) cov(2,183) cov(2,184) cov(2,185) cov(2,186) cov(2,187) cov(2,188)
cov(2,189) cov(2,190) cov(2,191) cov(2,192) cov(2,193) cov(2,194) cov(2,195)
cov(2,196) cov(2,198) cov(2,199) cov(2,200) cov(2,202) cov(2,203) cov(2,204)
cov(2,205) cov(2,206) cov(2,207) cov(2,208) cov(2,209) cov(2,210) cov(2,212)
cov(2,213) cov(2,214) cov(2,215) cov(2,216) cov(2,217) cov(2,218) cov(2,219)
cov(2,220) cov(2,221) cov(2,223) cov(2,224) cov(2,225)

BEST NEGATIVES COVERED: cov(No. examples covered, No. clause)
cov(0,144) cov(0,158) cov(0,159) cov(0,160) cov(0,161) cov(0,162) cov(0,163)
cov(0,164) cov(0,166) cov(0,168) cov(0,171) cov(0,182) cov(0,197) cov(0,201)
cov(0,222)

POSITIVES COVERED: cov(No. examples covered, No. clause)
cov(2,144) cov(2,158) cov(2,159) cov(2,160) cov(2,161) cov(2,164) cov(2,166)
cov(2,168) cov(2,171) cov(2,182) cov(2,197) cov(2,201) cov(2,222) cov(1,162)
cov(1,163)

BEST POSITIVES COVERED: cov(No. examples covered, No. clause)
cov(2,144) cov(2,158) cov(2,159) cov(2,160) cov(2,161) cov(2,164) cov(2,166)
cov(2,168) cov(2,171) cov(2,182) cov(2,197) cov(2,201) cov(2,222)

In find_best

POSITIVES COVERED: cov(No. examples covered, No. clause)
poscov(2,140) poscov(2,144) poscov(2,158) poscov(2,159) poscov(2,160) poscov(2,161) poscov(2,164)
poscov(2,166) poscov(2,168) poscov(2,171) poscov(2,182) poscov(2,197) poscov(2,201) poscov(2,222)
poscov(1,162) poscov(1,163)

BEST POSITIVES COVERED: cov(No. examples covered, No. clause)
poscov(2,140) poscov(2,144) poscov(2,158) poscov(2,159) poscov(2,160) poscov(2,161) poscov(2,164)
poscov(2,166) poscov(2,168) poscov(2,171) poscov(2,182) poscov(2,197) poscov(2,201) poscov(2,222)

In find_best

No. LITERALS: no_lit(No. literals, No. clause)
numlet(2,140) numlet(3,144) numlet(3,158) numlet(3,159) numlet(3,160) numlet(3,161) numlet(3,164)
numlet(3,166) numlet(3,168) numlet(3,171) numlet(3,182) numlet(3,197) numlet(3,201) numlet(3,222)

BEST No. LITERALS: no_lit(No. literals, No. clause)
numlet(2,140)

In find_best

COST OF NUMERATION: cost(Cost, No. Clause)
cost(0,140)

BEST COST OF NUMERATION: cost(Cost, No. Clause)
cost(0,140)

find_best/1 took 0.005 sec.

**********************************************
CLAUSE 3 ADDED TO THE LOGIC THEORY
cyclic(X1) =. true :-
node_of(X1,X2) =. true,
can_reach(X2,X2) =. true.

**********************************************

example(31,4,cyclic(g4) =. true,[pos])
example(32,5,cyclic(g5) =. true,[pos])

The learned theory covers 32/32 examples of concepts to be learned.

The Concept cyclic(_1175118) =. true is learned.
End of the learning process

The learning process took 27.31 s.

Top