Commit graph

11891 commits

Author SHA1 Message Date
Leonardo de Moura
68f73851d9 test(tests/lean/elab4b): test error messages when pp.full_names is false 2016-07-30 12:02:14 -07:00
Leonardo de Moura
a0589ce8b8 feat(frontends/lean): automatic coercions 2016-07-30 11:53:25 -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
4f72fa5fc5 feat(library/type_context): add trace.type_context.univ_is_def_eq and trace.type_context.univ_is_def_eq_detail 2016-07-30 11:14:36 -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
Leonardo de Moura
671784e35f chore(tests/lean/pp_all2): fix test output 2016-07-29 23:35:10 -07:00
Leonardo de Moura
29f79d71e3 chore(library): remove dead code 2016-07-29 23:32:36 -07:00
Leonardo de Moura
0169989411 chore(library/class): remove transitive instance support
Conflicts:
	src/frontends/lean/structure_cmd.cpp
	src/library/class.cpp
	src/library/class.h
2016-07-29 23:32:10 -07:00
Leonardo de Moura
4a0eb15a5c chore(library/type_context): remove support for transitive instances 2016-07-29 23:28:51 -07:00
Leonardo de Moura
264c23a24f chore(library/class): disable [trans_instance] attribute
Conflicts:
	src/library/class.cpp
2016-07-29 23:28:36 -07:00
Sebastian Ullrich
03b1daa0bf feat(bin): GDB pretty printer for lean::buffer 2016-07-29 23:44:29 -04:00
Sebastian Ullrich
e090326f98 fix(library): remove classical instances from global scope 2016-07-29 23:44:23 -04:00
Sebastian Ullrich
5247b426a8 fix(library/reducible): use class hierarchy to fix reducibility attributes 2016-07-29 23:44:22 -04:00
Sebastian Ullrich
31f599e088 refactor(library/attribute_manager): introduce hierarchy of attribute classes 2016-07-29 23:44:22 -04:00
Sebastian Ullrich
3974d798c8 chore(util/name): remove confusing precondition comment 2016-07-29 23:44:22 -04:00
Sebastian Ullrich
e69b508492 refactor(library/export_decl): Re-implement for new scoped_ext
Use environment_extension to persist mapping from namespaces to export
decls, use new scoped_ext to keep track of currently active export decls.
2016-07-29 23:44:22 -04:00
Sebastian Ullrich
6f4a6c39f3 fix(util/lp): fix compilation error 2016-07-29 23:44:22 -04:00
Sebastian Ullrich
c4edad0372 feat(frontends/lean, library): remove attribute and metaclass scoping
All data is now part of either a global, permanent scope or a local,
temporary one
2016-07-29 23:44:21 -04:00
Sebastian Ullrich
463e4a2cf3 refactor(library/reducible): replace ext with attribute_manager 2016-07-29 18:51:23 -04:00
Sebastian Ullrich
0ebc9eada2 chore(tactic/simplifier/simp_lemmas): replace string literals 2016-07-29 18:51:23 -04:00
Sebastian Ullrich
661fafc940 refactor(frontends/lean): replace different attribute classes with single scoped_ext 2016-07-29 18:51:23 -04:00
Leonardo de Moura
a64d1a77ea refactor(library, frontends/lean): remove old coercion management module 2016-07-29 13:51:26 -07:00
Leonardo de Moura
de237fa6e4 chore(library/coercion): disable coercion attribute 2016-07-29 13:15:10 -07:00
Leonardo de Moura
7ddf1e817b chore(frontends/lean): coercions are disabled by default 2016-07-29 13:03:23 -07:00
Daniel Selsam
1b7f70dde9 feat(simplifier): expose simp_lemmas data structure 2016-07-29 10:44:44 -07:00
Daniel Selsam
5fe08cb24c fix(simplifier): closes #1093 2016-07-29 10:44:44 -07:00
Daniel Selsam
ca6058134c fix(arith_instance_manager): do not store type_context ptr in object 2016-07-29 10:44:44 -07:00
Daniel Selsam
41da351f7a fix(arith_instance_manager): shared pointers instead of references 2016-07-29 10:44:44 -07:00
Daniel Selsam
79e5e80dae test(frontends/smt2): basic tests for parser and elaborator 2016-07-29 10:44:44 -07:00
Daniel Selsam
04be7a6ae6 fix(arith_instance_manager): check local context compatibility when caching 2016-07-29 10:44:44 -07:00
Daniel Selsam
ef3921f65f feat(frontends/smt2/parser): add ':verbose' option 2016-07-29 10:44:44 -07:00
Daniel Selsam
8b9f3f1e47 fix(frontends/smt2/elaborator): (/ <int> <int>) needs to coerce both arguments 2016-07-29 10:44:44 -07:00
Daniel Selsam
f336e817b3 fix(src/library/arith_instance_manager): detect requests for concrete arith types 2016-07-29 10:44:44 -07:00
Daniel Selsam
fb57b5e3e4 refactor(frontends/smt2): remove legacy type context 2016-07-29 10:44:44 -07:00
Daniel Selsam
75145c29ef refactor(library/smt): move smt files from algebra 2016-07-29 10:44:44 -07:00
Daniel Selsam
e946ebc8fc feat(frontends/smt2): new frontend for smt2 format 2016-07-29 10:44:43 -07:00
Daniel Selsam
e7cee1b2cd feat(src/library/mpq_macro): numeral macros 2016-07-29 10:44:43 -07:00
Leonardo de Moura
d05e5422f9 refactor(frontends/lean/elaborator): snapshots 2016-07-29 10:36:14 -07:00
Leonardo de Moura
aae33e02b0 fix(frontends/lean/elaborator): check expected type in applications, make sure we don't accidentally unfold definitions unnecessarily 2016-07-28 17:30:56 -07:00
Leonardo de Moura
cdee8b811a feat(frontends/lean/elaborator): special support for elaborating have-expressions 2016-07-28 16:20:53 -07:00
Leonardo de Moura
931251d403 feat(frontends/lean): remove local_context from parser 2016-07-28 16:19:31 -07:00
Leonardo de Moura
a7c8cbc548 feat(frontends/lean/elaborator): add hard coded coercion from bool to Prop 2016-07-28 15:38:22 -07:00
Leonardo de Moura
b5f006d229 feat(frontends/lean/elaborator): use expected types to disambiguate overloads 2016-07-28 15:32:25 -07:00
Leonardo de Moura
e2f14f2dc4 feat(frontends/lean/elaborator): use full_names when displaying ambiguous overload 2016-07-28 15:21:07 -07:00
Leonardo de Moura
f5ca3cdd68 refactor(frontends/lean/elaborator): simplify visit_default_app_core 2016-07-28 15:09:23 -07:00
Leonardo de Moura
dcf0244ecd chore(frontends/lean/parser): remove dead code 2016-07-28 09:56:03 -07:00
Leonardo de Moura
477a137db9 feat(frontends/lean): remove 'using' expressions
Reason: we have include/omit commands
2016-07-28 09:53:27 -07:00
Leonardo de Moura
e6627cdfc1 feat(frontends/lean/parser): add new_elaborator option 2016-07-28 09:48:12 -07:00
Leonardo de Moura
ba4abed588 fix(frontends/lean/elaborator): better position tracking for applications 2016-07-27 18:52:19 -07:00
Leonardo de Moura
acda62d725 fix(frontends/lean/elaborator): preserve expected_type when annotations are used 2016-07-27 18:48:31 -07:00