context: It is probable that Julius is white. It is probably the case that Mary went to the garden. It is probable that Brian is a rhino. There is a better than even chance that if either 'Mary went to the garden' or 'Julius is white' but not both then Jason is tired. It is unlikely that if 'Mary went to the garden and Brian is a rhino' then Jeff moved to the office. It is probably the case that if 'Mary went to the garden and Julius is white' then John picked up the apple.
hypothesis: It is improbable that 'Mary went to the garden' or 'Jeff moved to the office' or both.
valid_hypothesis: It is probable that 'Mary went to the garden' or 'Jeff moved to the office' or both.
invalid_hypothesis: It is improbable that 'Mary went to the garden' or 'Jeff 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.7::factA.
    0.7::factB.
    0.7::factC.
    %hop1
    0.6::factX:-xor(factB,factA).
    0.2::factY:-and(factB,factC).
    0.7::factZ:-and(factB,factA).
  
    %hop2
    conclusion:-or(factB,factY).
  
    query(conclusion).
    
hypothesis_assertion: 'Mary went to the garden' or 'Jeff moved to the office' or both.