context: Chances are about even that Mary moved to the office. It is probably not the case that John discarded the milk. It is improbable that Bill went to the garden. There is little chance that if either 'Bill went to the garden' or 'John discarded the milk' but not both then Greg is a frog. There is a very good chance that if 'John discarded the milk' or 'Bill went to the garden' or both then Jessica is a cat. There is almost no chance that if 'John discarded the milk' or 'Bill went to the garden' or both then Brian is a swan.
hypothesis: Chances are about even that either 'John discarded the milk' or 'Mary moved to the office' but not both.
valid_hypothesis: Chances are about even that either 'John discarded the milk' or 'Mary moved to the office' but not both.
invalid_hypothesis: There is almost no chance that either 'John discarded the milk' or 'Mary moved to the office' 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.5::factA.
    0.25::factB.
    0.1::factC.
    %hop1
    0.1::factX:-xor(factC,factB).
    0.8::factY:-or(factB,factC).
    0.02::factZ:-or(factB,factC).
  
    %hop2
    conclusion:-xor(factB,factA).
  
    query(conclusion).
    
hypothesis_assertion: Either 'John discarded the milk' or 'Mary moved to the office' but not both.