There is a better than even chance that Julius is gray. It is unlikely that Antoine is hungry. It is unlikely that Bernhard is white. It is highly unlikely that if 'Antoine is hungry and Bernhard is white' then Greg is a rhino. It is unlikely that if 'Julius is gray' or 'Antoine is hungry' or both then Sandra dropped the milk. It is probably the case that if 'Antoine is hungry and Julius is gray' then John got the football.
It is improbable that 'Julius is gray' or 'Antoine is hungry' or both.
It is probably the case that 'Julius is gray' or 'Antoine is hungry' or both.
It is improbable that 'Julius is gray' or 'Antoine is hungry' 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.6::factA.
  0.2::factB.
  0.2::factC.
  %hop1
  0.05::factX:-and(factB,factC).
  0.2::factY:-or(factA,factB).
  0.7::factZ:-and(factB,factA).

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

  query(conclusion).
  
'Julius is gray' or 'Antoine is hungry' or both.