It is highly likely that Jeff put down the milk. It is likely that Lily is green. It is probably the case that Antoine is hungry. It is highly likely that if 'Antoine is hungry' or 'Jeff put down the milk' or both then Bernhard is a swan. Chances are slight that if either 'Antoine is hungry' or 'Lily is green' but not both then Brian is yellow. There is a very good chance that if 'Antoine is hungry' or 'Lily is green' or both then Mary went to the hallway.
There is almost no chance that 'Brian is yellow and Mary went to the hallway'.
There is almost no chance that 'Brian is yellow and Mary went to the hallway'.
There is a better than even chance that 'Brian is yellow and Mary went to the hallway'.

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

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

  query(conclusion).
  
'Brian is yellow and Mary went to the hallway'.