We doubt that Greg is gray. It is likely that Mary went to the garden. It is certain that John moved to the office. It is probably the case that if 'Greg is gray and Mary went to the garden' then Emily is a cat. It is almost certain that if either 'John moved to the office' or 'Mary went to the garden' but not both then Brian is a frog. There is almost no chance that if 'Greg is gray' or 'Mary went to the garden' or both then Bernhard is yellow.
Chances are slight that 'Mary went to the garden' or 'Emily is a cat' or both.
It is probable that 'Mary went to the garden' or 'Emily is a cat' or both.
Chances are slight that 'Mary went to the garden' or 'Emily is a cat' 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.7::factB.
  1.0::factC.
  %hop1
  0.7::factX:-and(factA,factB).
  0.95::factY:-xor(factC,factB).
  0.02::factZ:-or(factA,factB).

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

  query(conclusion).
  
'Mary went to the garden' or 'Emily is a cat' or both.