context: It is probable that John went to the bedroom. It is unlikely that Julius is yellow. It is certain that Brian is a frog. It is unlikely that if either 'Brian is a frog' or 'John went to the bedroom' but not both then Mary moved to the garden. It is probably the case that if 'Julius is yellow and John went to the bedroom' then Lily is a rhino. It is unlikely that if either 'Julius is yellow' or 'Brian is a frog' but not both then Daniel put down the milk.
hypothesis: Chances are about even that either 'Mary moved to the garden' or 'Brian is a frog' but not both.
valid_hypothesis: It is almost certain that either 'Mary moved to the garden' or 'Brian is a frog' but not both.
invalid_hypothesis: Chances are about even that either 'Mary moved to the garden' 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.7::factA.
    0.2::factB.
    1.0::factC.
    %hop1
    0.2::factX:-xor(factC,factA).
    0.7::factY:-and(factB,factA).
    0.2::factZ:-xor(factB,factC).
  
    %hop2
    conclusion:-xor(factX,factC).
  
    query(conclusion).
    
hypothesis_assertion: Either 'Mary moved to the garden' or 'Brian is a frog' but not both.