We doubt that Winona is a cat. We doubt that Brian is a rhino. There is a better than even chance that John took the football. It is probably the case that if 'John took the football' or 'Brian is a rhino' or both then Lily is gray. We doubt that if 'Winona is a cat and Brian is a rhino' then Daniel got the milk. There is little chance that if 'Brian is a rhino and Winona is a cat' then Bernhard is yellow.
There is almost no chance that 'Bernhard is yellow' or 'Daniel got the milk' or both.
There is almost no chance that 'Bernhard is yellow' or 'Daniel got the milk' or both.
There is a better than even chance that 'Bernhard is yellow' or 'Daniel got the milk' 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.
  0.6::factC.
  %hop1
  0.7::factX:-or(factC,factB).
  0.2::factY:-and(factA,factB).
  0.1::factZ:-and(factB,factA).

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

  query(conclusion).
  
'Bernhard is yellow' or 'Daniel got the milk' or both.