It is likely that Julius is white. It is highly likely that Antoine is thirsty. There is a very good chance that Greg is a lion. It is improbable that if 'Greg is a lion and Antoine is thirsty' then Bernhard is green. It is impossible that if either 'Antoine is thirsty' or 'Julius is white' but not both then Lily is gray. It is probably not the case that if 'Antoine is thirsty' or 'Julius is white' or both then Mary went to the garden.
We doubt that 'Greg is a lion and Mary went to the garden'.
We doubt that 'Greg is a lion and Mary went to the garden'.
It is almost certain that 'Greg is a lion and Mary went to the garden'.

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

  %hop2
  conclusion:-and(factC,factZ).

  query(conclusion).
  
'Greg is a lion and Mary went to the garden'.