It is probably not the case that Mary took the football. It is certain that Bernhard is a rhino. It is probably the case that John went to the garden. There is a very good chance that if 'Bernhard is a rhino and John went to the garden' then Jeff dropped the apple. It is almost certain that if either 'Mary took the football' or 'John went to the garden' but not both then Emily is a sheep. It is unlikely that if either 'Bernhard is a rhino' or 'Mary took the football' but not both then Brian is green.
It is certain that 'Bernhard is a rhino' or 'John went to the garden' or both.
It is certain that 'Bernhard is a rhino' or 'John went to the garden' or both.
Chances are slight that 'Bernhard is a rhino' or 'John went to the garden' 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.25::factA.
  1.0::factB.
  0.7::factC.
  %hop1
  0.8::factX:-and(factB,factC).
  0.95::factY:-xor(factA,factC).
  0.2::factZ:-xor(factB,factA).

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

  query(conclusion).
  
'Bernhard is a rhino' or 'John went to the garden' or both.