It is almost certain that Lily is green. There is little chance that John moved to the office. We believe that Winona is a wolf. Chances are about even that if 'Lily is green and John moved to the office' then Brian is green. There is a very good chance that if either 'Lily is green' or 'John moved to the office' but not both then Sandra left the football. It is highly unlikely that if 'Lily is green and John moved to the office' then Mary went to the kitchen.
We believe that 'Brian is green' or 'Sandra left the football' or both.
We believe that 'Brian is green' or 'Sandra left the football' or both.
It is probably not the case that 'Brian is green' or 'Sandra left the football' 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.95::factA.
  0.1::factB.
  0.75::factC.
  %hop1
  0.5::factX:-and(factA,factB).
  0.8::factY:-xor(factA,factB).
  0.05::factZ:-and(factA,factB).

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

  query(conclusion).
  
'Brian is green' or 'Sandra left the football' or both.