We believe that Julius is white. It is improbable that Lily is a swan. There is little chance that Brian is green. It is impossible that if 'Lily is a swan and Brian is green' then Greg is yellow. There is a better than even chance that if 'Lily is a swan and Julius is white' then John left the football. It is probably not the case that if either 'Brian is green' or 'Julius is white' but not both then Bernhard is a lion.
We believe that 'Lily is a swan' or 'Julius is white' or both.
We believe that 'Lily is a swan' or 'Julius is white' or both.
It is improbable that 'Lily is a swan' or 'Julius 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.75::factA.
  0.1::factB.
  0.1::factC.
  %hop1
  0.0::factX:-and(factB,factC).
  0.6::factY:-and(factB,factA).
  0.25::factZ:-xor(factC,factA).

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

  query(conclusion).
  
'Lily is a swan' or 'Julius is white' or both.