It is likely that Bernhard is white. It is impossible that Lily is yellow. It is impossible that Antoine is hungry. It is highly unlikely that if either 'Lily is yellow' or 'Bernhard is white' but not both then Gertrude is a sheep. There is a very good chance that if 'Bernhard is white and Antoine is hungry' then Brian is green. There is little chance that if either 'Bernhard is white' or 'Antoine is hungry' but not both then John grabbed the milk.
It is highly unlikely that 'Gertrude is a sheep and Bernhard is white'.
It is highly unlikely that 'Gertrude is a sheep and Bernhard is white'.
We believe that 'Gertrude is a sheep and Bernhard is white'.

  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.7::factA.
  0.0::factB.
  0.0::factC.
  %hop1
  0.05::factX:-xor(factB,factA).
  0.8::factY:-and(factA,factC).
  0.1::factZ:-xor(factA,factC).

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

  query(conclusion).
  
'Gertrude is a sheep and Bernhard is white'.