context: It is probable that Sandra left the football. It is impossible that Greg is gray. It is probably not the case that Mary grabbed the milk. It is probably not the case that if either 'Greg is gray' or 'Sandra left the football' but not both then Emily is a sheep. We doubt that if either 'Mary grabbed the milk' or 'Sandra left the football' but not both then Brian is green. It is certain that if 'Sandra left the football' or 'Mary grabbed the milk' or both then Bernhard is a frog.
hypothesis: It is probably not the case that 'Emily is a sheep' or 'Brian is green' or both.
valid_hypothesis: It is probably not the case that 'Emily is a sheep' or 'Brian is green' or both.
invalid_hypothesis: It is certain that 'Emily is a sheep' or 'Brian is green' 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.0::factB.
    0.25::factC.
    %hop1
    0.25::factX:-xor(factB,factA).
    0.2::factY:-xor(factC,factA).
    1.0::factZ:-or(factA,factC).
  
    %hop2
    conclusion:-or(factX,factY).
  
    query(conclusion).
    
hypothesis_assertion: 'Emily is a sheep' or 'Brian is green' or both.