It is probably the case that Jessica is a cat. It is almost certain that John grabbed the apple. It is probably the case that Mary went to the office. It is probably the case that if 'John grabbed the apple and Jessica is a cat' then Bill left the football. It is probably not the case that if 'Jessica is a cat and John grabbed the apple' then Bernhard is green. It is impossible that if either 'Mary went to the office' or 'Jessica is a cat' but not both then Julius is a lion.
It is unlikely that 'John grabbed the apple' or 'Julius is a lion' or both.
It is almost certain that 'John grabbed the apple' or 'Julius is a lion' or both.
It is unlikely that 'John grabbed the apple' or 'Julius is a lion' 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.95::factB.
  0.7::factC.
  %hop1
  0.7::factX:-and(factB,factA).
  0.25::factY:-and(factA,factB).
  0.0::factZ:-xor(factC,factA).

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

  query(conclusion).
  
'John grabbed the apple' or 'Julius is a lion' or both.