There is a very good chance that Brian is a rhino. There is a better than even chance that Bill went to the office. It is highly likely that Bernhard is yellow. There is almost no chance that if either 'Brian is a rhino' or 'Bernhard is yellow' but not both then Sumit is tired. We doubt that if 'Bill went to the office' or 'Brian is a rhino' or both then Julius is gray. It is highly unlikely that if 'Bill went to the office and Bernhard is yellow' then Sandra grabbed the apple.
It is probably not the case that 'Bernhard is yellow' or 'Sandra grabbed the apple' or both.
It is highly likely that 'Bernhard is yellow' or 'Sandra grabbed the apple' or both.
It is probably not the case that 'Bernhard is yellow' or 'Sandra grabbed the apple' 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.8::factA.
  0.6::factB.
  0.9::factC.
  %hop1
  0.02::factX:-xor(factA,factC).
  0.2::factY:-or(factB,factA).
  0.05::factZ:-and(factB,factC).

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

  query(conclusion).
  
'Bernhard is yellow' or 'Sandra grabbed the apple' or both.