There is a very good chance that Greg is a frog. It is certain that Brian is a lion. There is a very good chance that Mary went to the office. It is highly unlikely that if 'Brian is a lion and Mary went to the office' then Daniel dropped the milk. It is certain that if 'Brian is a lion and Greg is a frog' then Bernhard is a swan. It is impossible that if 'Greg is a frog' or 'Brian is a lion' or both then Sandra grabbed the apple.
There is a very good chance that 'Mary went to the office and Daniel dropped the milk'.
It is highly unlikely that 'Mary went to the office and Daniel dropped the milk'.
There is a very good chance that 'Mary went to the office and Daniel dropped the milk'.

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

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

  query(conclusion).
  
'Mary went to the office and Daniel dropped the milk'.