There is a better than even chance that Bernhard is a frog. It is probably the case that Brian is green. It is unlikely that Lily is yellow. It is probable that if either 'Brian is green' or 'Lily is yellow' but not both then Winona is a mouse. It is likely that if either 'Brian is green' or 'Lily is yellow' but not both then Fred moved to the office. It is impossible that if 'Brian is green' or 'Lily is yellow' or both then Mary went to the kitchen.
We doubt that 'Bernhard is a frog' or 'Winona is a mouse' or both.
We believe that 'Bernhard is a frog' or 'Winona is a mouse' or both.
We doubt that 'Bernhard is a frog' or 'Winona is a mouse' 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.6::factA.
  0.7::factB.
  0.2::factC.
  %hop1
  0.7::factX:-xor(factB,factC).
  0.7::factY:-xor(factB,factC).
  0.0::factZ:-or(factB,factC).

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

  query(conclusion).
  
'Bernhard is a frog' or 'Winona is a mouse' or both.