It is unlikely that Julius is a frog. Chances are slight that Brian is gray. Chances are slight that John got the milk. There is little chance that if either 'Brian is gray' or 'Julius is a frog' but not both then Lily is a lion. It is likely that if 'Brian is gray and Julius is a frog' then Jeff moved to the office. It is probable that if 'Brian is gray' or 'Julius is a frog' or both then Greg is a swan.
There is a better than even chance that 'Brian is gray' or 'Jeff moved to the office' or both.
There is little chance that 'Brian is gray' or 'Jeff moved to the office' or both.
There is a better than even chance that 'Brian is gray' or 'Jeff moved to the office' or both.

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

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

  query(conclusion).
  
'Brian is gray' or 'Jeff moved to the office' or both.