context: Chances are slight that Mary is in the bathroom. It is probably the case that Greg is gray. It is highly likely that John picked up the apple. It is certain that if 'John picked up the apple' or 'Mary is in the bathroom' or both then Gertrude is a sheep. It is highly unlikely that if either 'Greg is gray' or 'Mary is in the bathroom' but not both then Sandra dropped the milk. We doubt that if either 'Greg is gray' or 'Mary is in the bathroom' but not both then Brian is yellow.
hypothesis: It is probable that 'Mary is in the bathroom and Brian is yellow'.
valid_hypothesis: It is impossible that 'Mary is in the bathroom and Brian is yellow'.
invalid_hypothesis: It is probable that 'Mary is in the bathroom 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.1::factA.
    0.7::factB.
    0.9::factC.
    %hop1
    1.0::factX:-or(factC,factA).
    0.05::factY:-xor(factB,factA).
    0.2::factZ:-xor(factB,factA).
  
    %hop2
    conclusion:-and(factA,factZ).
  
    query(conclusion).
    
hypothesis_assertion: 'Mary is in the bathroom and Brian is yellow'.