There is a better than even chance that Mary left the milk. It is highly unlikely that Jessica is a wolf. It is improbable that Greg is a lion. It is impossible that if 'Mary left the milk and Greg is a lion' then Julius is green. It is highly likely that if 'Mary left the milk' or 'Greg is a lion' or both then Bernhard is a rhino. It is highly unlikely that if either 'Jessica is a wolf' or 'Mary left the milk' but not both then John moved to the office.
We believe that 'Mary left the milk and Julius is green'.
It is impossible that 'Mary left the milk and Julius is green'.
We believe that 'Mary left the milk and Julius 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.6::factA.
  0.05::factB.
  0.1::factC.
  %hop1
  0.0::factX:-and(factA,factC).
  0.9::factY:-or(factA,factC).
  0.05::factZ:-xor(factB,factA).

  %hop2
  conclusion:-and(factA,factX).

  query(conclusion).
  
'Mary left the milk and Julius is green'.