It is highly unlikely that Jason is tired. It is highly likely that Jeff moved to the office. It is highly likely that Julius is gray. It is almost certain that if either 'Jason is tired' or 'Julius is gray' but not both then Brian is a swan. It is unlikely that if 'Julius is gray and Jason is tired' then Greg is a lion. There is a better than even chance that if 'Jeff moved to the office and Jason is tired' then John picked up the apple.
It is certain that 'Julius is gray' or 'Jeff moved to the office' or both.
It is certain that 'Julius is gray' or 'Jeff moved to the office' or both.
There is little chance that 'Julius 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.05::factA.
  0.9::factB.
  0.9::factC.
  %hop1
  0.95::factX:-xor(factA,factC).
  0.2::factY:-and(factC,factA).
  0.6::factZ:-and(factB,factA).

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

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