There is a better than even chance that John moved to the office. It is certain that Julius is a rhino. It is highly unlikely that Bernhard is gray. It is certain that if 'Bernhard is gray and John moved to the office' then Brian is yellow. It is probably not the case that if 'John moved to the office' or 'Bernhard is gray' or both then Mary put down the apple. It is certain that if 'Bernhard is gray' or 'John moved to the office' or both then Winona is a wolf.
There is almost no chance that 'John moved to the office and Bernhard is gray'.
There is almost no chance that 'John moved to the office and Bernhard is gray'.
There is a very good chance that 'John moved to the office and Bernhard 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.
  1.0::factB.
  0.05::factC.
  %hop1
  1.0::factX:-and(factC,factA).
  0.25::factY:-or(factA,factC).
  1.0::factZ:-or(factC,factA).

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

  query(conclusion).
  
'John moved to the office and Bernhard is gray'.