context: It is almost certain that Julius is white. There is almost no chance that Mary left the football. It is probable that Lily is gray. It is highly unlikely that if 'Mary left the football' or 'Julius is white' or both then John went to the office. We believe that if 'Julius is white and Lily is gray' then Brian is a rhino. It is almost certain that if either 'Julius is white' or 'Mary left the football' but not both then Gertrude is a cat.
hypothesis: It is almost certain that 'Brian is a rhino' or 'Mary left the football' or both.
valid_hypothesis: Chances are about even that 'Brian is a rhino' or 'Mary left the football' or both.
invalid_hypothesis: It is almost certain that 'Brian is a rhino' or 'Mary left the football' 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.95::factA.
    0.02::factB.
    0.7::factC.
    %hop1
    0.05::factX:-or(factB,factA).
    0.75::factY:-and(factA,factC).
    0.95::factZ:-xor(factA,factB).
  
    %hop2
    conclusion:-or(factY,factB).
  
    query(conclusion).
    
hypothesis_assertion: 'Brian is a rhino' or 'Mary left the football' or both.