context: We believe that Antoine is hungry. We believe that John left the milk. It is probably not the case that Mary moved to the office. It is certain that if 'Mary moved to the office' or 'John left the milk' or both then Brian is yellow. We believe that if 'Mary moved to the office and John left the milk' then Bernhard is a lion. It is probably the case that if either 'Antoine is hungry' or 'Mary moved to the office' but not both then Lily is green.
hypothesis: It is almost certain that 'Brian is yellow and Bernhard is a lion'.
valid_hypothesis: There is little chance that 'Brian is yellow and Bernhard is a lion'.
invalid_hypothesis: It is almost certain that 'Brian is yellow and Bernhard is a lion'.
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.75::factB.
    0.25::factC.
    %hop1
    1.0::factX:-or(factC,factB).
    0.75::factY:-and(factC,factB).
    0.7::factZ:-xor(factA,factC).
  
    %hop2
    conclusion:-and(factX,factY).
  
    query(conclusion).
    
hypothesis_assertion: 'Brian is yellow and Bernhard is a lion'.