It is probably the case that John took the apple. It is impossible that Lily is yellow. It is probable that Mary left the football. It is probably the case that if 'Lily is yellow' or 'John took the apple' or both then Emily is a wolf. It is certain that if either 'Mary left the football' or 'Lily is yellow' but not both then Greg is a rhino. It is likely that if either 'Lily is yellow' or 'John took the apple' but not both then Jessica is a cat.
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'.
There is a very good chance 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.7::factA.
  0.0::factB.
  0.7::factC.
  %hop1
  0.7::factX:-or(factB,factA).
  1.0::factY:-xor(factC,factB).
  0.7::factZ:-xor(factB,factA).

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

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