Да, все заработало и в swi-prolog и в SICStus Prolog .
Prolog | 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
| persej@persej-S3420GP ~ $ prolog
Welcome to SWI-Prolog (Multi-threaded, 64 bits, Version 7.2.3)
Copyright (c) 1990-2015 University of Amsterdam, VU Amsterdam
SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to redistribute it under certain conditions.
Please visit http://www.swi-prolog.org for details.
For help, use ?- help(Topic). or ?- apropos(Word).
?- use_module(library(clpq)).
true.
?- {1+X=5}.
X = 4.
?- {3*X-2*Y=6, 2*Y=X}.
X = 3,
Y = 3 rdiv 2.
?- use_module(library(clpr)).
ERROR: import/1: No permission to import bv_r:sup/4 into user (already imported from bv_q)
ERROR: import/1: No permission to import bv_r:maximize/1 into user (already imported from bv_q)
ERROR: import/1: No permission to import nf_r:entailed/1 into user (already imported from nf_q)
ERROR: import/1: No permission to import bv_r:inf/2 into user (already imported from bv_q)
ERROR: import/1: No permission to import bv_r:minimize/1 into user (already imported from bv_q)
ERROR: import/1: No permission to import bb_r:bb_inf/3 into user (already imported from bb_q)
ERROR: import/1: No permission to import nf_r:{}/1 into user (already imported from nf_q)
ERROR: import/1: No permission to import bv_r:inf/4 into user (already imported from bv_q)
ERROR: import/1: No permission to import bv_r:sup/2 into user (already imported from bv_q)
true.
?- {3*X-2*Y=6, 2*Y=X}.
X = 3,
Y = 3 rdiv 2.
?-
[7]+ Остановлено prolog
persej@persej-S3420GP ~ $ prolog
Welcome to SWI-Prolog (Multi-threaded, 64 bits, Version 7.2.3)
Copyright (c) 1990-2015 University of Amsterdam, VU Amsterdam
SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to redistribute it under certain conditions.
Please visit http://www.swi-prolog.org for details.
For help, use ?- help(Topic). or ?- apropos(Word).
?- use_module(library(clpr)).
true.
?- {1+X=5}.
X = 4.0 .
?- {3*X-2*Y=6, 2*Y=X}.
X = 3.0,
Y = 1.5.
?- |
|
Prolog | 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
| persej@persej-S3420GP ~ $ /home/pd/sicstus/testinstall/linux/4.4.1/bin/sicstus
SICStus 4.4.1 (x86_64-linux-glibc2.17): Fri Mar 16 07:52:32 PDT 2018
Licensed to Alexej
| ?- {1+X=5}.
! Existence error in user:{}/1
! procedure user:{}/1 does not exist
! goal: user:{1+_459=5}
| ?- use_module(library(clpr)).
% loading /home/pd/sicstus/testinstall/linux/4.4.1/bin/sp-4.4.1/sicstus-4.4.1/library/clpr.po...
% module clpr imported into user
% module arith_r imported into clpr
% loading /home/pd/sicstus/testinstall/linux/4.4.1/bin/sp-4.4.1/sicstus-4.4.1/library/types.po...
% module types imported into arith_r
% loaded /home/pd/sicstus/testinstall/linux/4.4.1/bin/sp-4.4.1/sicstus-4.4.1/library/types.po in module types, 0 msec 4112 bytes
% module types imported into clpr
% loading /home/pd/sicstus/testinstall/linux/4.4.1/bin/sp-4.4.1/sicstus-4.4.1/library/atts.po...
% module attributes imported into clpr
% module types imported into attributes
% loaded /home/pd/sicstus/testinstall/linux/4.4.1/bin/sp-4.4.1/sicstus-4.4.1/library/atts.po in module attributes, 4 msec 33536 bytes
% module geler_r imported into clpr
% module attributes imported into geler_r
% module nfr imported into clpr
% module arith_r imported into nfr
% module clpr imported into nfr
% module types imported into nfr
% loading /home/pd/sicstus/testinstall/linux/4.4.1/bin/sp-4.4.1/sicstus-4.4.1/library/terms.po...
% module terms imported into nfr
% module types imported into terms
% loading /home/pd/sicstus/testinstall/linux/4.4.1/bin/sp-4.4.1/sicstus-4.4.1/library/avl.po...
% module avl imported into terms
% loaded /home/pd/sicstus/testinstall/linux/4.4.1/bin/sp-4.4.1/sicstus-4.4.1/library/avl.po in module avl, 0 msec 47504 bytes
% loaded /home/pd/sicstus/testinstall/linux/4.4.1/bin/sp-4.4.1/sicstus-4.4.1/library/terms.po in module terms, 4 msec 88304 bytes
% module geler_r imported into nfr
% module classr imported into clpr
% module clpr imported into classr
% module types imported into classr
% loading /home/pd/sicstus/testinstall/linux/4.4.1/bin/sp-4.4.1/sicstus-4.4.1/library/ugraphs.po...
% module ugraphs imported into classr
% loading /home/pd/sicstus/testinstall/linux/4.4.1/bin/sp-4.4.1/sicstus-4.4.1/library/ordsets.po...
% module ordsets imported into ugraphs
% loaded /home/pd/sicstus/testinstall/linux/4.4.1/bin/sp-4.4.1/sicstus-4.4.1/library/ordsets.po in module ordsets, 0 msec 37424 bytes
% loading /home/pd/sicstus/testinstall/linux/4.4.1/bin/sp-4.4.1/sicstus-4.4.1/library/lists.po...
% module lists imported into ugraphs
% module types imported into lists
% loaded /home/pd/sicstus/testinstall/linux/4.4.1/bin/sp-4.4.1/sicstus-4.4.1/library/lists.po in module lists, 4 msec 108224 bytes
% module avl imported into ugraphs
% loading /home/pd/sicstus/testinstall/linux/4.4.1/bin/sp-4.4.1/sicstus-4.4.1/library/random.po...
% module random imported into ugraphs
% module types imported into random
% loading foreign resource /home/pd/sicstus/testinstall/linux/4.4.1/bin/sp-4.4.1/sicstus-4.4.1/library/x86_64-linux-glibc2.17/random.so in module random
% loaded /home/pd/sicstus/testinstall/linux/4.4.1/bin/sp-4.4.1/sicstus-4.4.1/library/random.po in module random, 12 msec 55232 bytes
% module types imported into ugraphs
% loaded /home/pd/sicstus/testinstall/linux/4.4.1/bin/sp-4.4.1/sicstus-4.4.1/library/ugraphs.po in module ugraphs, 20 msec 261024 bytes
% module attributes imported into classr
% module ordsets imported into clpr
% module terms imported into clpr
% loading /home/pd/sicstus/testinstall/linux/4.4.1/bin/sp-4.4.1/sicstus-4.4.1/library/assoc3.po...
% module assoc3 imported into clpr
% module avl imported into assoc3
% loaded /home/pd/sicstus/testinstall/linux/4.4.1/bin/sp-4.4.1/sicstus-4.4.1/library/assoc3.po in module assoc3, 4 msec 11776 bytes
% loaded /home/pd/sicstus/testinstall/linux/4.4.1/bin/sp-4.4.1/sicstus-4.4.1/library/clpr.po in module clpr, 52 msec 973520 bytes
yes
| ?- {1+X=5}.
X = 4.0 ?
yes
| ?- {3*X-2*Y=6, 2*Y=X}.
X = 3.0,
Y = 1.5 ?
yes
| ?- |
|
Хотя думал после установки режима clp(r) командой ?- use_module(library(clpr)) должно поменятся приглашение с указанием какой режим.
Главное все работает
Добавлено через 4 часа 42 минуты
Увы неодинаковый результаты в SWI-Prolog и в SICStus Prolog. В SICStus Prolog результаты верные. Так, что SWI-Prolog в смысле CLP недотягивает до SICStus Prolog.
Prolog | 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| persej@persej-N102 ~/АлгоритмыИскусственногоИнтеллектаНаЯзыкеPROLOG $ prolog
Welcome to SWI-Prolog (threaded, 32 bits, version 7.4.2)
SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software.
Please run ?- license. for legal details.
For online help and background, visit http://www.swi-prolog.org
For built-in help, use ?- help(Topic). or ?- apropos(Word).
?- use_module( library(clpr)).
true.
?- {Z=<X-2, Z=<6-X, Z+1=2}.
Z = 1.0,
{_1152=2.0-_1160, _1160=<2.0, X=3.0+_1160, _1160>=0.0} .
?- {Z=<X-2, Z=<6-X, Z+1=2}.
Z = 1.0,
{_2220=2.0-_2228, _2228=<2.0, X=3.0+_2228, _2228>=0.0} .
?-
[6]+ Остановлено prolog |
|
Prolog | 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
| persej@persej-N102 ~ $ /usr/local/sicstus4.4.1/bin/sicstus
SICStus 4.4.1 (x86-linux-glibc2.12): Fri Mar 16 07:52:29 PDT 2018
Licensed to Alexej
| ?- use_module( library(clpr)).
% loading /usr/local/sicstus4.4.1/bin/sp-4.4.1/sicstus-4.4.1/library/clpr.po...
% module clpr imported into user
% module arith_r imported into clpr
% loading /usr/local/sicstus4.4.1/bin/sp-4.4.1/sicstus-4.4.1/library/types.po...
% module types imported into arith_r
% loaded /usr/local/sicstus4.4.1/bin/sp-4.4.1/sicstus-4.4.1/library/types.po in module types, 4 msec 2080 bytes
% module types imported into clpr
% loading /usr/local/sicstus4.4.1/bin/sp-4.4.1/sicstus-4.4.1/library/atts.po...
% module attributes imported into clpr
% module types imported into attributes
% loaded /usr/local/sicstus4.4.1/bin/sp-4.4.1/sicstus-4.4.1/library/atts.po in module attributes, 20 msec 20272 bytes
% module geler_r imported into clpr
% module attributes imported into geler_r
% module nfr imported into clpr
% module arith_r imported into nfr
% module clpr imported into nfr
% module types imported into nfr
% loading /usr/local/sicstus4.4.1/bin/sp-4.4.1/sicstus-4.4.1/library/terms.po...
% module terms imported into nfr
% module types imported into terms
% loading /usr/local/sicstus4.4.1/bin/sp-4.4.1/sicstus-4.4.1/library/avl.po...
% module avl imported into terms
% loaded /usr/local/sicstus4.4.1/bin/sp-4.4.1/sicstus-4.4.1/library/avl.po in module avl, 4 msec 24016 bytes
% loaded /usr/local/sicstus4.4.1/bin/sp-4.4.1/sicstus-4.4.1/library/terms.po in module terms, 16 msec 45096 bytes
% module geler_r imported into nfr
% module classr imported into clpr
% module clpr imported into classr
% module types imported into classr
% loading /usr/local/sicstus4.4.1/bin/sp-4.4.1/sicstus-4.4.1/library/ugraphs.po...
% module ugraphs imported into classr
% loading /usr/local/sicstus4.4.1/bin/sp-4.4.1/sicstus-4.4.1/library/ordsets.po...
% module ordsets imported into ugraphs
% loaded /usr/local/sicstus4.4.1/bin/sp-4.4.1/sicstus-4.4.1/library/ordsets.po in module ordsets, 8 msec 18968 bytes
% loading /usr/local/sicstus4.4.1/bin/sp-4.4.1/sicstus-4.4.1/library/lists.po...
% module lists imported into ugraphs
% module types imported into lists
% loaded /usr/local/sicstus4.4.1/bin/sp-4.4.1/sicstus-4.4.1/library/lists.po in module lists, 8 msec 54904 bytes
% module avl imported into ugraphs
% loading /usr/local/sicstus4.4.1/bin/sp-4.4.1/sicstus-4.4.1/library/random.po...
% module random imported into ugraphs
% module types imported into random
% loading foreign resource /usr/local/sicstus4.4.1/bin/sp-4.4.1/sicstus-4.4.1/library/x86-linux-glibc2.12/random.so in module random
% loaded /usr/local/sicstus4.4.1/bin/sp-4.4.1/sicstus-4.4.1/library/random.po in module random, 52 msec 41440 bytes
% module types imported into ugraphs
% loaded /usr/local/sicstus4.4.1/bin/sp-4.4.1/sicstus-4.4.1/library/ugraphs.po in module ugraphs, 88 msec 146288 bytes
% module attributes imported into classr
% module ordsets imported into clpr
% module terms imported into clpr
% loading /usr/local/sicstus4.4.1/bin/sp-4.4.1/sicstus-4.4.1/library/assoc3.po...
% module assoc3 imported into clpr
% module avl imported into assoc3
% loaded /usr/local/sicstus4.4.1/bin/sp-4.4.1/sicstus-4.4.1/library/assoc3.po in module assoc3, 8 msec 6032 bytes
% loaded /usr/local/sicstus4.4.1/bin/sp-4.4.1/sicstus-4.4.1/library/clpr.po in module clpr, 236 msec 525072 bytes
yes
| ?- {Z=<X-2, Z=<6-X, Z+1=2}.
Z = 1.0,
{X=<5.0},
{X>=3.0} ?
yes
| ?- |
|
0
|