It is certain that Jeff left the football. It is likely that Greg is a lion. It is impossible that Julius is a swan. We believe that if either 'Jeff left the football' or 'Greg is a lion' but not both then John moved to the office. It is almost certain that if either 'Greg is a lion' or 'Julius is a swan' but not both then Bernhard is a frog. It is probable that if either 'Julius is a swan' or 'Greg is a lion' but not both then Mary dropped the milk.
It is impossible that 'Mary dropped the milk and John moved to the office'.
It is impossible that 'Mary dropped the milk and John moved to the office'.
It is highly likely that 'Mary dropped the milk and John moved to the office'.

  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.7::factB.
  0.0::factC.
  %hop1
  0.75::factX:-xor(factA,factB).
  0.95::factY:-xor(factB,factC).
  0.7::factZ:-xor(factC,factB).

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

  query(conclusion).
  
'Mary dropped the milk and John moved to the office'.