context: Chances are slight that Jason is bored. There is little chance that Brian is white. We believe that Lily is a lion. There is almost no chance that if either 'Jason is bored' or 'Brian is white' but not both then John is in the garden. We believe that if 'Jason is bored and Lily is a lion' then Fred moved to the office. It is highly likely that if either 'Jason is bored' or 'Lily is a lion' but not both then Gertrude is a wolf.
hypothesis: There is little chance that 'Lily is a lion' or 'Fred moved to the office' or both.
valid_hypothesis: We believe that 'Lily is a lion' or 'Fred moved to the office' or both.
invalid_hypothesis: There is little chance that 'Lily is a lion' or 'Fred moved to the office' 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.1::factA.
    0.1::factB.
    0.75::factC.
    %hop1
    0.02::factX:-xor(factA,factB).
    0.75::factY:-and(factA,factC).
    0.9::factZ:-xor(factA,factC).
  
    %hop2
    conclusion:-or(factC,factY).
  
    query(conclusion).
    
hypothesis_assertion: 'Lily is a lion' or 'Fred moved to the office' or both.