context: It is likely that Lily is yellow. There is a very good chance that Brian is white. It is improbable that Bernhard is gray. There is almost no chance that if 'Brian is white' or 'Bernhard is gray' or both then John discarded the apple. It is probable that if 'Lily is yellow and Brian is white' then Antoine is hungry. It is probably the case that if 'Brian is white' or 'Lily is yellow' or both then Mary dropped the milk.
hypothesis: Chances are about even that either 'Antoine is hungry' or 'Bernhard is gray' but not both.
valid_hypothesis: Chances are about even that either 'Antoine is hungry' or 'Bernhard is gray' but not both.
invalid_hypothesis: It is impossible that either 'Antoine is hungry' or 'Bernhard 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.7::factA.
    0.8::factB.
    0.1::factC.
    %hop1
    0.02::factX:-or(factB,factC).
    0.7::factY:-and(factA,factB).
    0.7::factZ:-or(factB,factA).
  
    %hop2
    conclusion:-xor(factY,factC).
  
    query(conclusion).
    
hypothesis_assertion: Either 'Antoine is hungry' or 'Bernhard is gray' but not both.