It is likely that Sandra grabbed the apple. Chances are slight that Fred is in the cinema. There is little chance that John went to the garden. There is little chance that if either 'Fred is in the cinema' or 'John went to the garden' but not both then Mary discarded the milk. It is probably not the case that if 'John went to the garden' or 'Sandra grabbed the apple' or both then Greg is gray. It is probably not the case that if 'Fred is in the cinema and Sandra grabbed the apple' then Lily is a rhino.
We doubt that 'Greg is gray' or 'Lily is a rhino' or both.
We doubt that 'Greg is gray' or 'Lily is a rhino' or both.
It is likely that 'Greg is gray' or 'Lily 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.7::factA.
  0.1::factB.
  0.1::factC.
  %hop1
  0.1::factX:-xor(factB,factC).
  0.25::factY:-or(factC,factA).
  0.25::factZ:-and(factB,factA).

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

  query(conclusion).
  
'Greg is gray' or 'Lily is a rhino' or both.