Chances are slight that Brian is gray. There is little chance that Julius is a rhino. It is highly unlikely that Daniel left the apple. It is highly unlikely that if either 'Julius is a rhino' or 'Brian is gray' but not both then Lily is white. It is probably not the case that if 'Brian is gray' or 'Julius is a rhino' or both then Greg is a frog. There is a better than even chance that if 'Daniel left the apple and Julius is a rhino' then Bernhard is a lion.
It is improbable that 'Lily is white' or 'Brian is gray' or both.
It is improbable that 'Lily is white' or 'Brian is gray' or both.
It is certain that 'Lily is white' or 'Brian is gray' 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.1::factB.
  0.05::factC.
  %hop1
  0.05::factX:-xor(factB,factA).
  0.25::factY:-or(factA,factB).
  0.6::factZ:-and(factC,factB).

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

  query(conclusion).
  
'Lily is white' or 'Brian is gray' or both.