Predicates result in an expression value that is converted to a boolean.
If the value is a number, then the position is checked against that number.
These are equivalent:
slide[2] slide[position()=2]
Otherwise, the boolean() function is applied to convert its value to a boolean:
A node set is true if it is non-empty.
A string is true if it has a non-zero length.
Boolean expressions (and, or, not ) are already boolean values.