It is almost certain that Brian is a swan. It is probably the case that Lily is green. We believe that Greg is yellow. It is unlikely that if either 'Greg is yellow' or 'Lily is green' but not both then Yann is hungry. Chances are slight that if 'Greg is yellow and Lily is green' then Mary got the football. There is little chance that if either 'Brian is a swan' or 'Greg is yellow' but not both then John went to the hallway.
It is highly unlikely that 'Greg is yellow and Yann is hungry'.
It is highly unlikely that 'Greg is yellow and Yann is hungry'.
There is a very good chance that 'Greg is yellow and Yann is hungry'.

  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.95::factA.
  0.7::factB.
  0.75::factC.
  %hop1
  0.2::factX:-xor(factC,factB).
  0.1::factY:-and(factC,factB).
  0.1::factZ:-xor(factA,factC).

  %hop2
  conclusion:-and(factC,factX).

  query(conclusion).
  
'Greg is yellow and Yann is hungry'.