It is certain that Mary went to the bedroom. It is almost certain that Gertrude is a sheep. It is likely that Bernhard is white. It is probably not the case that if either 'Mary went to the bedroom' or 'Bernhard is white' but not both then Julius is a frog. It is likely that if either 'Bernhard is white' or 'Gertrude is a sheep' but not both then Sandra left the milk. It is probably the case that if 'Gertrude is a sheep' or 'Mary went to the bedroom' or both then Daniel dropped the apple.
It is certain that 'Bernhard is white' or 'Mary went to the bedroom' or both.
It is certain that 'Bernhard is white' or 'Mary went to the bedroom' or both.
Chances are slight that 'Bernhard is white' or 'Mary went to the bedroom' 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
  1.0::factA.
  0.95::factB.
  0.7::factC.
  %hop1
  0.25::factX:-xor(factA,factC).
  0.7::factY:-xor(factC,factB).
  0.7::factZ:-or(factB,factA).

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

  query(conclusion).
  
'Bernhard is white' or 'Mary went to the bedroom' or both.