It is improbable that Sandra took the milk. It is unlikely that Brian is a rhino. It is highly likely that Greg is yellow. Chances are about even that if either 'Greg is yellow' or 'Brian is a rhino' but not both then Gertrude is a mouse. It is probably the case that if 'Brian is a rhino' or 'Greg is yellow' or both then Mary moved to the garden. It is certain that if 'Sandra took the milk and Greg is yellow' then Lily is gray.
It is impossible that 'Greg is yellow' or 'Brian is a rhino' or both.
It is highly likely that 'Greg is yellow' or 'Brian is a rhino' or both.
It is impossible that 'Greg is yellow' or 'Brian is a rhino' 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.1::factA.
  0.2::factB.
  0.9::factC.
  %hop1
  0.5::factX:-xor(factC,factB).
  0.7::factY:-or(factB,factC).
  1.0::factZ:-and(factA,factC).

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

  query(conclusion).
  
'Greg is yellow' or 'Brian is a rhino' or both.