Chances are about even that Gertrude is a cat. It is certain that Sandra put down the milk. It is certain that Julius is green. It is improbable that if either 'Sandra put down the milk' or 'Julius is green' but not both then Bill moved to the office. It is highly likely that if 'Julius is green' or 'Gertrude is a cat' or both then John went to the bedroom. We believe that if either 'Sandra put down the milk' or 'Julius is green' but not both then Bernhard is a frog.
It is certain that 'Bernhard is a frog' or 'Julius is green' or both.
It is certain that 'Bernhard is a frog' or 'Julius is green' or both.
There is little chance that 'Bernhard is a frog' or 'Julius is green' 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.5::factA.
  1.0::factB.
  1.0::factC.
  %hop1
  0.1::factX:-xor(factB,factC).
  0.9::factY:-or(factC,factA).
  0.75::factZ:-xor(factB,factC).

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

  query(conclusion).
  
'Bernhard is a frog' or 'Julius is green' or both.