We believe that Winona is a wolf. It is highly unlikely that Mary moved to the office. There is almost no chance that Bernhard is green. It is highly unlikely that if 'Bernhard is green and Mary moved to the office' then Julius is a rhino. It is improbable that if 'Bernhard is green' or 'Winona is a wolf' or both then Brian is a swan. It is highly unlikely that if 'Winona is a wolf and Bernhard is green' then Sandra left the football.
It is impossible that 'Julius is a rhino and Brian is a swan'.
It is impossible that 'Julius is a rhino and Brian is a swan'.
It is highly likely that 'Julius is a rhino and Brian is a swan'.

  and(A,B) :- A,B.
  or(A,B) :- A;B.
  nand(A,B) :- not(and(A,B)).
  nor(A,B) :- not(or(A,B)).
  xor(A,B) :- or(A,B), nand(A,B).

  %hop0
  0.75::factA.
  0.05::factB.
  0.02::factC.
  %hop1
  0.05::factX:-and(factC,factB).
  0.1::factY:-or(factC,factA).
  0.05::factZ:-and(factA,factC).

  %hop2
  conclusion:-and(factX,factY).

  query(conclusion).
  
'Julius is a rhino and Brian is a swan'.