There is a better than even chance that Julius is a swan. It is highly unlikely that John moved to the garden. It is highly likely that Bernhard is green. We believe that if either 'Bernhard is green' or 'John moved to the garden' but not both then Mary went to the hallway. There is a very good chance that if 'Bernhard is green' or 'Julius is a swan' or both then Winona is a sheep. We believe that if 'Bernhard is green' or 'Julius is a swan' or both then Sandra left the milk.
Chances are about even that 'Mary went to the hallway and Sandra left the milk'.
Chances are about even that 'Mary went to the hallway and Sandra left the milk'.
It is highly unlikely that 'Mary went to the hallway and Sandra left 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.6::factA.
  0.05::factB.
  0.9::factC.
  %hop1
  0.75::factX:-xor(factC,factB).
  0.8::factY:-or(factC,factA).
  0.75::factZ:-or(factC,factA).

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

  query(conclusion).
  
'Mary went to the hallway and Sandra left the milk'.