context: We believe that Julius is gray. It is improbable that Bill went to the garden. Chances are about even that Mary got the football. Chances are about even that if 'Mary got the football and Bill went to the garden' then Greg is a lion. It is probably the case that if 'Mary got the football and Bill went to the garden' then Gertrude is a sheep. It is almost certain that if 'Bill went to the garden' or 'Julius is gray' or both then Brian is green.
hypothesis: It is highly unlikely that either 'Greg is a lion' or 'Bill went to the garden' but not both.
valid_hypothesis: It is highly unlikely that either 'Greg is a lion' or 'Bill went to the garden' but not both.
invalid_hypothesis: It is likely that either 'Greg is a lion' or 'Bill went to the garden' 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.1::factB.
    0.5::factC.
    %hop1
    0.5::factX:-and(factC,factB).
    0.7::factY:-and(factC,factB).
    0.95::factZ:-or(factB,factA).
  
    %hop2
    conclusion:-xor(factX,factB).
  
    query(conclusion).
    
hypothesis_assertion: Either 'Greg is a lion' or 'Bill went to the garden' but not both.