It is probably not the case that Bernhard is white. It is likely that Daniel put down the milk. Chances are about even that Greg is a rhino. It is probably not the case that if either 'Daniel put down the milk' or 'Bernhard is white' but not both then Gertrude is a sheep. It is probably not the case that if 'Bernhard is white and Daniel put down the milk' then Mary went to the kitchen. It is probably not the case that if either 'Greg is a rhino' or 'Bernhard is white' but not both then Emily is a mouse.
It is likely that 'Greg is a rhino and Emily is a mouse'.
It is improbable that 'Greg is a rhino and Emily is a mouse'.
It is likely that 'Greg is a rhino and Emily is a mouse'.

  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.25::factA.
  0.7::factB.
  0.5::factC.
  %hop1
  0.25::factX:-xor(factB,factA).
  0.25::factY:-and(factA,factB).
  0.25::factZ:-xor(factC,factA).

  %hop2
  conclusion:-and(factC,factZ).

  query(conclusion).
  
'Greg is a rhino and Emily is a mouse'.