It is improbable that Julius is a swan. We doubt that Bill moved to the office. It is highly unlikely that John discarded the apple. It is likely that if either 'Bill moved to the office' or 'John discarded the apple' but not both then Fred went to the garden. It is probably the case that if 'Bill moved to the office' or 'John discarded the apple' or both then Winona is a wolf. There is little chance that if 'Bill moved to the office and Julius is a swan' then Brian is white.
It is likely that 'Brian is white and Winona is a wolf'.
It is impossible that 'Brian is white and Winona is a wolf'.
It is likely that 'Brian is white and Winona is a wolf'.

  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.
  0.2::factB.
  0.05::factC.
  %hop1
  0.7::factX:-xor(factB,factC).
  0.7::factY:-or(factB,factC).
  0.1::factZ:-and(factB,factA).

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

  query(conclusion).
  
'Brian is white and Winona is a wolf'.