It is impossible that Julius is a swan. It is almost certain that Mary dropped the milk. It is highly likely that Sandra left the apple. There is little chance that if 'Sandra left the apple' or 'Mary dropped the milk' or both then Greg is a rhino. We doubt that if 'Mary dropped the milk and Sandra left the apple' then Bernhard is white. It is almost certain that if 'Mary dropped the milk and Julius is a swan' then Jeff moved to the office.
Chances are slight that 'Greg is a rhino' or 'Julius is a swan' or both.
Chances are slight that 'Greg is a rhino' or 'Julius is a swan' or both.
It is highly likely that 'Greg is a rhino' or 'Julius is a swan' or both.

  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.0::factA.
  0.95::factB.
  0.9::factC.
  %hop1
  0.1::factX:-or(factC,factB).
  0.2::factY:-and(factB,factC).
  0.95::factZ:-and(factB,factA).

  %hop2
  conclusion:-or(factX,factA).

  query(conclusion).
  
'Greg is a rhino' or 'Julius is a swan' or both.