It is certain that Antoine is hungry. Chances are slight that Bernhard is green. Chances are about even that Mary moved to the garden. It is almost certain that if 'Mary moved to the garden and Bernhard is green' then Lily is a rhino. It is highly likely that if either 'Bernhard is green' or 'Antoine is hungry' but not both then Julius is yellow. We doubt that if 'Antoine is hungry' or 'Bernhard is green' or both then John left the milk.
There is a very good chance that 'John left the milk' or 'Lily is a rhino' or both.
It is probably not the case that 'John left the milk' or 'Lily is a rhino' or both.
There is a very good chance that 'John left the milk' or 'Lily is a rhino' 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
  1.0::factA.
  0.1::factB.
  0.5::factC.
  %hop1
  0.95::factX:-and(factC,factB).
  0.9::factY:-xor(factB,factA).
  0.2::factZ:-or(factA,factB).

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

  query(conclusion).
  
'John left the milk' or 'Lily is a rhino' or both.