It is likely that Mary left the football. It is probable that Julius is white. It is improbable that Brian is a frog. It is probably the case that if either 'Brian is a frog' or 'Mary left the football' but not both then Bernhard is green. It is highly likely that if 'Mary left the football and Julius is white' then Lily is a lion. We believe that if 'Brian is a frog' or 'Julius is white' or both then Greg is gray.
It is likely that 'Greg is gray' or 'Julius is white' or both.
It is likely that 'Greg is gray' or 'Julius is white' or both.
It is unlikely that 'Greg is gray' or 'Julius is white' or both.

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

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

  query(conclusion).
  
'Greg is gray' or 'Julius is white' or both.