It is probably the case that Bernhard is a rhino. It is highly likely that Julius is gray. It is probable that John went to the garden. It is highly likely that if 'Bernhard is a rhino and Julius is gray' then Brian is a lion. We believe that if 'Bernhard is a rhino' or 'Julius is gray' or both then Emily is a wolf. It is highly likely that if 'John went to the garden' or 'Julius is gray' or both then Jessica is a cat.
It is almost certain that 'Julius is gray' or 'John went to the garden' or both.
It is almost certain that 'Julius is gray' or 'John went to the garden' or both.
There is little chance that 'Julius is gray' or 'John went to the garden' 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.7::factA.
  0.9::factB.
  0.7::factC.
  %hop1
  0.9::factX:-and(factA,factB).
  0.75::factY:-or(factA,factB).
  0.9::factZ:-or(factC,factB).

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

  query(conclusion).
  
'Julius is gray' or 'John went to the garden' or both.