context: Chances are slight that Bernhard is green. There is a better than even chance that Greg is a rhino. It is certain that John put down the apple. There is a very good chance that if 'Greg is a rhino and Bernhard is green' then Brian is white. It is impossible that if 'John put down the apple' or 'Bernhard is green' or both then Sandra got the football. It is probable that if 'Greg is a rhino and John put down the apple' then Mary went to the bedroom.
hypothesis: Chances are about even that 'Greg is a rhino and Mary went to the bedroom'.
valid_hypothesis: Chances are about even that 'Greg is a rhino and Mary went to the bedroom'.
invalid_hypothesis: It is almost certain that 'Greg is a rhino and Mary went to the bedroom'.
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.6::factB.
    1.0::factC.
    %hop1
    0.8::factX:-and(factB,factA).
    0.0::factY:-or(factC,factA).
    0.7::factZ:-and(factB,factC).
  
    %hop2
    conclusion:-and(factB,factZ).
  
    query(conclusion).
    
hypothesis_assertion: 'Greg is a rhino and Mary went to the bedroom'.