We doubt that Mary discarded the milk. It is certain that Fred went to the office. We doubt that Jessica is a mouse. It is improbable that if either 'Mary discarded the milk' or 'Fred went to the office' but not both then Daniel left the apple. It is impossible that if 'Fred went to the office' or 'Jessica is a mouse' or both then Julius is yellow. It is improbable that if either 'Mary discarded the milk' or 'Fred went to the office' but not both then Jeff moved to the garden.
It is probably the case that 'Daniel left the apple and Julius is yellow'.
It is impossible that 'Daniel left the apple and Julius is yellow'.
It is probably the case that 'Daniel left the apple and Julius is yellow'.

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

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

  query(conclusion).
  
'Daniel left the apple and Julius is yellow'.