context: We believe that Lily is a rhino. It is highly unlikely that Bernhard is yellow. It is highly unlikely that Mary went to the hallway. It is probable that if 'Mary went to the hallway' or 'Bernhard is yellow' or both then Sandra is in the kitchen. It is unlikely that if 'Lily is a rhino' or 'Mary went to the hallway' or both then John grabbed the apple. It is almost certain that if either 'Bernhard is yellow' or 'Lily is a rhino' but not both then Sumit is thirsty.
hypothesis: It is probable that either 'Sandra is in the kitchen' or 'Lily is a rhino' but not both.
valid_hypothesis: It is probable that either 'Sandra is in the kitchen' or 'Lily is a rhino' but not both.
invalid_hypothesis: It is impossible that either 'Sandra is in the kitchen' or 'Lily is a rhino' 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.75::factA.
    0.05::factB.
    0.05::factC.
    %hop1
    0.7::factX:-or(factC,factB).
    0.2::factY:-or(factA,factC).
    0.95::factZ:-xor(factB,factA).
  
    %hop2
    conclusion:-xor(factX,factA).
  
    query(conclusion).
    
hypothesis_assertion: Either 'Sandra is in the kitchen' or 'Lily is a rhino' but not both.