context: It is probably not the case that John dropped the apple. There is a very good chance that Greg is a swan. It is almost certain that Bill left the milk. It is certain that if 'John dropped the apple and Bill left the milk' then Julius is green. It is almost certain that if 'John dropped the apple and Greg is a swan' then Emily is a sheep. There is almost no chance that if either 'John dropped the apple' or 'Greg is a swan' but not both then Brian is yellow.
hypothesis: It is highly unlikely that either 'John dropped the apple' or 'Emily is a sheep' but not both.
valid_hypothesis: It is highly unlikely that either 'John dropped the apple' or 'Emily is a sheep' but not both.
invalid_hypothesis: There is a very good chance that either 'John dropped the apple' or 'Emily is a sheep' 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.95::factC.
    %hop1
    1.0::factX:-and(factA,factC).
    0.95::factY:-and(factA,factB).
    0.02::factZ:-xor(factA,factB).
  
    %hop2
    conclusion:-xor(factA,factY).
  
    query(conclusion).
    
hypothesis_assertion: Either 'John dropped the apple' or 'Emily is a sheep' but not both.