We believe that Mary moved to the office. There is a better than even chance that Julius is a frog. It is almost certain that Greg is yellow. There is little chance that if either 'Mary moved to the office' or 'Greg is yellow' but not both then Jason is bored. It is probable that if 'Julius is a frog and Greg is yellow' then John took the football. There is almost no chance that if 'Julius is a frog' or 'Mary moved to the office' or both then Sandra dropped the milk.
It is impossible that 'Mary moved to the office and Jason is bored'.
It is impossible that 'Mary moved to the office and Jason is bored'.
It is certain that 'Mary moved to the office and Jason is bored'.

  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.75::factA.
  0.6::factB.
  0.95::factC.
  %hop1
  0.1::factX:-xor(factA,factC).
  0.7::factY:-and(factB,factC).
  0.02::factZ:-or(factB,factA).

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

  query(conclusion).
  
'Mary moved to the office and Jason is bored'.