It is almost certain that Bernhard is a frog. It is highly likely that Jason is tired. It is certain that Brian is white. It is probably the case that if either 'Jason is tired' or 'Brian is white' but not both then Julius is a swan. It is highly unlikely that if either 'Brian is white' or 'Bernhard is a frog' but not both then Mary went to the kitchen. There is a very good chance that if 'Brian is white and Jason is tired' then Sandra got the football.
We doubt that 'Julius is a swan' or 'Bernhard is a frog' or both.
It is almost certain that 'Julius is a swan' or 'Bernhard is a frog' or both.
We doubt that 'Julius is a swan' or 'Bernhard is a frog' or both.

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

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

  query(conclusion).
  
'Julius is a swan' or 'Bernhard is a frog' or both.