context: It is almost certain that Julius is yellow. Chances are about even that Lily is a frog. It is almost certain that Jeff discarded the milk. Chances are slight that if either 'Jeff discarded the milk' or 'Lily is a frog' but not both then Brian is green. It is probably the case that if either 'Julius is yellow' or 'Jeff discarded the milk' but not both then John went to the hallway. There is a very good chance that if either 'Lily is a frog' or 'Jeff discarded the milk' but not both then Sandra got the milk.
hypothesis: It is likely that 'Brian is green and Julius is yellow'.
valid_hypothesis: It is highly unlikely that 'Brian is green and Julius is yellow'.
invalid_hypothesis: It is likely that 'Brian is green and Julius 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.95::factA.
    0.5::factB.
    0.95::factC.
    %hop1
    0.1::factX:-xor(factC,factB).
    0.7::factY:-xor(factA,factC).
    0.8::factZ:-xor(factB,factC).
  
    %hop2
    conclusion:-and(factX,factA).
  
    query(conclusion).
    
hypothesis_assertion: 'Brian is green and Julius is yellow'.