It is improbable that Mary went to the office. There is a very good chance that Brian is green. There is a very good chance that John picked up the apple. It is highly likely that if 'John picked up the apple' or 'Mary went to the office' or both then Greg is a frog. It is highly unlikely that if 'Brian is green' or 'John picked up the apple' or both then Bernhard is yellow. There is little chance that if either 'John picked up the apple' or 'Brian is green' but not both then Sandra dropped the milk.
It is unlikely that 'Sandra dropped the milk' or 'Greg is a frog' or both.
We believe that 'Sandra dropped the milk' or 'Greg is a frog' or both.
It is unlikely that 'Sandra dropped the milk' or 'Greg is a frog' 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.1::factA.
  0.8::factB.
  0.8::factC.
  %hop1
  0.9::factX:-or(factC,factA).
  0.05::factY:-or(factB,factC).
  0.1::factZ:-xor(factC,factB).

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

  query(conclusion).
  
'Sandra dropped the milk' or 'Greg is a frog' or both.