test(tests/lean/run): use 'cases' tactic
test(tests/lean/run): try different ways to pack mutually recursive datatypes
fix(emacs): disable abbreviation mode that was expanding "def" into "definition"
refactor(library/data/option): move 'option' declaration to init.datatypes
feat(library/init/measurable): add 'measurable' type class
feat(library/algebra): modify categories to use definitions, prove basic theorems about discrete categories
fix(hott/trunc): add explicit coercion so that the notation works if nat is not opened
style(hott/path): indent within namespace, add variables
style(hott/types): some style fixes in prod and sigma
feat(hott/types): start characterization of pi-types and W-types
fix(tests/lean/struct_class): adjust test result to reflect recent changes
refactor(library/data/vector): cleanup
fix(tests/lean/whnf): make sure the test does not produce 'sorry'
fix(library/tactic/inversion_tactic): warning on clang++
test(tests/lean/run/nested_rec.lean): add nested recursion example based on well-founded recursion package
fix(library/tactic/intros_tactic): seg fault at intros tactic, fixes #366
feat(hott/types/sigma): complete prove, finish porting sigma, clean-up names