It is highly unlikely that Mary went to the kitchen. It is certain that Bernhard is a frog. It is probably the case that Brian is white. There is little chance that if 'Brian is white' or 'Mary went to the kitchen' or both then Sandra dropped the milk. There is a very good chance that if either 'Mary went to the kitchen' or 'Bernhard is a frog' but not both then Lily is green. It is certain that if 'Mary went to the kitchen' or 'Bernhard is a frog' or both then John is in the garden.
It is highly unlikely that 'Mary went to the kitchen' or 'John is in the garden' or both.
It is certain that 'Mary went to the kitchen' or 'John is in the garden' or both.
It is highly unlikely that 'Mary went to the kitchen' or 'John is in the garden' or both.

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

  %hop2
  conclusion:-or(factA,factZ).

  query(conclusion).
  
'Mary went to the kitchen' or 'John is in the garden' or both.