context: It is highly likely that Bernhard is a swan. It is highly likely that Fred moved to the office. There is almost no chance that Mary dropped the milk. It is probably the case that if 'Fred moved to the office and Bernhard is a swan' then Lily is green. We doubt that if 'Fred moved to the office' or 'Bernhard is a swan' or both then Antoine is bored. It is impossible that if either 'Bernhard is a swan' or 'Fred moved to the office' but not both then Julius is yellow.
hypothesis: Chances are slight that either 'Fred moved to the office' or 'Julius is yellow' but not both.
valid_hypothesis: It is highly likely that either 'Fred moved to the office' or 'Julius is yellow' but not both.
invalid_hypothesis: Chances are slight that either 'Fred moved to the office' or 'Julius is yellow' but not both.
problog: 
    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.9::factA.
    0.9::factB.
    0.02::factC.
    %hop1
    0.7::factX:-and(factB,factA).
    0.2::factY:-or(factB,factA).
    0.0::factZ:-xor(factA,factB).
  
    %hop2
    conclusion:-xor(factB,factZ).
  
    query(conclusion).
    
hypothesis_assertion: Either 'Fred moved to the office' or 'Julius is yellow' but not both.