context: It is probably not the case that Lily is yellow. It is certain that Bernhard is a swan. We doubt that Mary left the apple. It is likely that if 'Mary left the apple and Lily is yellow' then Brian is green. Chances are about even that if 'Lily is yellow and Mary left the apple' then Fred moved to the office. It is likely that if 'Bernhard is a swan' or 'Mary left the apple' or both then Greg is gray.
hypothesis: There is a very good chance that either 'Fred moved to the office' or 'Lily is yellow' but not both.
valid_hypothesis: It is unlikely that either 'Fred moved to the office' or 'Lily is yellow' but not both.
invalid_hypothesis: There is a very good chance that either 'Fred moved to the office' or 'Lily 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.25::factA.
    1.0::factB.
    0.2::factC.
    %hop1
    0.7::factX:-and(factC,factA).
    0.5::factY:-and(factA,factC).
    0.7::factZ:-or(factB,factC).
  
    %hop2
    conclusion:-xor(factY,factA).
  
    query(conclusion).
    
hypothesis_assertion: Either 'Fred moved to the office' or 'Lily is yellow' but not both.