context: It is unlikely that Jeff went to the bedroom. It is highly likely that Julius is a frog. There is almost no chance that Brian is white. It is almost certain that if 'Brian is white' or 'Jeff went to the bedroom' or both then John took the football. There is almost no chance that if either 'Brian is white' or 'Julius is a frog' but not both then Fred put down the apple. It is highly unlikely that if either 'Brian is white' or 'Jeff went to the bedroom' but not both then Lily is a rhino.
hypothesis: Chances are about even that either 'Lily is a rhino' or 'Brian is white' but not both.
valid_hypothesis: There is almost no chance that either 'Lily is a rhino' or 'Brian is white' but not both.
invalid_hypothesis: Chances are about even that either 'Lily is a rhino' or 'Brian is white' 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.2::factA.
    0.9::factB.
    0.02::factC.
    %hop1
    0.95::factX:-or(factC,factA).
    0.02::factY:-xor(factC,factB).
    0.05::factZ:-xor(factC,factA).
  
    %hop2
    conclusion:-xor(factZ,factC).
  
    query(conclusion).
    
hypothesis_assertion: Either 'Lily is a rhino' or 'Brian is white' but not both.