It is likely that Brian is yellow. It is certain that John went to the garden. It is highly unlikely that Bernhard is gray. It is likely that if 'Brian is yellow and Bernhard is gray' then Jessica is a mouse. It is probably not the case that if either 'John went to the garden' or 'Brian is yellow' but not both then Julius is gray. It is certain that if 'John went to the garden' or 'Brian is yellow' or both then Mary left the apple.
It is certain that 'Jessica is a mouse' or 'John went to the garden' or both.
It is certain that 'Jessica is a mouse' or 'John went to the garden' or both.
It is unlikely that 'Jessica is a mouse' 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.
  1.0::factB.
  0.05::factC.
  %hop1
  0.7::factX:-and(factA,factC).
  0.25::factY:-xor(factB,factA).
  1.0::factZ:-or(factB,factA).

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

  query(conclusion).
  
'Jessica is a mouse' or 'John went to the garden' or both.