context: There is a better than even chance that Julius is a rhino. It is likely that John moved to the office. It is certain that Mary went to the kitchen. There is a very good chance that if either 'Mary went to the kitchen' or 'John moved to the office' but not both then Lily is green. It is certain that if either 'John moved to the office' or 'Julius is a rhino' but not both then Brian is white. It is highly unlikely that if either 'John moved to the office' or 'Mary went to the kitchen' but not both then Bernhard is yellow.
hypothesis: Chances are about even that either 'Mary went to the kitchen' or 'Brian is white' but not both.
valid_hypothesis: Chances are about even that either 'Mary went to the kitchen' or 'Brian is white' but not both.
invalid_hypothesis: It is certain that either 'Mary went to the kitchen' or 'Brian is white' 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.6::factA.
    0.7::factB.
    1.0::factC.
    %hop1
    0.8::factX:-xor(factC,factB).
    1.0::factY:-xor(factB,factA).
    0.05::factZ:-xor(factB,factC).
  
    %hop2
    conclusion:-xor(factC,factY).
  
    query(conclusion).
    
hypothesis_assertion: Either 'Mary went to the kitchen' or 'Brian is white' but not both.