It is unlikely that Greg is a frog. It is unlikely that Bernhard is yellow. It is probably the case that Sandra grabbed the milk. There is a very good chance that if either 'Greg is a frog' or 'Bernhard is yellow' but not both then Brian is a swan. There is little chance that if 'Bernhard is yellow' or 'Greg is a frog' or both then Mary went to the garden. We doubt that if 'Bernhard is yellow and Greg is a frog' then John picked up the apple.
It is almost certain that 'Bernhard is yellow and Mary went to the garden'.
There is almost no chance that 'Bernhard is yellow and Mary went to the garden'.
It is almost certain that 'Bernhard is yellow and Mary went to the garden'.

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

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

  query(conclusion).
  
'Bernhard is yellow and Mary went to the garden'.