We doubt that John went to the garden. We believe that Lily is a swan. It is impossible that Sandra dropped the milk. It is almost certain that if 'Lily is a swan' or 'Sandra dropped the milk' or both then Brian is green. We doubt that if either 'Lily is a swan' or 'John went to the garden' but not both then Bernhard is a frog. It is almost certain that if 'John went to the garden and Lily is a swan' then Jeff left the football.
It is improbable that 'Sandra dropped the milk' or 'Brian is green' or both.
It is likely that 'Sandra dropped the milk' or 'Brian is green' or both.
It is improbable that 'Sandra dropped the milk' or 'Brian 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.2::factA.
  0.75::factB.
  0.0::factC.
  %hop1
  0.95::factX:-or(factB,factC).
  0.2::factY:-xor(factB,factA).
  0.95::factZ:-and(factA,factB).

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

  query(conclusion).
  
'Sandra dropped the milk' or 'Brian is green' or both.