It is unlikely that Jason is thirsty. We doubt that Julius is white. It is certain that Lily is a rhino. There is a better than even chance that if either 'Julius is white' or 'Jason is thirsty' but not both then John put down the milk. We believe that if 'Julius is white and Jason is thirsty' then Greg is a lion. There is little chance that if 'Julius is white and Jason is thirsty' then Jeff left the football.
We believe that 'Greg is a lion' or 'Julius is white' or both.
It is unlikely that 'Greg is a lion' or 'Julius is white' or both.
We believe that 'Greg is a lion' or 'Julius 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
  0.2::factA.
  0.2::factB.
  1.0::factC.
  %hop1
  0.6::factX:-xor(factB,factA).
  0.75::factY:-and(factB,factA).
  0.1::factZ:-and(factB,factA).

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

  query(conclusion).
  
'Greg is a lion' or 'Julius is white' or both.