It is unlikely that Brian is white. It is certain that Emily is a cat. It is probable that Sandra left the milk. It is certain that if 'Sandra left the milk and Emily is a cat' then John dropped the apple. It is highly likely that if 'Emily is a cat' or 'Brian is white' or both then Bill went to the garden. It is unlikely that if 'Emily is a cat and Sandra left the milk' then Greg is a frog.
It is impossible that 'Sandra left the milk' or 'Brian is white' or both.
We believe that 'Sandra left the milk' or 'Brian is white' or both.
It is impossible that 'Sandra left the milk' or 'Brian is white' 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.2::factA.
  1.0::factB.
  0.7::factC.
  %hop1
  1.0::factX:-and(factC,factB).
  0.9::factY:-or(factB,factA).
  0.2::factZ:-and(factB,factC).

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

  query(conclusion).
  
'Sandra left the milk' or 'Brian is white' or both.