Logtalk reference manual
Built-in predicate: protocol_property/2
Contents > Reference Manual > Built-in Predicates > protocol_property/2

## protocol_property/2

#### Description

    protocol_property(Protocol, Property)

Enumerates, by backtracking, the properties associated with the currently defined protocols. The valid protocol properties are listed in the language grammar.

#### Template and modes

    protocol_property(?protocol_identifier, ?protocol_property)

#### Errors

Protocol is neither a variable nor a valid protocol identifier:
  `type_error(protocol_identifier, Protocol)`
Property is neither a variable nor a callable term:
  `type_error(callable, Property)`
Property is a callable term but not a valid protocol property:
  `domain_error(protocol_property, Property)`

#### Examples

    | ?- protocol_property(listp, Property).

#### See also

`abolish_protocol/1`, `create_protocol/3`, `current_protocol/1`
`conforms_to_protocol/2-3`, `extends_protocol/2-3`, `implements_protocol/2-3`