There is little chance that Brian is a swan. Chances are slight that Jeff moved to the garden. There is a very good chance that Mary dropped the milk. Chances are slight that if 'Brian is a swan and Jeff moved to the garden' then Emily is a sheep. It is probable that if either 'Mary dropped the milk' or 'Jeff moved to the garden' but not both then John went to the hallway. It is highly unlikely that if 'Mary dropped the milk' or 'Jeff moved to the garden' or both then Yann is hungry.
It is highly likely that 'Emily is a sheep' or 'Brian is a swan' or both.
Chances are slight that 'Emily is a sheep' or 'Brian is a swan' or both.
It is highly likely that 'Emily is a sheep' or 'Brian is a swan' or both.

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

  %hop2
  conclusion:-or(factX,factA).

  query(conclusion).
  
'Emily is a sheep' or 'Brian is a swan' or both.