context: It is impossible that Julius is gray. There is a very good chance that Bernhard is gray. It is certain that John took the apple. It is unlikely that if 'John took the apple and Bernhard is gray' then Brian is a swan. It is highly unlikely that if either 'Bernhard is gray' or 'Julius is gray' but not both then Greg is green. It is almost certain that if 'Bernhard is gray and Julius is gray' then Jessica is a wolf.
hypothesis: Chances are about even that either 'John took the apple' or 'Julius is gray' but not both.
valid_hypothesis: It is certain that either 'John took the apple' or 'Julius is gray' but not both.
invalid_hypothesis: Chances are about even that either 'John took the apple' or 'Julius is gray' 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.0::factA.
    0.8::factB.
    1.0::factC.
    %hop1
    0.2::factX:-and(factC,factB).
    0.05::factY:-xor(factB,factA).
    0.95::factZ:-and(factB,factA).
  
    %hop2
    conclusion:-xor(factC,factA).
  
    query(conclusion).
    
hypothesis_assertion: Either 'John took the apple' or 'Julius is gray' but not both.