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