context: It is probably not the case that John moved to the garden. There is a very good chance that Brian is green. It is probably the case that Bernhard is yellow. Chances are slight that if either 'John moved to the garden' or 'Bernhard is yellow' but not both then Daniel took the apple. We doubt that if 'Bernhard is yellow and Brian is green' then Sandra is in the kitchen. It is improbable that if 'John moved to the garden and Brian is green' then Mary went to the office.
hypothesis: It is likely that either 'Mary went to the office' or 'Daniel took the apple' but not both.
valid_hypothesis: It is improbable that either 'Mary went to the office' or 'Daniel took the apple' but not both.
invalid_hypothesis: It is likely that either 'Mary went to the office' or 'Daniel took 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.25::factA.
    0.8::factB.
    0.7::factC.
    %hop1
    0.1::factX:-xor(factA,factC).
    0.2::factY:-and(factC,factB).
    0.1::factZ:-and(factA,factB).
  
    %hop2
    conclusion:-xor(factZ,factX).
  
    query(conclusion).
    
hypothesis_assertion: Either 'Mary went to the office' or 'Daniel took the apple' but not both.