It is highly likely that John went to the kitchen. It is probably the case that Gertrude is a sheep. There is a very good chance that Greg is gray. It is almost certain that if 'Gertrude is a sheep and Greg is gray' then Brian is yellow. We doubt that if 'John went to the kitchen' or 'Gertrude is a sheep' or both then Bernhard is a swan. It is probably not the case that if 'Greg is gray' or 'John went to the kitchen' or both then Mary is in the school.
It is improbable that 'Mary is in the school and Brian is yellow'.
It is improbable that 'Mary is in the school and Brian is yellow'.
It is almost certain that 'Mary is in the school and Brian is yellow'.

  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.9::factA.
  0.7::factB.
  0.8::factC.
  %hop1
  0.95::factX:-and(factB,factC).
  0.2::factY:-or(factA,factB).
  0.25::factZ:-or(factC,factA).

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

  query(conclusion).
  
'Mary is in the school and Brian is yellow'.