It is almost certain that Antoine is hungry. It is highly likely that Brian is yellow. We believe that Mary got the milk. It is highly unlikely that if either 'Antoine is hungry' or 'Brian is yellow' but not both then John moved to the garden. It is highly unlikely that if 'Mary got the milk' or 'Antoine is hungry' or both then Julius is gray. There is almost no chance that if 'Mary got the milk and Antoine is hungry' then Lily is a frog.
There is a very good chance that 'Julius is gray and Brian is yellow'.
It is highly unlikely that 'Julius is gray and Brian is yellow'.
There is a very good chance that 'Julius is gray and Brian is yellow'.

  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.95::factA.
  0.9::factB.
  0.75::factC.
  %hop1
  0.05::factX:-xor(factA,factB).
  0.05::factY:-or(factC,factA).
  0.02::factZ:-and(factC,factA).

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

  query(conclusion).
  
'Julius is gray and Brian is yellow'.