context: It is probably the case that Mary went to the hallway. It is probably not the case that John discarded the apple. It is unlikely that Sandra put down the milk. There is almost no chance that if either 'Mary went to the hallway' or 'Sandra put down the milk' but not both then Greg is green. It is likely that if 'Mary went to the hallway and John discarded the apple' then Lily is a rhino. It is certain that if 'John discarded the apple' or 'Sandra put down the milk' or both then Jason is tired.
hypothesis: Chances are slight that 'Lily is a rhino and Mary went to the hallway'.
valid_hypothesis: Chances are slight that 'Lily is a rhino and Mary went to the hallway'.
invalid_hypothesis: It is certain that 'Lily is a rhino and Mary went to the hallway'.
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.25::factB.
    0.2::factC.
    %hop1
    0.02::factX:-xor(factA,factC).
    0.7::factY:-and(factA,factB).
    1.0::factZ:-or(factB,factC).
  
    %hop2
    conclusion:-and(factY,factA).
  
    query(conclusion).
    
hypothesis_assertion: 'Lily is a rhino and Mary went to the hallway'.