There is almost no chance that Antoine is hungry. It is highly unlikely that Mary left the football. It is certain that John took the apple. There is little chance that if either 'John took the apple' or 'Antoine is hungry' but not both then Brian is a frog. It is unlikely that if either 'John took the apple' or 'Antoine is hungry' but not both then Bernhard is green. Chances are slight that if either 'John took the apple' or 'Mary left the football' but not both then Fred went to the garden.
It is certain that 'Brian is a frog' or 'Bernhard is green' or both.
It is probably not the case that 'Brian is a frog' or 'Bernhard is green' or both.
It is certain that 'Brian is a frog' or 'Bernhard is green' 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.02::factA.
  0.05::factB.
  1.0::factC.
  %hop1
  0.1::factX:-xor(factC,factA).
  0.2::factY:-xor(factC,factA).
  0.1::factZ:-xor(factC,factB).

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

  query(conclusion).
  
'Brian is a frog' or 'Bernhard is green' or both.