context: It is impossible that Lily is yellow. It is highly likely that Jessica is a cat. It is highly likely that Fred is in the cinema. It is highly likely that if 'Jessica is a cat' or 'Lily is yellow' or both then Julius is a lion. We doubt that if either 'Fred is in the cinema' or 'Lily is yellow' but not both then Bernhard is yellow. It is highly likely that if either 'Lily is yellow' or 'Fred is in the cinema' but not both then Brian is green.
hypothesis: It is highly unlikely that 'Brian is green' or 'Bernhard is yellow' or both.
valid_hypothesis: There is a very good chance that 'Brian is green' or 'Bernhard is yellow' or both.
invalid_hypothesis: It is highly unlikely that 'Brian is green' or 'Bernhard 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.0::factA.
    0.9::factB.
    0.9::factC.
    %hop1
    0.9::factX:-or(factB,factA).
    0.2::factY:-xor(factC,factA).
    0.9::factZ:-xor(factA,factC).
  
    %hop2
    conclusion:-or(factZ,factY).
  
    query(conclusion).
    
hypothesis_assertion: 'Brian is green' or 'Bernhard is yellow' or both.