chore(emacs): remove unnecessary requires
feat(library/definitional/projection): add option for marking main premise as instance implicit (i.e., `[]` binder decorator)
feat(frontends/lean/inductive_cmd): notation for enumeration types
fix(frontends/lean/calc_proof_elaborator): bug when inserting symmetry proofs for heq, fixes #286

The problem was that heq type is
    Pi {A : Type} (a : A) {B : Type} (b : B), Prop

The calc_proof_elaborator was assuming that (a : A) (b : B) were the
last two arguments in any relation supported by calc.

The fix is to remove this assumption.
chore(frontends/lean/decl_cmds): add missing `static`
chore(frontends/lean/decl_cmds): add 'example' command

It is like a theorem, but it is discarded after checking
feat(frontends/lean/decl_cmds): remove useless name from 'example' commad
feat(frontends/lean/inductive_cmd): create a namespace for each declared datatype
fix(library/scoped_ext): bug when declaring nested namespaces
fix(frontends/lean): process choice-exprs at check_constant_next
refactor(library/data): rename prod_ext and dpair_ext to prod.eta and sigma.eta

Reason: they will be generated automatically by definitional package.
merged commit 2
foo
foo
typo
foo