context: We doubt that Julius is a frog. It is probable that Bernhard is yellow. There is a better than even chance that Jeff moved to the garden. It is probably not the case that if 'Julius is a frog and Jeff moved to the garden' then Brian is yellow. Chances are slight that if either 'Bernhard is yellow' or 'Jeff moved to the garden' but not both then Lily is white. There is a very good chance that if 'Julius is a frog and Jeff moved to the garden' then Mary grabbed the milk.
hypothesis: There is almost no chance that 'Jeff moved to the garden and Brian is yellow'.
valid_hypothesis: There is almost no chance that 'Jeff moved to the garden and Brian is yellow'.
invalid_hypothesis: It is probable that 'Jeff moved to the garden and Brian is yellow'.
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.2::factA.
    0.7::factB.
    0.6::factC.
    %hop1
    0.25::factX:-and(factA,factC).
    0.1::factY:-xor(factB,factC).
    0.8::factZ:-and(factA,factC).
  
    %hop2
    conclusion:-and(factC,factX).
  
    query(conclusion).
    
hypothesis_assertion: 'Jeff moved to the garden and Brian is yellow'.