There is a very good chance that Brian is a swan. There is a very good chance that Julius is a lion. It is certain that Greg is green. It is probably the case that if either 'Julius is a lion' or 'Brian is a swan' but not both then Jason is thirsty. It is almost certain that if 'Brian is a swan' or 'Julius is a lion' or both then John moved to the garden. There is almost no chance that if 'Julius is a lion and Greg is green' then Mary dropped the apple.
It is probably the case that 'Mary dropped the apple' or 'Jason is thirsty' or both.
It is probably not the case that 'Mary dropped the apple' or 'Jason is thirsty' or both.
It is probably the case that 'Mary dropped the apple' or 'Jason is thirsty' 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.8::factA.
  0.8::factB.
  1.0::factC.
  %hop1
  0.7::factX:-xor(factB,factA).
  0.95::factY:-or(factA,factB).
  0.02::factZ:-and(factB,factC).

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

  query(conclusion).
  
'Mary dropped the apple' or 'Jason is thirsty' or both.