It is unlikely that Yann is hungry. It is impossible that Greg is a swan. Chances are slight that Mary got the football. Chances are about even that if 'Greg is a swan' or 'Yann is hungry' or both then Winona is a sheep. There is a better than even chance that if 'Yann is hungry and Mary got the football' then Julius is white. It is improbable that if 'Mary got the football and Yann is hungry' then Brian is gray.
There is almost no chance that 'Julius is white' or 'Brian is gray' or both.
There is almost no chance that 'Julius is white' or 'Brian is gray' or both.
It is probably the case that 'Julius is white' or 'Brian is gray' 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.0::factB.
  0.1::factC.
  %hop1
  0.5::factX:-or(factB,factA).
  0.6::factY:-and(factA,factC).
  0.1::factZ:-and(factC,factA).

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

  query(conclusion).
  
'Julius is white' or 'Brian is gray' or both.