context: Chances are slight that Greg is gray. It is impossible that Brian is yellow. Chances are slight that John put down the milk. It is improbable that if 'Greg is gray and John put down the milk' then Mary left the football. It is highly unlikely that if either 'Greg is gray' or 'Brian is yellow' but not both then Sumit is thirsty. There is a very good chance that if either 'Greg is gray' or 'John put down the milk' but not both then Bernhard is a rhino.
hypothesis: We doubt that 'Greg is gray' or 'John put down the milk' or both.
valid_hypothesis: We doubt that 'Greg is gray' or 'John put down the milk' or both.
invalid_hypothesis: It is probably the case that 'Greg is gray' or 'John put down the milk' 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.1::factA.
    0.0::factB.
    0.1::factC.
    %hop1
    0.1::factX:-and(factA,factC).
    0.05::factY:-xor(factA,factB).
    0.8::factZ:-xor(factA,factC).
  
    %hop2
    conclusion:-or(factA,factC).
  
    query(conclusion).
    
hypothesis_assertion: 'Greg is gray' or 'John put down the milk' or both.