context: There is a better than even chance that Julius is white. It is highly unlikely that Sandra got the football. It is certain that Jeff left the apple. It is probable that if 'Jeff left the apple' or 'Sandra got the football' or both then Lily is a frog. We doubt that if 'Sandra got the football and Julius is white' then Brian is a swan. We doubt that if either 'Sandra got the football' or 'Julius is white' but not both then John went to the garden.
hypothesis: There is a very good chance that 'Brian is a swan' or 'Sandra got the football' or both.
valid_hypothesis: It is highly unlikely that 'Brian is a swan' or 'Sandra got the football' or both.
invalid_hypothesis: There is a very good chance that 'Brian is a swan' or 'Sandra got the football' or 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.6::factA.
    0.05::factB.
    1.0::factC.
    %hop1
    0.7::factX:-or(factC,factB).
    0.2::factY:-and(factB,factA).
    0.2::factZ:-xor(factB,factA).
  
    %hop2
    conclusion:-or(factY,factB).
  
    query(conclusion).
    
hypothesis_assertion: 'Brian is a swan' or 'Sandra got the football' or both.