context: It is improbable that John dropped the apple. It is probably the case that Bernhard is gray. There is a better than even chance that Fred is in the school. It is probable that if either 'Bernhard is gray' or 'Fred is in the school' but not both then Antoine is thirsty. We believe that if 'John dropped the apple' or 'Bernhard is gray' or both then Brian is yellow. Chances are slight that if either 'John dropped the apple' or 'Bernhard is gray' but not both then Greg is green.
hypothesis: It is improbable that 'Greg is green' or 'Brian is yellow' or both.
valid_hypothesis: There is a better than even chance that 'Greg is green' or 'Brian is yellow' or both.
invalid_hypothesis: It is improbable that 'Greg is green' or 'Brian is yellow' 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.1::factA.
    0.7::factB.
    0.6::factC.
    %hop1
    0.7::factX:-xor(factB,factC).
    0.75::factY:-or(factA,factB).
    0.1::factZ:-xor(factA,factB).
  
    %hop2
    conclusion:-or(factZ,factY).
  
    query(conclusion).
    
hypothesis_assertion: 'Greg is green' or 'Brian is yellow' or both.