context: We believe that Jessica is a sheep. It is likely that John dropped the apple. There is a very good chance that Greg is yellow. There is almost no chance that if either 'Greg is yellow' or 'John dropped the apple' but not both then Brian is white. It is probable that if either 'Greg is yellow' or 'John dropped the apple' but not both then Winona is a mouse. We believe that if either 'John dropped the apple' or 'Greg is yellow' but not both then Mary went to the office.
hypothesis: It is probably not the case that either 'Jessica is a sheep' or 'Greg is yellow' but not both.
valid_hypothesis: It is probably not the case that either 'Jessica is a sheep' or 'Greg is yellow' but not both.
invalid_hypothesis: It is almost certain that either 'Jessica is a sheep' or 'Greg is yellow' but not 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.75::factA.
    0.7::factB.
    0.8::factC.
    %hop1
    0.02::factX:-xor(factC,factB).
    0.7::factY:-xor(factC,factB).
    0.75::factZ:-xor(factB,factC).
  
    %hop2
    conclusion:-xor(factA,factC).
  
    query(conclusion).
    
hypothesis_assertion: Either 'Jessica is a sheep' or 'Greg is yellow' but not both.