It is almost certain that John went to the garden. It is almost certain that Emily is a sheep. There is little chance that Brian is green. There is a very good chance that if 'John went to the garden' or 'Emily is a sheep' or both then Sandra took the apple. It is almost certain that if 'Emily is a sheep' or 'Brian is green' or both then Bernhard is gray. It is probably the case that if either 'Emily is a sheep' or 'John went to the garden' but not both then Julius is a frog.
We doubt that 'Sandra took the apple' or 'John went to the garden' or both.
It is certain that 'Sandra took the apple' or 'John went to the garden' or both.
We doubt that 'Sandra took the apple' 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.95::factA.
  0.95::factB.
  0.1::factC.
  %hop1
  0.8::factX:-or(factA,factB).
  0.95::factY:-or(factB,factC).
  0.7::factZ:-xor(factB,factA).

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

  query(conclusion).
  
'Sandra took the apple' or 'John went to the garden' or both.