It is highly unlikely that Julius is yellow. It is impossible that Sandra is in the kitchen. There is almost no chance that John left the apple. There is a better than even chance that if either 'Sandra is in the kitchen' or 'John left the apple' but not both then Emily is a sheep. We believe that if either 'Julius is yellow' or 'Sandra is in the kitchen' but not both then Mary moved to the office. It is probably the case that if either 'Julius is yellow' or 'John left the apple' but not both then Lily is a lion.
There is almost no chance that 'Mary moved to the office and Lily is a lion'.
There is almost no chance that 'Mary moved to the office and Lily is a lion'.
It is probable that 'Mary moved to the office and Lily is a lion'.

  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.05::factA.
  0.0::factB.
  0.02::factC.
  %hop1
  0.6::factX:-xor(factB,factC).
  0.75::factY:-xor(factA,factB).
  0.7::factZ:-xor(factA,factC).

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

  query(conclusion).
  
'Mary moved to the office and Lily is a lion'.