Chances are about even that Brian is a frog. It is probably the case that Mary grabbed the milk. It is highly likely that Greg is gray. There is a better than even chance that if either 'Greg is gray' or 'Mary grabbed the milk' but not both then Antoine is bored. We doubt that if either 'Mary grabbed the milk' or 'Brian is a frog' but not both then Bernhard is white. It is highly unlikely that if 'Greg is gray' or 'Brian is a frog' or both then Lily is a rhino.
It is highly unlikely that 'Mary grabbed the milk and Bernhard is white'.
It is highly unlikely that 'Mary grabbed the milk and Bernhard is white'.
It is probable that 'Mary grabbed the milk and Bernhard is white'.

  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.5::factA.
  0.7::factB.
  0.9::factC.
  %hop1
  0.6::factX:-xor(factC,factB).
  0.2::factY:-xor(factB,factA).
  0.05::factZ:-or(factC,factA).

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

  query(conclusion).
  
'Mary grabbed the milk and Bernhard is white'.