context: We doubt that Brian is a swan. It is impossible that Fred went to the garden. Chances are about even that Mary got the football. It is impossible that if 'Mary got the football' or 'Brian is a swan' or both then Sandra grabbed the apple. We believe that if either 'Brian is a swan' or 'Mary got the football' but not both then Julius is gray. It is likely that if either 'Mary got the football' or 'Fred went to the garden' but not both then John dropped the milk.
hypothesis: It is probably not the case that either 'John dropped the milk' or 'Julius is gray' but not both.
valid_hypothesis: It is probably not the case that either 'John dropped the milk' or 'Julius is gray' but not both.
invalid_hypothesis: It is probable that either 'John dropped the milk' or 'Julius is gray' 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.2::factA.
    0.0::factB.
    0.5::factC.
    %hop1
    0.0::factX:-or(factC,factA).
    0.75::factY:-xor(factA,factC).
    0.7::factZ:-xor(factC,factB).
  
    %hop2
    conclusion:-xor(factZ,factY).
  
    query(conclusion).
    
hypothesis_assertion: Either 'John dropped the milk' or 'Julius is gray' but not both.