Commit graph

227 commits

Author SHA1 Message Date
Leonardo de Moura
f461b53a7f refactor(library): remove eq.ops namespace 2016-07-31 12:50:11 -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
ff59fc39b9 fix(library/data/list/basic): broken proof 2016-07-18 18:48:25 -04:00
Leonardo de Moura
5a96237989 refactor(library/data/list): move dropn to init 2016-07-18 18:14:21 -04:00
Leonardo de Moura
393f926563 refactor(library): move head to init folder 2016-07-16 16:27:30 -04:00
Leonardo de Moura
26bc1602a7 refactor(library): move 'filter' to init folder 2016-07-09 17:23:28 -07:00
Leonardo de Moura
97719a4c5f refactor(frontends/lean): disable '!' operator, and adjust standard library 2016-07-02 01:41:46 +01:00
Leonardo de Moura
3b6b487e43 feat(library/init/meta/tactic): add 'focus', 'first', 'solve' and LCF-style AND_THEN tactical 2016-06-29 01:07:41 +01:00
Leonardo de Moura
9aa6ac62ec refactor(library): add has_append type class, string concatenation is now an instance of has_append instead of has_add 2016-06-27 08:04:47 +01:00
Leonardo de Moura
9371aa0e99 refactor(library/data/list/basic): move tail to init 2016-06-18 14:27:57 -07:00
Leonardo de Moura
7089762cd6 refactor(library/data/list): move nth to init 2016-06-18 12:40:00 -07:00
Leonardo de Moura
31e066633c chore(library): fix dependencies 2016-06-06 16:43:43 -07:00
Leonardo de Moura
f60d088572 feat(library/init): add 'has_to_string' type class 2016-05-26 10:43:26 -07:00
Leonardo de Moura
9530f716f9 refactor(library): move list.is_inhabited instance to init folder 2016-05-25 17:26:42 -07:00
Leonardo de Moura
1bce20c322 feat(library/init): make sure list, char and string decidable_eq instances are defined in the init folder 2016-05-25 15:16:12 -07:00
Leonardo de Moura
d22d850b28 refactor(library): redefine string and char 2016-05-24 14:11:24 -07:00
Leonardo de Moura
9dfc5ed787 chore(library/data): make sure we can generate code for the modified functions 2016-05-23 17:50:01 -07:00
Leonardo de Moura
a208f9473c refactor(library): reorder and rename decidable constructors
Motivation: make sure the "false" case will have constructor idx 0.
2016-05-10 17:30:22 -07:00
Leonardo de Moura
d88098f38d chore(frontends/lean): remove some of the tactic support 2016-04-25 15:26:56 -07:00
Leonardo de Moura
de64750621 chore(frontends/lean): disable expressions that use tactic framework 2016-04-25 15:07:26 -07:00
Leonardo de Moura
f573ebd0a4 refactor(library): make sure prod.pr1 is a projection 2016-03-25 16:28:29 -07:00
Leonardo de Moura
384e8bf7bf refactor(library): remove unifier_plugin 2016-03-21 17:57:53 -07:00
Leonardo de Moura
9d0dfb8404 refactor(frontends/lean): remove calc_proof_elaborator 2016-03-03 17:22:45 -08:00
Leonardo de Moura
2c70ca83a8 refactor(frontends/lean/calc): remove '{}' notation for eq.subst in calc mode 2016-03-03 14:18:20 -08:00
Leonardo de Moura
4a43e33d45 chore(*): disable big chunk of the standard library and tests 2016-03-03 13:43:08 -08:00
Leonardo de Moura
faa0031d4e refactor(library,hott): remove 'by+' and 'begin+' 2016-02-29 13:15:48 -08:00
Leonardo de Moura
deb1b3dc79 refactor(library): replace assert-exprs with have-exprs 2016-02-29 11:53:26 -08:00
Leonardo de Moura
101cf1ec4c feat(frontends/lean): remove difference between 'have' and 'assert' 2016-02-29 11:28:20 -08:00
Jeremy Avigad
8f83c78bc9 fix(library/logic/identities,library/*): fix implicit arguments, add implications. Closes #1002. 2016-02-22 11:25:23 -08:00
Sean Leather
7852524370 fix(library/data/list/sorted): incorrect name 2016-02-22 11:06:39 -08:00
Rob Lewis
ffed988a34 feat(data/list): add missing theorems 2016-02-04 11:03:28 -08:00
Leonardo de Moura
52ec7e6d57 feat(library/blast/recursor): add 'blast.recursor.max_rounds' options and iterative deepening for recursor_strategy 2016-01-01 13:09:37 -08:00
Leonardo de Moura
54f2c0f254 feat(library/blast/forward): inst_simp should use the left-hand-side as a pattern (if none is provided by the user)
The motivation is to reduce the number of instances generated by ematching.

For example, given

   inv_inv:  forall a, (a⁻¹)⁻¹ = a

the new heuristic uses ((a⁻¹)⁻¹) as the pattern.
This matches the intuition that inv_inv should be used a simplification
rule.

The default pattern inference procedure would use (a⁻¹). This is bad
because it generates an infinite chain of instances whenever there is a
term (a⁻¹) in the proof state.
By using (a⁻¹), we get
   (a⁻¹)⁻¹ = a
Now that we have (a⁻¹)⁻¹, we can match again and generate
   ((a⁻¹)⁻¹)⁻¹ = a⁻¹
and so on
2015-12-31 20:20:39 -08:00
Leonardo de Moura
bd03619b5c refactor(library/data/list/basic): test 'rec_inst_simp' blast strategy
recursor + instantiate [simp] lemmas + congruence closure
2015-12-31 13:03:47 -08:00
Leonardo de Moura
b117a10f82 refactor(library/blast/simplifier): use priority_queue to store simp/congr lemmas, use name convention used at forward/backward lemmas, normalize lemmas when blast starts, cache get_simp_lemmas 2015-12-28 17:52:57 -08:00
Jeremy Avigad
8ccafc4267 fix(library/init/function): fix typo 2015-12-22 16:39:13 -05:00
Leonardo de Moura
ef546c5c5b refactor(library): use anonymous instance implicit arguments 2015-12-13 11:46:48 -08:00
Leonardo de Moura
b94e31a72c refactor(library): remove algebra namespace 2015-12-05 23:50:01 -08:00
Joe Hendrix
42afd89583 feat(library/data/list): Add additonal list combinators. 2015-12-02 23:01:26 -08:00
Floris van Doorn
0537ef2bd9 chore(*): add me as author to files where I made nontrivial contributions 2015-11-22 14:21:26 -08:00
Floris van Doorn
482c68b387 feat(*/list): add some computation rules for lists in both libraries 2015-11-22 14:21:26 -08:00
Floris van Doorn
5abc450fad feat(list): port list.basic from the standard library 2015-11-22 14:21:26 -08:00
Leonardo de Moura
9bedbbb739 refactor(library,hott): remove coercions between algebraic structures
They are classes, and mixing coercion with type class resolution is a
recipe for disaster (aka counterintuitive behavior).
2015-11-11 11:57:44 -08:00
Jeremy Avigad
da5bd03656 refactor(library/init/nat,library/data/nat/*): chagne dots to underscores in protected names 2015-11-08 14:04:59 -08:00
Leonardo de Moura
6df31d3406 refactor(library/data/nat/basic): mark some theorems as protected to avoid overloading 2015-11-08 14:04:56 -08:00
Leonardo de Moura
724aacb2c1 fix(library): remove "-[notations]" hack at "open -[notations] algebra" 2015-11-08 14:04:55 -08:00
Leonardo de Moura
26eb6fa849 feat(*): new numeral encoding 2015-11-08 14:04:55 -08:00
Leonardo de Moura
3369152559 fix(library/data,library/theories): fin, bag, finset, hf, list, ... 2015-11-08 14:04:54 -08:00
Leonardo de Moura
a618bd7d6c refactor(library): use type classes for encoding all arithmetic operations
Before this commit we were using overloading for concrete structures and
type classes for abstract ones.

This is the first of series of commits that implement this modification
2015-11-08 14:04:54 -08:00
Sebastian Ullrich
d1b5031dbd feat(library): add some spacing hints 2015-09-30 17:36:32 -07:00