context: There is a very good chance that Mary moved to the garden. It is certain that John went to the hallway. We doubt that Julius is a frog. It is highly likely that if 'Mary moved to the garden and John went to the hallway' then Greg is yellow. It is highly likely that if either 'John went to the hallway' or 'Mary moved to the garden' but not both then Bernhard is gray. There is a better than even chance that if either 'Julius is a frog' or 'John went to the hallway' but not both then Sandra got the milk.
hypothesis: It is likely that either 'Julius is a frog' or 'Bernhard is gray' but not both.
valid_hypothesis: It is probably not the case that either 'Julius is a frog' or 'Bernhard is gray' but not both.
invalid_hypothesis: It is likely that either 'Julius is a frog' or 'Bernhard 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.8::factA.
    1.0::factB.
    0.2::factC.
    %hop1
    0.9::factX:-and(factA,factB).
    0.9::factY:-xor(factB,factA).
    0.6::factZ:-xor(factC,factB).
  
    %hop2
    conclusion:-xor(factC,factY).
  
    query(conclusion).
    
hypothesis_assertion: Either 'Julius is a frog' or 'Bernhard is gray' but not both.