There is a very good chance that Sandra dropped the milk. It is highly unlikely that Mary put down the apple. There is almost no chance that Lily is a rhino. There is a very good chance that if either 'Mary put down the apple' or 'Sandra dropped the milk' but not both then John went to the hallway. It is certain that if either 'Mary put down the apple' or 'Lily is a rhino' but not both then Brian is white. There is little chance that if 'Sandra dropped the milk' or 'Lily is a rhino' or both then Greg is a lion.
It is likely that 'Brian is white and Lily is a rhino'.
There is almost no chance that 'Brian is white and Lily is a rhino'.
It is likely that 'Brian is white and Lily is a rhino'.

  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.8::factA.
  0.05::factB.
  0.02::factC.
  %hop1
  0.8::factX:-xor(factB,factA).
  1.0::factY:-xor(factB,factC).
  0.1::factZ:-or(factA,factC).

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

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