It is probably the case that Bernhard is white. It is probable that Sumit is thirsty. It is highly unlikely that Daniel left the milk. We doubt that if 'Bernhard is white and Sumit is thirsty' then Julius is a lion. Chances are slight that if 'Sumit is thirsty' or 'Bernhard is white' or both then Brian is a rhino. Chances are slight that if either 'Sumit is thirsty' or 'Daniel left the milk' but not both then Greg is a frog.
It is highly unlikely that 'Brian is a rhino and Bernhard is white'.
It is highly unlikely that 'Brian is a rhino and Bernhard is white'.
We believe that 'Brian is a rhino and Bernhard is white'.

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

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

  query(conclusion).
  
'Brian is a rhino and Bernhard is white'.