There is almost no chance that Julius is yellow. We doubt that John went to the hallway. It is impossible that Mary got the football. It is highly likely that if 'John went to the hallway and Julius is yellow' then Winona is a sheep. Chances are slight that if either 'John went to the hallway' or 'Julius is yellow' but not both then Lily is gray. It is probably not the case that if either 'Julius is yellow' or 'Mary got the football' but not both then Brian is a lion.
It is impossible that 'Winona is a sheep and John went to the hallway'.
It is impossible that 'Winona is a sheep and John went to the hallway'.
It is probably the case that 'Winona is a sheep and John went to the hallway'.

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

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

  query(conclusion).
  
'Winona is a sheep and John went to the hallway'.