It is probably not the case that Brian is white. It is likely that John grabbed the milk. It is probable that Greg is yellow. It is almost certain that if either 'Brian is white' or 'John grabbed the milk' but not both then Lily is a rhino. It is impossible that if 'Brian is white' or 'John grabbed the milk' or both then Bernhard is green. It is unlikely that if either 'Greg is yellow' or 'Brian is white' but not both then Julius is a frog.
It is unlikely that 'Greg is yellow' or 'John grabbed the milk' or both.
It is highly likely that 'Greg is yellow' or 'John grabbed the milk' or both.
It is unlikely that 'Greg is yellow' or 'John grabbed the milk' 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.25::factA.
  0.7::factB.
  0.7::factC.
  %hop1
  0.95::factX:-xor(factA,factB).
  0.0::factY:-or(factA,factB).
  0.2::factZ:-xor(factC,factA).

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

  query(conclusion).
  
'Greg is yellow' or 'John grabbed the milk' or both.