There is a better than even chance that John took the apple. There is little chance that Greg is gray. It is highly unlikely that Daniel put down the milk. It is certain that if 'Daniel put down the milk and John took the apple' then Julius is white. It is highly unlikely that if either 'Greg is gray' or 'John took the apple' but not both then Bill moved to the office. It is almost certain that if either 'Greg is gray' or 'Daniel put down the milk' but not both then Lily is a lion.
It is impossible that 'Bill moved to the office and Greg is gray'.
It is impossible that 'Bill moved to the office and Greg is gray'.
It is probably the case that 'Bill moved to the office and Greg is gray'.

  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.6::factA.
  0.1::factB.
  0.05::factC.
  %hop1
  1.0::factX:-and(factC,factA).
  0.05::factY:-xor(factB,factA).
  0.95::factZ:-xor(factB,factC).

  %hop2
  conclusion:-and(factY,factB).

  query(conclusion).
  
'Bill moved to the office and Greg is gray'.