It is highly likely that Greg is a swan. We doubt that Lily is a lion. It is improbable that Brian is yellow. It is improbable that if 'Brian is yellow' or 'Lily is a lion' or both then Julius is gray. It is probably the case that if 'Brian is yellow' or 'Greg is a swan' or both then John left the milk. It is certain that if 'Brian is yellow and Greg is a swan' then Bernhard is a frog.
It is highly unlikely that 'Brian is yellow and John left the milk'.
It is highly unlikely that 'Brian is yellow and John left the milk'.
It is certain that 'Brian is yellow and John left the milk'.

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

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

  query(conclusion).
  
'Brian is yellow and John left the milk'.