It is unlikely that Julius is a swan. There is a better than even chance that Mary went to the bedroom. It is certain that Brian is gray. It is likely that if either 'Julius is a swan' or 'Brian is gray' but not both then John put down the milk. It is highly likely that if 'Brian is gray' or 'Mary went to the bedroom' or both then Jeff moved to the office. It is improbable that if 'Mary went to the bedroom' or 'Brian is gray' or both then Greg is yellow.
It is improbable that 'Brian is gray and Greg is yellow'.
It is improbable that 'Brian is gray and Greg is yellow'.
We believe that 'Brian is gray and Greg is yellow'.

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

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

  query(conclusion).
  
'Brian is gray and Greg is yellow'.