context: It is likely that Jeff went to the hallway. There is almost no chance that Gertrude is a mouse. It is probable that Mary left the milk. It is highly unlikely that if 'Jeff went to the hallway' or 'Gertrude is a mouse' or both then Winona is a sheep. There is little chance that if 'Mary left the milk and Jeff went to the hallway' then Bernhard is gray. Chances are slight that if either 'Jeff went to the hallway' or 'Gertrude is a mouse' but not both then Lily is white.
hypothesis: It is probably the case that either 'Mary left the milk' or 'Winona is a sheep' but not both.
valid_hypothesis: It is probably the case that either 'Mary left the milk' or 'Winona is a sheep' but not both.
invalid_hypothesis: There is little chance that either 'Mary left the milk' or 'Winona 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.7::factA.
    0.02::factB.
    0.7::factC.
    %hop1
    0.05::factX:-or(factA,factB).
    0.1::factY:-and(factC,factA).
    0.1::factZ:-xor(factA,factB).
  
    %hop2
    conclusion:-xor(factC,factX).
  
    query(conclusion).
    
hypothesis_assertion: Either 'Mary left the milk' or 'Winona is a sheep' but not both.