context: There is almost no chance that Gertrude is a wolf. It is highly likely that Fred moved to the office. There is a very good chance that Greg is yellow. We doubt that if either 'Gertrude is a wolf' or 'Greg is yellow' but not both then Julius is a lion. It is probable that if either 'Gertrude is a wolf' or 'Fred moved to the office' but not both then Mary went to the garden. We believe that if either 'Greg is yellow' or 'Fred moved to the office' but not both then Daniel got the milk.
hypothesis: It is highly likely that 'Mary went to the garden' or 'Greg is yellow' or both.
valid_hypothesis: It is highly likely that 'Mary went to the garden' or 'Greg is yellow' or both.
invalid_hypothesis: It is highly unlikely that 'Mary went to the garden' or 'Greg is yellow' or both.
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.9::factB.
    0.8::factC.
    %hop1
    0.2::factX:-xor(factA,factC).
    0.7::factY:-xor(factA,factB).
    0.75::factZ:-xor(factC,factB).
  
    %hop2
    conclusion:-or(factY,factC).
  
    query(conclusion).
    
hypothesis_assertion: 'Mary went to the garden' or 'Greg is yellow' or both.