It is highly unlikely that Lily is a rhino. There is little chance that Greg is white. It is certain that Brian is white. It is almost certain that if either 'Lily is a rhino' or 'Greg is white' but not both then Winona is a sheep. It is improbable that if 'Greg is white' or 'Brian is white' or both then Julius is gray. It is certain that if 'Brian is white' or 'Greg is white' or both then Mary left the milk.
There is almost no chance that 'Greg is white and Julius is gray'.
There is almost no chance that 'Greg is white and Julius is gray'.
It is certain that 'Greg is white and Julius is gray'.

  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.1::factB.
  1.0::factC.
  %hop1
  0.95::factX:-xor(factA,factB).
  0.1::factY:-or(factB,factC).
  1.0::factZ:-or(factC,factB).

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

  query(conclusion).
  
'Greg is white and Julius is gray'.