feat(library/definitional): add auxiliary functions
feat(library/definitional): add brec_on construction, closes #272
fix(frontends/lean): intro tactic + universe variables, fixes #362
feat(library/aliases): protected definitions in nested namespaces, closes #331
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