| 1 | :- multifile generate/2. | |
| 2 | :- multifile shrink/3. | |
| 3 | ||
| 4 | :- use_module(library(random),[random/3]). | |
| 5 | ||
| 6 | generate(between(A,B),Value) :- | |
| 7 | C is B + 1 , | |
| 8 | random(A,C,Value). | |
| 9 | ||
| 10 | shrink(between(A,B),Value,Shrunken) :- | |
| 11 | shrink(integer(_),Value,Shrunken) , | |
| 12 | Shrunken >= A , Shrunken =< B. |