Basic LSL Questions

I have a couple simple questions regarding LSL traits.

1-I'm assuming that a trait definition with an includes statement
can be replaced with the trait definitions and all definitions in
the included trait.  I don't quite understand what 'discharging' the
definitions mean for an assumes statement.  Does it simply mean
to ignore the definitions for any trait if it is included or assumed
by a 'parent' trait?

	eg	X:trait
			Includes Y,Z
			Includes A
			Assumes B

	Does this mean that X would inherit all of A's
	definitions and ignore B's definitions?  How would
	conflicting definitions be handled.

2-Are implies statements used only in proofs about the trait,
or are traits given on an implies statement also inherited by
the parent trait?

Any help would be much appreciated.  This is all pretty new to
me but rather interesting.

Steve Schroeder