It is improbable that Greg is a frog. It is likely that Sandra dropped the milk. There is a very good chance that Brian is gray. We doubt that if 'Greg is a frog and Sandra dropped the milk' then Gertrude is a sheep. There is almost no chance that if either 'Sandra dropped the milk' or 'Brian is gray' but not both then Mary went to the garden. There is almost no chance that if either 'Sandra dropped the milk' or 'Brian is gray' but not both then John left the football.
There is almost no chance that 'Greg is a frog and Gertrude is a sheep'.
There is almost no chance that 'Greg is a frog and Gertrude is a sheep'.
It is probable that 'Greg is a frog and Gertrude is a sheep'.

  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.1::factA.
  0.7::factB.
  0.8::factC.
  %hop1
  0.2::factX:-and(factA,factB).
  0.02::factY:-xor(factB,factC).
  0.02::factZ:-xor(factB,factC).

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

  query(conclusion).
  
'Greg is a frog and Gertrude is a sheep'.