Select from two lists at the same position. True if XList is 
unifiable with YList apart a single element at the same 
position that is unified with X in XList and with Y 
in YList. A typical use for this predicate is to replace 
an element, as shown in the example below. All possible substitutions 
are performed on backtracking.
?- select(b, [a,b,c,b], 2, X).
X = [a, 2, c, b] ;
X = [a, b, c, 2] ;
false.
- See also
- selectchk/4 provides a 
semidet version.