context: There is almost no chance that Brian is yellow. It is impossible that Bill went to the bedroom. It is likely that John got the milk. It is highly likely that if 'John got the milk' or 'Brian is yellow' or both then Jessica is a cat. It is unlikely that if either 'Brian is yellow' or 'John got the milk' but not both then Bernhard is yellow. There is almost no chance that if either 'Bill went to the bedroom' or 'John got the milk' but not both then Greg is a rhino.
hypothesis: It is probably the case that 'Jessica is a cat and Bernhard is yellow'.
valid_hypothesis: Chances are slight that 'Jessica is a cat and Bernhard is yellow'.
invalid_hypothesis: It is probably the case that 'Jessica is a cat and Bernhard 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.02::factA.
    0.0::factB.
    0.7::factC.
    %hop1
    0.9::factX:-or(factC,factA).
    0.2::factY:-xor(factA,factC).
    0.02::factZ:-xor(factB,factC).
  
    %hop2
    conclusion:-and(factX,factY).
  
    query(conclusion).
    
hypothesis_assertion: 'Jessica is a cat and Bernhard is yellow'.