context: There is a very good chance that Julius is white. There is little chance that Sandra left the apple. It is probably the case that Mary moved to the garden. It is improbable that if 'Sandra left the apple' or 'Julius is white' or both then Brian is a frog. It is probably the case that if 'Sandra left the apple' or 'Julius is white' or both then Lily is a lion. There is a better than even chance that if 'Mary moved to the garden' or 'Julius is white' or both then Greg is a lion.
hypothesis: Chances are about even that either 'Lily is a lion' or 'Brian is a frog' but not both.
valid_hypothesis: Chances are about even that either 'Lily is a lion' or 'Brian is a frog' but not both.
invalid_hypothesis: It is highly unlikely that either 'Lily is a lion' or 'Brian is a frog' 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.8::factA.
    0.1::factB.
    0.7::factC.
    %hop1
    0.1::factX:-or(factB,factA).
    0.7::factY:-or(factB,factA).
    0.6::factZ:-or(factC,factA).
  
    %hop2
    conclusion:-xor(factY,factX).
  
    query(conclusion).
    
hypothesis_assertion: Either 'Lily is a lion' or 'Brian is a frog' but not both.