context: It is probably the case that John went to the office. Chances are about even that Bernhard is a swan. We believe that Mary got the milk. It is certain that if 'Bernhard is a swan and John went to the office' then Emily is a mouse. It is unlikely that if 'John went to the office and Mary got the milk' then Brian is green. It is probable that if either 'Mary got the milk' or 'John went to the office' but not both then Greg is a lion.
hypothesis: There is a better than even chance that 'Greg is a lion and Emily is a mouse'.
valid_hypothesis: It is highly unlikely that 'Greg is a lion and Emily is a mouse'.
invalid_hypothesis: There is a better than even chance that 'Greg is a lion and Emily is a mouse'.
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.7::factA.
    0.5::factB.
    0.75::factC.
    %hop1
    1.0::factX:-and(factB,factA).
    0.2::factY:-and(factA,factC).
    0.7::factZ:-xor(factC,factA).
  
    %hop2
    conclusion:-and(factZ,factX).
  
    query(conclusion).
    
hypothesis_assertion: 'Greg is a lion and Emily is a mouse'.