There is a better than even chance that Lily is a swan. It is highly likely that Mary dropped the apple. Chances are slight that Jason is thirsty. It is probable that if 'Mary dropped the apple' or 'Jason is thirsty' or both then Greg is a rhino. We doubt that if 'Lily is a swan' or 'Mary dropped the apple' or both then John moved to the office. It is probably the case that if 'Lily is a swan' or 'Jason is thirsty' or both then Emily is a wolf.
It is probably not the case that 'Greg is a rhino and Emily is a wolf'.
It is probably not the case that 'Greg is a rhino and Emily is a wolf'.
It is probable that 'Greg is a rhino and Emily is a wolf'.

  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.9::factB.
  0.1::factC.
  %hop1
  0.7::factX:-or(factB,factC).
  0.2::factY:-or(factA,factB).
  0.7::factZ:-or(factA,factC).

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

  query(conclusion).
  
'Greg is a rhino and Emily is a wolf'.