context: There is almost no chance that Mary dropped the milk. It is certain that Yann is tired. Chances are slight that Bernhard is yellow. We doubt that if either 'Bernhard is yellow' or 'Mary dropped the milk' but not both then John went to the garden. There is little chance that if 'Yann is tired and Bernhard is yellow' then Brian is gray. It is probably not the case that if either 'Bernhard is yellow' or 'Yann is tired' but not both then Emily is a wolf.
hypothesis: There is a better than even chance that 'John went to the garden and Brian is gray'.
valid_hypothesis: It is impossible that 'John went to the garden and Brian is gray'.
invalid_hypothesis: There is a better than even chance that 'John went to the garden and Brian is gray'.
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.02::factA.
    1.0::factB.
    0.1::factC.
    %hop1
    0.2::factX:-xor(factC,factA).
    0.1::factY:-and(factB,factC).
    0.25::factZ:-xor(factC,factB).
  
    %hop2
    conclusion:-and(factX,factY).
  
    query(conclusion).
    
hypothesis_assertion: 'John went to the garden and Brian is gray'.