context: There is little chance that Sandra got the football. We believe that Brian is yellow. It is likely that Bernhard is yellow. It is unlikely that if 'Sandra got the football and Brian is yellow' then Jessica is a mouse. It is certain that if 'Sandra got the football and Bernhard is yellow' then Daniel grabbed the milk. There is a very good chance that if 'Sandra got the football and Brian is yellow' then John went to the hallway.
hypothesis: It is highly unlikely that either 'John went to the hallway' or 'Daniel grabbed the milk' but not both.
valid_hypothesis: It is highly unlikely that either 'John went to the hallway' or 'Daniel grabbed the milk' but not both.
invalid_hypothesis: It is certain that either 'John went to the hallway' or 'Daniel grabbed the milk' 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.1::factA.
    0.75::factB.
    0.7::factC.
    %hop1
    0.2::factX:-and(factA,factB).
    1.0::factY:-and(factA,factC).
    0.8::factZ:-and(factA,factB).
  
    %hop2
    conclusion:-xor(factZ,factY).
  
    query(conclusion).
    
hypothesis_assertion: Either 'John went to the hallway' or 'Daniel grabbed the milk' but not both.