It is impossible that Julius is a lion. It is impossible that John discarded the milk. It is likely that Mary went to the garden. It is probably the case that if 'John discarded the milk' or 'Mary went to the garden' or both then Bernhard is a swan. It is unlikely that if either 'John discarded the milk' or 'Mary went to the garden' but not both then Fred put down the apple. It is probably the case that if 'Julius is a lion' or 'John discarded the milk' or both then Greg is a rhino.
It is certain that 'Julius is a lion and Mary went to the garden'.
It is impossible that 'Julius is a lion and Mary went to the garden'.
It is certain that 'Julius is a lion and Mary went to the garden'.

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

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

  query(conclusion).
  
'Julius is a lion and Mary went to the garden'.