context: Chances are slight that Mary went to the kitchen. It is likely that Greg is gray. It is impossible that Jeff put down the milk. There is little chance that if either 'Greg is gray' or 'Jeff put down the milk' but not both then Bill moved to the office. Chances are about even that if 'Mary went to the kitchen' or 'Greg is gray' or both then Brian is a swan. It is certain that if either 'Jeff put down the milk' or 'Greg is gray' but not both then John took the apple.
hypothesis: It is almost certain that 'Bill moved to the office' or 'Jeff put down the milk' or both.
valid_hypothesis: It is highly unlikely that 'Bill moved to the office' or 'Jeff put down the milk' or both.
invalid_hypothesis: It is almost certain that 'Bill moved to the office' or 'Jeff put down the milk' or 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.1::factA.
    0.7::factB.
    0.0::factC.
    %hop1
    0.1::factX:-xor(factB,factC).
    0.5::factY:-or(factA,factB).
    1.0::factZ:-xor(factC,factB).
  
    %hop2
    conclusion:-or(factX,factC).
  
    query(conclusion).
    
hypothesis_assertion: 'Bill moved to the office' or 'Jeff put down the milk' or both.