It is certain that Lily is a rhino. We doubt that Brian is white. It is highly likely that Julius is a lion. There is a very good chance that if either 'Lily is a rhino' or 'Julius is a lion' but not both then Sandra got the milk. It is improbable that if either 'Brian is white' or 'Julius is a lion' but not both then Fred discarded the apple. There is little chance that if 'Lily is a rhino' or 'Julius is a lion' or both then Greg is white.
It is unlikely that 'Fred discarded the apple' or 'Greg is white' or both.
It is unlikely that 'Fred discarded the apple' or 'Greg is white' or both.
There is a very good chance that 'Fred discarded the apple' or 'Greg is white' 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
  1.0::factA.
  0.2::factB.
  0.9::factC.
  %hop1
  0.8::factX:-xor(factA,factC).
  0.1::factY:-xor(factB,factC).
  0.1::factZ:-or(factA,factC).

  %hop2
  conclusion:-or(factY,factZ).

  query(conclusion).
  
'Fred discarded the apple' or 'Greg is white' or both.