A selector is a Prolog term denoting a (path to a) subterm of a given term T. Let subterm(T,S) denote the subterm of T wrt. a selector S, and let N denote an integer. A selector then takes one of the following forms:
| S | subterm(T,S)
|
[] | T
|
[...,N] | Nth argument of the compound term subterm(T,[...])
|
[...,#N] | Nth element of the list subterm(T,[...])
|