It is probable that Emily is a sheep. It is probably not the case that John moved to the garden. It is highly unlikely that Greg is yellow. We doubt that if either 'Greg is yellow' or 'John moved to the garden' but not both then Brian is a rhino. Chances are about even that if either 'John moved to the garden' or 'Greg is yellow' but not both then Mary grabbed the milk. It is certain that if either 'Emily is a sheep' or 'John moved to the garden' but not both then Sandra left the apple.
There is almost no chance that 'Brian is a rhino and Mary grabbed the milk'.
There is almost no chance that 'Brian is a rhino and Mary grabbed the milk'.
We believe that 'Brian is a rhino and Mary grabbed the milk'.

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

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

  query(conclusion).
  
'Brian is a rhino and Mary grabbed the milk'.