It is unlikely that John moved to the garden. There is little chance that Daniel left the apple. It is probable that Brian is a rhino. It is highly unlikely that if 'Daniel left the apple and John moved to the garden' then Sandra dropped the milk. We believe that if 'Brian is a rhino and John moved to the garden' then Bernhard is a frog. It is probably the case that if either 'Daniel left the apple' or 'Brian is a rhino' but not both then Julius is green.
It is probably not the case that 'John moved to the garden' or 'Daniel left the apple' or both.
It is probably not the case that 'John moved to the garden' or 'Daniel left the apple' or both.
It is highly likely that 'John moved to the garden' or 'Daniel left the apple' 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.1::factB.
  0.7::factC.
  %hop1
  0.05::factX:-and(factB,factA).
  0.75::factY:-and(factC,factA).
  0.7::factZ:-xor(factB,factC).

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

  query(conclusion).
  
'John moved to the garden' or 'Daniel left the apple' or both.