There is a better than even chance that Jason is tired. It is certain that Bernhard is a frog. It is almost certain that Emily is a sheep. It is impossible that if either 'Emily is a sheep' or 'Bernhard is a frog' but not both then Lily is green. We believe that if 'Jason is tired and Bernhard is a frog' then John went to the garden. It is certain that if either 'Jason is tired' or 'Bernhard is a frog' but not both then Brian is white.
Chances are about even that 'John went to the garden and Jason is tired'.
Chances are about even that 'John went to the garden and Jason is tired'.
It is certain that 'John went to the garden and Jason is tired'.

  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.
  1.0::factB.
  0.95::factC.
  %hop1
  0.0::factX:-xor(factC,factB).
  0.75::factY:-and(factA,factB).
  1.0::factZ:-xor(factA,factB).

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

  query(conclusion).
  
'John went to the garden and Jason is tired'.