context: It is highly unlikely that Brian is a swan. It is likely that John went to the hallway. It is highly likely that Lily is gray. It is highly unlikely that if 'John went to the hallway and Brian is a swan' then Jason is tired. There is almost no chance that if either 'Brian is a swan' or 'Lily is gray' but not both then Julius is white. It is highly unlikely that if 'John went to the hallway and Lily is gray' then Daniel took the milk.
hypothesis: It is impossible that 'Brian is a swan and Daniel took the milk'.
valid_hypothesis: It is impossible that 'Brian is a swan and Daniel took the milk'.
invalid_hypothesis: It is almost certain that 'Brian is a swan and Daniel took the milk'.
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.05::factA.
    0.7::factB.
    0.9::factC.
    %hop1
    0.05::factX:-and(factB,factA).
    0.02::factY:-xor(factA,factC).
    0.05::factZ:-and(factB,factC).
  
    %hop2
    conclusion:-and(factA,factZ).
  
    query(conclusion).
    
hypothesis_assertion: 'Brian is a swan and Daniel took the milk'.