It is unlikely that Brian is a swan. Chances are about even that Bernhard is white. We believe that Greg is white. Chances are about even that if 'Brian is a swan' or 'Greg is white' or both then Julius is yellow. It is unlikely that if either 'Bernhard is white' or 'Brian is a swan' but not both then Winona is a mouse. It is impossible that if 'Greg is white and Brian is a swan' then Jeff dropped the apple.
It is certain that 'Greg is white and Bernhard is white'.
Chances are about even that 'Greg is white and Bernhard is white'.
It is certain that 'Greg is white 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.2::factA.
  0.5::factB.
  0.75::factC.
  %hop1
  0.5::factX:-or(factA,factC).
  0.2::factY:-xor(factB,factA).
  0.0::factZ:-and(factC,factA).

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

  query(conclusion).
  
'Greg is white and Bernhard is white'.