It is highly unlikely that Bernhard is green. It is almost certain that Brian is yellow. It is highly unlikely that Greg is gray. Chances are about even that if either 'Brian is yellow' or 'Greg is gray' but not both then Julius is a lion. It is almost certain that if 'Greg is gray' or 'Bernhard is green' or both then Sandra left the milk. It is improbable that if either 'Brian is yellow' or 'Bernhard is green' but not both then Sumit is tired.
It is almost certain that 'Brian is yellow' or 'Julius is a lion' or both.
It is almost certain that 'Brian is yellow' or 'Julius is a lion' or both.
Chances are slight that 'Brian is yellow' or 'Julius is a lion' 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.05::factA.
  0.95::factB.
  0.05::factC.
  %hop1
  0.5::factX:-xor(factB,factC).
  0.95::factY:-or(factC,factA).
  0.1::factZ:-xor(factB,factA).

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

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