It is unlikely that Lily is a frog. We doubt that Brian is green. We doubt that Mary grabbed the milk. It is highly likely that if either 'Brian is green' or 'Mary grabbed the milk' but not both then Gertrude is a cat. It is impossible that if either 'Lily is a frog' or 'Mary grabbed the milk' but not both then John moved to the garden. There is a very good chance that if 'Mary grabbed the milk and Lily is a frog' then Julius is a lion.
It is certain that 'Brian is green' or 'Julius is a lion' or both.
It is probably not the case that 'Brian is green' or 'Julius is a lion' or both.
It is certain that 'Brian is green' 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.2::factA.
  0.2::factB.
  0.2::factC.
  %hop1
  0.9::factX:-xor(factB,factC).
  0.0::factY:-xor(factA,factC).
  0.8::factZ:-and(factC,factA).

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

  query(conclusion).
  
'Brian is green' or 'Julius is a lion' or both.