context: It is highly likely that Fred moved to the office. Chances are about even that John took the apple. It is highly likely that Julius is green. It is impossible that if 'Fred moved to the office and John took the apple' then Jessica is a cat. Chances are about even that if 'Julius is green' or 'John took the apple' or both then Mary left the football. There is a better than even chance that if either 'Julius is green' or 'John took the apple' but not both then Brian is a swan.
hypothesis: It is impossible that 'Brian is a swan and Jessica is a cat'.
valid_hypothesis: It is impossible that 'Brian is a swan and Jessica is a cat'.
invalid_hypothesis: We believe that 'Brian is a swan and Jessica is a cat'.
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.9::factA.
    0.5::factB.
    0.9::factC.
    %hop1
    0.0::factX:-and(factA,factB).
    0.5::factY:-or(factC,factB).
    0.6::factZ:-xor(factC,factB).
  
    %hop2
    conclusion:-and(factZ,factX).
  
    query(conclusion).
    
hypothesis_assertion: 'Brian is a swan and Jessica is a cat'.