context: It is probably the case that John took the football. We believe that Emily is a wolf. It is probable that Brian is yellow. It is probable that if either 'Emily is a wolf' or 'Brian is yellow' but not both then Mary is in the hallway. It is probable that if either 'Emily is a wolf' or 'John took the football' but not both then Julius is gray. It is probably not the case that if 'John took the football' or 'Brian is yellow' or both then Lily is a rhino.
hypothesis: We believe that 'Brian is yellow' or 'Lily is a rhino' or both.
valid_hypothesis: We believe that 'Brian is yellow' or 'Lily is a rhino' or both.
invalid_hypothesis: We doubt that 'Brian is yellow' or 'Lily is a rhino' 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.75::factB.
    0.7::factC.
    %hop1
    0.7::factX:-xor(factB,factC).
    0.7::factY:-xor(factB,factA).
    0.25::factZ:-or(factA,factC).
  
    %hop2
    conclusion:-or(factC,factZ).
  
    query(conclusion).
    
hypothesis_assertion: 'Brian is yellow' or 'Lily is a rhino' or both.