It is certain that Fred went to the garden. It is impossible that Emily is a wolf. It is probably not the case that John discarded the apple. We doubt that if 'Fred went to the garden and Emily is a wolf' then Brian is gray. It is probably the case that if either 'Emily is a wolf' or 'Fred went to the garden' but not both then Jessica is a mouse. It is unlikely that if either 'Fred went to the garden' or 'John discarded the apple' but not both then Bernhard is a frog.
It is certain that 'Fred went to the garden' or 'Brian is gray' or both.
It is certain that 'Fred went to the garden' or 'Brian is gray' or both.
We doubt that 'Fred went to the garden' or 'Brian is gray' 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.0::factB.
  0.25::factC.
  %hop1
  0.2::factX:-and(factA,factB).
  0.7::factY:-xor(factB,factA).
  0.2::factZ:-xor(factA,factC).

  %hop2
  conclusion:-or(factA,factX).

  query(conclusion).
  
'Fred went to the garden' or 'Brian is gray' or both.