Commit graph

25 commits

Author SHA1 Message Date
Leonardo de Moura
32e6442d0a feat(frontends/lean): no global universes in the frontend 2017-02-08 17:23:04 -08:00
Leonardo de Moura
49a0d13c50 feat(library/init/coe): add coercion from A to (option A)
A little hack is used to make sure type class resolution will not enter
in an infinite loop.
2017-01-31 17:45:41 -08:00
Leonardo de Moura
77a9feaf70 refactor(frontends/lean): PType ==> Sort
see #1341
2017-01-30 11:54:00 -08:00
Leonardo de Moura
bf9f7560f7 feat(frontends/lean): (Type u) can't be a proposition
(Type u)  is the old (Type (u+1))
(PType u) is the old (Type u)
Type*     is the old (Type (_+1))
PType*    is the old Type*

The stdlib can be compiled, but we still have > 70 broken tests

See discussion at #1341
2017-01-30 11:54:00 -08:00
Leonardo de Moura
178be8d8ea fix(library/init/coe): coe should be reducible 2017-01-10 20:14:28 -08:00
Leonardo de Moura
5d1716a983 refactor(library/data): delete init/data/instances.lean 2016-12-02 16:41:16 -08:00
Leonardo de Moura
e11fd8820a refactor(library/init): create init.data folder 2016-12-02 14:23:06 -08:00
Leonardo de Moura
c816b80855 chore(*): don't use upper case letter for type variables, and camelCase for declarations 2016-11-17 14:54:08 -08:00
Leonardo de Moura
d7c3fce8a3 feat(library/init/coe,frontends/lean): more general coercions to fun
The new test dep_coe_to_fn.lean motivates the change.
2016-09-27 15:41:06 -07:00
Leonardo de Moura
e304d778a1 chore(library/init): cleanup 2016-09-24 16:38:39 -07:00
Leonardo de Moura
5957022adb feat(frontends/lean): add 'class' keyword 2016-09-24 14:32:01 -07:00
Leonardo de Moura
f00e6c0a96 feat(frontends/lean): anonymous instances
The instance name is synthesized automatically.
2016-09-23 13:34:34 -07:00
Leonardo de Moura
85e03da7db feat(frontends/lean): add 'def' as shorthand for 'definition' 2016-09-23 08:25:16 -07:00
Leonardo de Moura
b7abd61579 feat(frontends/lean): change subtype notation (again)
We had conflicts with the set notation.
2016-09-21 17:02:18 -07:00
Leonardo de Moura
9df712581b chore(frontends/lean): remove 'new_elaborator' option 2016-09-20 08:32:37 -07:00
Leonardo de Moura
564bcaab94 chore(library/init): cleanup using anonymous constructor 2016-09-19 10:31:43 -07:00
Leonardo de Moura
5b747d75b1 refactor(library/init): make sure we don't use Type* in the stdlib 2016-09-18 10:37:18 -07:00
Leonardo de Moura
ac87de33e7 fix(frontends/lean/structure_cmd): universe level validation in the structure command 2016-09-18 10:00:31 -07:00
Leonardo de Moura
5e8f2add84 refactor(library/init): use universe variables 2016-09-17 12:25:02 -07:00
Leonardo de Moura
80e8315959 refactor(library/init): move files to new elaborator 2016-09-16 07:48:09 -07:00
Daniel Selsam
a9b01991c2 feat(frontends/lean/inductive_cmd): new frontend for the inductive cmd
Conflicts:
	src/frontends/lean/CMakeLists.txt
	src/frontends/lean/structure_cmd.h
2016-08-17 07:34:03 -07:00
Sebastian Ullrich
fd2c42a8bf chore(library, tests): switch to new attribute declaration syntax
sed -Ei 's/^(\s*)((private |protected )?(noncomputable )?(abbreviation|definition|meta_definition|theorem|lemma|proposition|corollary)\s+\S+\s*)((\s*\[(\S+(\s+[0-9]+)*|priority.*)\])+)\s*/\1attribute \6\n\1\2/' library/**/*.lean tests/**/*.lean
sed -Ei 's/\s+$//' library/**/*.lean  # remove trailing whitespace
2016-08-12 15:36:12 -07:00
Leonardo de Moura
fafea473b8 feat(frontends/lean/elaborator): coercions to sort 2016-07-30 19:47:04 -07:00
Leonardo de Moura
32eb37472f feat(library/init/coe): make sure base case is tried before transitive case, add (decidable (coe b)) instance 2016-07-30 11:44:05 -07:00
Leonardo de Moura
2ad5c2ab73 feat(library/init): add has_lift has_coe has_coe_to_fun type classes 2016-07-30 10:11:30 -07:00