It is improbable that Mary dropped the milk. It is certain that Greg is yellow. It is certain that Bill moved to the office. It is unlikely that if 'Mary dropped the milk and Bill moved to the office' then Emily is a mouse. We believe that if 'Mary dropped the milk and Bill moved to the office' then John took the football. There is a very good chance that if 'Mary dropped the milk and Bill moved to the office' then Bernhard is white.
It is highly likely that 'Bill moved to the office and Bernhard is white'.
It is improbable that 'Bill moved to the office and Bernhard is white'.
It is highly likely that 'Bill moved to the office and Bernhard is white'.

  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.1::factA.
  1.0::factB.
  1.0::factC.
  %hop1
  0.2::factX:-and(factA,factC).
  0.75::factY:-and(factA,factC).
  0.8::factZ:-and(factA,factC).

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

  query(conclusion).
  
'Bill moved to the office and Bernhard is white'.