There is a better than even chance that Brian is a frog. We believe that Bernhard is gray. Chances are about even that Daniel got the milk. There is little chance that if 'Bernhard is gray and Daniel got the milk' then Julius is a lion. It is almost certain that if 'Bernhard is gray' or 'Brian is a frog' or both then Sandra left the apple. Chances are about even that if either 'Brian is a frog' or 'Daniel got the milk' but not both then Mary went to the hallway.
We believe that 'Julius is a lion' or 'Bernhard is gray' or both.
We believe that 'Julius is a lion' or 'Bernhard is gray' or both.
Chances are slight that 'Julius is a lion' or 'Bernhard is gray' 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.75::factB.
  0.5::factC.
  %hop1
  0.1::factX:-and(factB,factC).
  0.95::factY:-or(factB,factA).
  0.5::factZ:-xor(factA,factC).

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

  query(conclusion).
  
'Julius is a lion' or 'Bernhard is gray' or both.