It is certain that Julius is a lion. It is certain that Brian is green. It is improbable that Bernhard is a rhino. It is highly unlikely that if either 'Julius is a lion' or 'Brian is green' but not both then Mary took the milk. It is unlikely that if either 'Julius is a lion' or 'Bernhard is a rhino' but not both then John went to the office. It is probable that if 'Brian is green and Julius is a lion' then Daniel got the apple.
There is almost no chance that 'Brian is green and Daniel got the apple'.
It is probably the case that 'Brian is green and Daniel got the apple'.
There is almost no chance that 'Brian is green and Daniel got the apple'.

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

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

  query(conclusion).
  
'Brian is green and Daniel got the apple'.