SWI-Prolog Did You Know Did you know? SWI-Prolog has probabilistic logic Search Documentation:
Predicate negotiate_socks_connection/2