There is a very good chance that Bernhard is green. Chances are slight that Lily is a lion. Chances are about even that Mary grabbed the milk. It is certain that if 'Lily is a lion' or 'Bernhard is green' or both then Brian is a frog. It is improbable that if either 'Lily is a lion' or 'Mary grabbed the milk' but not both then Julius is yellow. Chances are about even that if 'Mary grabbed the milk' or 'Bernhard is green' or both then Sumit is thirsty.
There is a very good chance that 'Brian is a frog' or 'Julius is yellow' or both.
There is a very good chance that 'Brian is a frog' or 'Julius is yellow' or both.
It is impossible that 'Brian is a frog' or 'Julius is yellow' 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.8::factA.
  0.1::factB.
  0.5::factC.
  %hop1
  1.0::factX:-or(factB,factA).
  0.1::factY:-xor(factB,factC).
  0.5::factZ:-or(factC,factA).

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

  query(conclusion).
  
'Brian is a frog' or 'Julius is yellow' or both.