It is probably the case that Brian is yellow. It is impossible that Fred is in the school. It is impossible that John moved to the office. Chances are about even that if 'Brian is yellow and Fred is in the school' then Gertrude is a sheep. We doubt that if 'Brian is yellow' or 'John moved to the office' or both then Mary left the football. It is probably the case that if 'John moved to the office and Brian is yellow' then Bernhard is gray.
It is probably the case that 'Mary left the football' or 'Bernhard is gray' or both.
It is improbable that 'Mary left the football' or 'Bernhard is gray' or both.
It is probably the case that 'Mary left the football' or 'Bernhard is gray' 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.7::factA.
  0.0::factB.
  0.0::factC.
  %hop1
  0.5::factX:-and(factA,factB).
  0.2::factY:-or(factA,factC).
  0.7::factZ:-and(factC,factA).

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

  query(conclusion).
  
'Mary left the football' or 'Bernhard is gray' or both.