context: It is impossible that Greg is a swan. There is little chance that Fred moved to the office. It is probably not the case that John grabbed the apple. It is unlikely that if either 'Fred moved to the office' or 'Greg is a swan' but not both then Mary went to the bedroom. It is highly unlikely that if 'Fred moved to the office and John grabbed the apple' then Lily is gray. Chances are slight that if 'John grabbed the apple and Fred moved to the office' then Sandra got the football.
hypothesis: It is likely that either 'Fred moved to the office' or 'John grabbed the apple' but not both.
valid_hypothesis: It is probably not the case that either 'Fred moved to the office' or 'John grabbed the apple' but not both.
invalid_hypothesis: It is likely that either 'Fred moved to the office' or 'John grabbed the apple' 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.0::factA.
    0.1::factB.
    0.25::factC.
    %hop1
    0.2::factX:-xor(factB,factA).
    0.05::factY:-and(factB,factC).
    0.1::factZ:-and(factC,factB).
  
    %hop2
    conclusion:-xor(factB,factC).
  
    query(conclusion).
    
hypothesis_assertion: Either 'Fred moved to the office' or 'John grabbed the apple' but not both.