It is probably not the case that John went to the office. It is probably not the case that Bernhard is a frog. It is likely that Mary left the football. It is improbable that if 'Bernhard is a frog and John went to the office' then Greg is a swan. There is a better than even chance that if 'Bernhard is a frog and Mary left the football' then Sandra put down the milk. It is unlikely that if 'Bernhard is a frog' or 'Mary left the football' or both then Brian is a swan.
We believe that 'Mary left the football' or 'John went to the office' or both.
We believe that 'Mary left the football' or 'John went to the office' or both.
It is impossible that 'Mary left the football' or 'John went to the office' 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.
  0.25::factB.
  0.7::factC.
  %hop1
  0.1::factX:-and(factB,factA).
  0.6::factY:-and(factB,factC).
  0.2::factZ:-or(factB,factC).

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

  query(conclusion).
  
'Mary left the football' or 'John went to the office' or both.