It is probably not the case that Greg is green. It is impossible that John moved to the office. There is almost no chance that Julius is white. It is probable that if 'John moved to the office and Julius is white' then Daniel dropped the apple. It is impossible that if 'Julius is white and John moved to the office' then Fred left the football. It is probably not the case that if 'Julius is white and Greg is green' then Bernhard is a lion.
It is impossible that 'Bernhard is a lion and John moved to the office'.
It is impossible that 'Bernhard is a lion and John moved to the office'.
It is probably the case that 'Bernhard is a lion and John moved to the office'.

  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.02::factC.
  %hop1
  0.7::factX:-and(factB,factC).
  0.0::factY:-and(factC,factB).
  0.25::factZ:-and(factC,factA).

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

  query(conclusion).
  
'Bernhard is a lion and John moved to the office'.