context: There is a better than even chance that Greg is green. Chances are about even that Mary left the football. It is highly likely that Bernhard is a swan. It is highly unlikely that if either 'Bernhard is a swan' or 'Mary left the football' but not both then Lily is a frog. It is highly likely that if 'Greg is green' or 'Mary left the football' or both then Brian is gray. It is probable that if either 'Mary left the football' or 'Greg is green' but not both then John put down the apple.
hypothesis: Chances are about even that 'Greg is green and Brian is gray'.
valid_hypothesis: Chances are about even that 'Greg is green and Brian is gray'.
invalid_hypothesis: There is almost no chance that 'Greg is green and Brian is gray'.
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.6::factA.
    0.5::factB.
    0.9::factC.
    %hop1
    0.05::factX:-xor(factC,factB).
    0.9::factY:-or(factA,factB).
    0.7::factZ:-xor(factB,factA).
  
    %hop2
    conclusion:-and(factA,factY).
  
    query(conclusion).
    
hypothesis_assertion: 'Greg is green and Brian is gray'.