It is probably not the case that Mary went to the office. It is impossible that Yann is bored. We believe that Brian is a lion. There is almost no chance that if either 'Yann is bored' or 'Brian is a lion' but not both then Julius is a rhino. We doubt that if 'Mary went to the office' or 'Yann is bored' or both then Bernhard is green. It is almost certain that if 'Brian is a lion' or 'Yann is bored' or both then Greg is gray.
It is highly unlikely that 'Greg is gray and Bernhard is green'.
It is highly unlikely that 'Greg is gray and Bernhard is green'.
It is highly likely that 'Greg is gray and Bernhard is green'.

  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.0::factB.
  0.75::factC.
  %hop1
  0.02::factX:-xor(factB,factC).
  0.2::factY:-or(factA,factB).
  0.95::factZ:-or(factC,factB).

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

  query(conclusion).
  
'Greg is gray and Bernhard is green'.