context: It is impossible that Daniel got the milk. It is probable that Mary moved to the office. It is impossible that Brian is a lion. It is probable that if 'Daniel got the milk and Mary moved to the office' then Lily is a rhino. There is a very good chance that if 'Brian is a lion' or 'Daniel got the milk' or both then Bernhard is yellow. It is probably not the case that if 'Mary moved to the office' or 'Daniel got the milk' or both then John dropped the apple.
hypothesis: It is impossible that 'Bernhard is yellow and Daniel got the milk'.
valid_hypothesis: It is impossible that 'Bernhard is yellow and Daniel got the milk'.
invalid_hypothesis: It is probable that 'Bernhard is yellow and Daniel got 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.0::factA.
    0.7::factB.
    0.0::factC.
    %hop1
    0.7::factX:-and(factA,factB).
    0.8::factY:-or(factC,factA).
    0.25::factZ:-or(factB,factA).
  
    %hop2
    conclusion:-and(factY,factA).
  
    query(conclusion).
    
hypothesis_assertion: 'Bernhard is yellow and Daniel got the milk'.