We believe that Sandra left the milk. It is almost certain that Mary went to the office. There is little chance that Greg is a swan. It is unlikely that if 'Sandra left the milk and Greg is a swan' then Julius is gray. It is probably not the case that if either 'Sandra left the milk' or 'Mary went to the office' but not both then John moved to the garden. There is a very good chance that if either 'Mary went to the office' or 'Sandra left the milk' but not both then Jessica is a mouse.
It is probable that 'Greg is a swan' or 'Jessica is a mouse' or both.
It is probably not the case that 'Greg is a swan' or 'Jessica is a mouse' or both.
It is probable that 'Greg is a swan' or 'Jessica is a mouse' 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.95::factB.
  0.1::factC.
  %hop1
  0.2::factX:-and(factA,factC).
  0.25::factY:-xor(factA,factB).
  0.8::factZ:-xor(factB,factA).

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

  query(conclusion).
  
'Greg is a swan' or 'Jessica is a mouse' or both.