It is unlikely that Mary went to the hallway. It is certain that Bernhard is a frog. It is highly likely that Yann is thirsty. We doubt that if either 'Yann is thirsty' or 'Mary went to the hallway' but not both then Brian is green. It is impossible that if 'Yann is thirsty' or 'Bernhard is a frog' or both then Julius is a lion. Chances are slight that if 'Mary went to the hallway' or 'Bernhard is a frog' or both then Sandra dropped the milk.
It is impossible that 'Julius is a lion and Sandra dropped the milk'.
It is impossible that 'Julius is a lion and Sandra dropped the milk'.
It is probable that 'Julius is a lion and Sandra dropped 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.2::factA.
  1.0::factB.
  0.9::factC.
  %hop1
  0.2::factX:-xor(factC,factA).
  0.0::factY:-or(factC,factB).
  0.1::factZ:-or(factA,factB).

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

  query(conclusion).
  
'Julius is a lion and Sandra dropped the milk'.