context: It is likely that Greg is gray. We doubt that Mary put down the apple. It is almost certain that John moved to the office. Chances are about even that if either 'John moved to the office' or 'Greg is gray' but not both then Sumit is bored. There is almost no chance that if 'Greg is gray' or 'John moved to the office' or both then Jessica is a cat. We doubt that if either 'Greg is gray' or 'John moved to the office' but not both then Bernhard is a frog.
hypothesis: There is a very good chance that either 'Bernhard is a frog' or 'Mary put down the apple' but not both.
valid_hypothesis: It is probably not the case that either 'Bernhard is a frog' or 'Mary put down the apple' but not both.
invalid_hypothesis: There is a very good chance that either 'Bernhard is a frog' or 'Mary put down the apple' 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.7::factA.
    0.2::factB.
    0.95::factC.
    %hop1
    0.5::factX:-xor(factC,factA).
    0.02::factY:-or(factA,factC).
    0.2::factZ:-xor(factA,factC).
  
    %hop2
    conclusion:-xor(factZ,factB).
  
    query(conclusion).
    
hypothesis_assertion: Either 'Bernhard is a frog' or 'Mary put down the apple' but not both.