It is probably not the case that Bernhard is yellow. We doubt that John got the apple. It is likely that Brian is a lion. Chances are slight that if either 'Brian is a lion' or 'Bernhard is yellow' but not both then Fred left the football. It is impossible that if either 'John got the apple' or 'Brian is a lion' but not both then Julius is white. Chances are slight that if 'John got the apple' or 'Bernhard is yellow' or both then Mary went to the bedroom.
It is improbable that 'John got the apple and Brian is a lion'.
It is improbable that 'John got the apple and Brian is a lion'.
It is certain that 'John got the apple and Brian is a lion'.

  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.25::factA.
  0.2::factB.
  0.7::factC.
  %hop1
  0.1::factX:-xor(factC,factA).
  0.0::factY:-xor(factB,factC).
  0.1::factZ:-or(factB,factA).

  %hop2
  conclusion:-and(factB,factC).

  query(conclusion).
  
'John got the apple and Brian is a lion'.