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,[...] )
|