context: It is probably the case that John moved to the office. It is certain that Brian is yellow. Chances are slight that Julius is gray. It is unlikely that if 'Julius is gray and Brian is yellow' then Jeff went to the hallway. It is certain that if 'Julius is gray and Brian is yellow' then Greg is green. It is probably the case that if 'John moved to the office' or 'Julius is gray' or both then Lily is a frog.
hypothesis: It is certain that 'Brian is yellow' or 'John moved to the office' or both.
valid_hypothesis: It is certain that 'Brian is yellow' or 'John moved to the office' or both.
invalid_hypothesis: There is almost no chance that 'Brian is yellow' or 'John 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.
    1.0::factB.
    0.1::factC.
    %hop1
    0.2::factX:-and(factC,factB).
    1.0::factY:-and(factC,factB).
    0.7::factZ:-or(factA,factC).
  
    %hop2
    conclusion:-or(factB,factA).
  
    query(conclusion).
    
hypothesis_assertion: 'Brian is yellow' or 'John moved to the office' or both.