There is little chance that Sandra dropped the milk. It is certain that Bernhard is green. It is probable that Winona is a sheep. We believe that if either 'Bernhard is green' or 'Winona is a sheep' but not both then Julius is green. It is improbable that if 'Winona is a sheep and Bernhard is green' then Mary got the football. It is impossible that if 'Bernhard is green and Sandra dropped the milk' then John went to the office.
It is impossible that 'Winona is a sheep and John went to the office'.
It is impossible that 'Winona is a sheep and John went to the office'.
It is probable that 'Winona is a sheep and John went to the office'.

  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.1::factA.
  1.0::factB.
  0.7::factC.
  %hop1
  0.75::factX:-xor(factB,factC).
  0.1::factY:-and(factC,factB).
  0.0::factZ:-and(factB,factA).

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

  query(conclusion).
  
'Winona is a sheep and John went to the office'.