context: There is little chance that John put down the apple. It is probably not the case that Bill left the milk. It is probable that Emily is a sheep. There is a very good chance that if 'Bill left the milk and John put down the apple' then Fred is in the school. It is improbable that if 'John put down the apple' or 'Bill left the milk' or both then Jessica is a mouse. It is likely that if either 'John put down the apple' or 'Bill left the milk' but not both then Lily is white.
hypothesis: It is probably the case that either 'Jessica is a mouse' or 'Lily is white' but not both.
valid_hypothesis: It is unlikely that either 'Jessica is a mouse' or 'Lily is white' but not both.
invalid_hypothesis: It is probably the case that either 'Jessica is a mouse' or 'Lily 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.1::factA.
    0.25::factB.
    0.7::factC.
    %hop1
    0.8::factX:-and(factB,factA).
    0.1::factY:-or(factA,factB).
    0.7::factZ:-xor(factA,factB).
  
    %hop2
    conclusion:-xor(factY,factZ).
  
    query(conclusion).
    
hypothesis_assertion: Either 'Jessica is a mouse' or 'Lily is white' but not both.