context: We believe that Greg is green. It is likely that Brian is yellow. It is highly unlikely that Mary moved to the garden. There is little chance that if 'Brian is yellow' or 'Mary moved to the garden' or both then John got the milk. It is highly likely that if either 'Brian is yellow' or 'Greg is green' but not both then Lily is a swan. It is unlikely that if 'Brian is yellow and Mary moved to the garden' then Fred left the football.
hypothesis: It is highly likely that 'Lily is a swan and Greg is green'.
valid_hypothesis: It is unlikely that 'Lily is a swan and Greg is green'.
invalid_hypothesis: It is highly likely that 'Lily is a swan and Greg is green'.
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.75::factA.
    0.7::factB.
    0.05::factC.
    %hop1
    0.1::factX:-or(factB,factC).
    0.9::factY:-xor(factB,factA).
    0.2::factZ:-and(factB,factC).
  
    %hop2
    conclusion:-and(factY,factA).
  
    query(conclusion).
    
hypothesis_assertion: 'Lily is a swan and Greg is green'.