It is likely that Bernhard is yellow. We doubt that John went to the bedroom. It is improbable that Greg is a rhino. It is certain that if either 'John went to the bedroom' or 'Bernhard is yellow' but not both then Mary moved to the office. There is almost no chance that if 'Bernhard is yellow and Greg is a rhino' then Sandra got the football. It is likely that if 'John went to the bedroom and Greg is a rhino' then Brian is a frog.
We believe that 'Greg is a rhino' or 'Bernhard is yellow' or both.
We believe that 'Greg is a rhino' or 'Bernhard is yellow' or both.
Chances are slight that 'Greg is a rhino' or 'Bernhard is yellow' 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.2::factB.
  0.1::factC.
  %hop1
  1.0::factX:-xor(factB,factA).
  0.02::factY:-and(factA,factC).
  0.7::factZ:-and(factB,factC).

  %hop2
  conclusion:-or(factC,factA).

  query(conclusion).
  
'Greg is a rhino' or 'Bernhard is yellow' or both.