It is almost certain that Bill moved to the office. There is little chance that Emily is a mouse. It is certain that John grabbed the apple. It is highly unlikely that if 'Bill moved to the office' or 'Emily is a mouse' or both then Gertrude is a cat. It is highly likely that if 'Bill moved to the office' or 'John grabbed the apple' or both then Lily is green. It is almost certain that if 'Bill moved to the office and John grabbed the apple' then Greg is yellow.
We doubt that 'John grabbed the apple and Greg is yellow'.
It is highly likely that 'John grabbed the apple and Greg is yellow'.
We doubt that 'John grabbed the apple and Greg is yellow'.

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

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

  query(conclusion).
  
'John grabbed the apple and Greg is yellow'.