Haitao Zhang
9ba350098f
feat(library/data): add a few convenience lemmas
2015-07-15 17:44:37 -07:00
Haitao Zhang
8dc45686ff
feat(library/data/finset/partition): add theory of binary partition
2015-07-15 17:44:36 -07:00
Soonho Kong
014a5ea83e
fix(emacs/load-lean.el): add let-alist
...
close #729
2015-07-15 16:07:35 -07:00
Leonardo de Moura
89f69630b6
feat(library): use sigma instead of exists (experimental)
2015-07-15 15:49:47 -04:00
Haitao Zhang
721d3781ca
feat(library/data/list/basic): add a lemma length_pos_of_mem
2015-07-15 14:49:53 -04:00
Haitao Zhang
9d523bae6b
feat(library/data/fin): add more fin definition and lemmas
2015-07-15 14:49:53 -04:00
Haitao Zhang
516333ad65
feat(library/algebra/group_bigops): add Prodl theorems
2015-07-15 14:49:53 -04:00
Leonardo de Moura
f5c546e810
feat(frontends/lean/parse_simp_tactic): add simp tactic parser
2015-07-14 14:21:39 -04:00
Leonardo de Moura
3ab0e07ba9
feat(frontends/lean): add simp tactic frontend stub
...
This commit also removes the fake_simplifier. It doesn't work anymore
because simp is now a reserved word.
2015-07-14 09:54:53 -04:00
Haitao Zhang
5034de9c4e
feat(library/data/nat/power): add nat power divide theorems
2015-07-13 22:02:17 -04:00
Haitao Zhang
fae8176363
feat(library/data/list/comb): add map theorems
2015-07-13 22:02:17 -04:00
Leonardo de Moura
589f9df103
fix(tests/lean): adjust tests to reflect recent changes in the standard library
2015-07-13 21:46:09 -04:00
Leonardo de Moura
84b439507b
chore(library/tactic): fix style
2015-07-13 19:43:33 -04:00
Leonardo de Moura
c2edc330ef
fix(library/tactic/rewrite_tactic): remove incorrect assertion
2015-07-13 19:19:12 -04:00
Leonardo de Moura
267545ca0c
feat(frontends/lean): parse 'with_options' tactical
...
see issue #492
2015-07-13 19:13:41 -04:00
Leonardo de Moura
9c5bf98ed6
feat(library/tactic): add 'with_options' tactical
...
see issue #494
2015-07-13 18:34:31 -04:00
Leonardo de Moura
6ab5cf214c
feat(library,hott): add simp tactic reference
2015-07-13 18:01:40 -04:00
Leonardo de Moura
0f714e36b0
feat(library/tactic): add 'location' macro
2015-07-13 17:56:42 -04:00
Leonardo de Moura
58291024a9
fix(library/simplifier/ceqv): polish conditional rewrite internalization procedure
2015-07-13 16:40:18 -04:00
Leonardo de Moura
ebe6ec0017
feat(library): add '[rewrite]' annotation some some theorems
2015-07-13 16:39:53 -04:00
Leonardo de Moura
1881ad0aef
feat(library/logic/weak_fan): add weak_fan theorem
2015-07-13 10:18:12 -04:00
Leonardo de Moura
ea62a27b6b
feat(library/data/stream): define lex-order for streams
2015-07-12 16:55:04 -04:00
Leonardo de Moura
3cb8568fb5
feat(library/simplifier): we can "rewrite" with transitive relations
...
The simplifier does not really need the relation to be an equivalence.
Transitivity is the main required property (we need to chain rewrites
together).
2015-07-12 14:24:05 -04:00
Leonardo de Moura
f8d472c9f1
feat(frontends/lean/parse_rewrite_tactic): change the semantics of rewrite[↑f] when f is recursive
...
After this commit it behaves like 'unfold f'.
That is, it will unfold f even if it fails to fold recursive
applications. Now, only 'esimp[f]' will not unfold f-applications when
it cannot fold the recursive applications.
This commit also closes #692 . It is part of a series of commits that
addresses this issue.
closes #692
2015-07-12 13:20:21 -04:00
Leonardo de Moura
38d5c361df
refactor(hott/types/trunc): remove unnecessary fold
...
The new unfold tactic performs the fold automatically for us.
see issue #692
2015-07-12 13:07:18 -04:00
Leonardo de Moura
4c0a656ecc
fix(library/tactic/unfold_rec): support indexed families + brec_on at unfold_rec
...
see issue #692
2015-07-12 12:45:05 -04:00
Leonardo de Moura
584f9e3f49
fix(library/tactic/unfold_rec): support indexed families at unfold_rec
...
This commit also removes many (now unnecessary) folds from the HoTT
library.
See issue #692
We still have to implement support for recursive definitions based on
brec_on that recurse over inductive families.
2015-07-12 12:32:58 -04:00
Leonardo de Moura
7fa5c3e5da
feat(library/tactic/unfold_rec): take '[recursor]' annotations into account at unfold_rec
2015-07-12 11:33:40 -04:00
Leonardo de Moura
b0ac78c2cb
feat(library/user_recursors): add is_user_defined_recursor predicate
2015-07-12 11:25:50 -04:00
Leonardo de Moura
f0e3eef38a
test(tests/lean/unfold_rec2): add example from #692
2015-07-11 19:45:27 -04:00
Jeremy Avigad
98cace9bf8
fix(library/data/finset/bigops): remove extraneous parameter
2015-07-11 19:01:44 -04:00
Jeremy Avigad
9810105a2a
refactor(library/data/finste/basic): rename non_empty_of_card_succ to ne_empty_of_card_eq_succ
2015-07-11 19:01:44 -04:00
Jeremy Avigad
d443b25dee
fix(library/data/{finset,set}/basic: change notation from {[a, b, c]} to '{a, b, c}
2015-07-11 19:01:44 -04:00
Jeremy Avigad
e8ad284ead
feat(library/data/finset/{bigops,comb}): add two theorems for Haitao
2015-07-11 19:01:43 -04:00
Jeremy Avigad
70407473c2
feat(library/theories/combinatorics/choose): begin theory of binomial coefficients
2015-07-11 19:01:43 -04:00
Leonardo de Moura
8e8e08cfe7
feat(library/tactic): use occurrence object in unfold tactic family
2015-07-11 18:53:45 -04:00
Leonardo de Moura
554a42b407
fix(library/tactic/unfold_rec): add annother brec pattern that should be checked in the unfold recursive definition tactic
2015-07-10 22:16:23 -04:00
Leonardo de Moura
d939509135
doc(library/data/nat/examples): add tail recursive fib example
2015-07-10 20:38:07 -04:00
Leonardo de Moura
fc82b46171
chore(library/data/nat/examples/fib): cleanup example
2015-07-10 08:18:30 -04:00
Leonardo de Moura
32cc2e917b
doc(library/data/nat/examples): add examples
2015-07-09 21:56:48 -04:00
Leonardo de Moura
a9515ac7a4
feat(library/tactic/rewrite_tactic): try to fold nested recursive applications after unfolding a recursive function
...
See issue #692 .
The implementation still has some rough spots.
It is not clear what the right semantic is.
Moreover, the folds in e_closure could not be eliminated automatically.
2015-07-08 21:19:18 -04:00
Jeremy Avigad
7f1993be41
feat(library/theories/number_theory/prime_factorization): begin theory, with multiplicity and prime_factors
2015-07-07 21:05:48 -07:00
Jeremy Avigad
ac7f7cee63
refactor(library/theories/number_theory/primes): add some minor theorems, and rename some theorems
2015-07-07 21:05:48 -07:00
Jeremy Avigad
d9098ff4e5
fix(library/theories/number_theory/bezout): make duplicate proof of prime -> irreducible an example
2015-07-07 21:05:48 -07:00
Jeremy Avigad
2e3b1b04cd
feat(library/algebra/ring_power): add properties of power in ring structures
2015-07-07 21:05:48 -07:00
Jeremy Avigad
31aeff95d5
refactor(library/algebra/ordered_ring): remove 0 ~= 1 from ordered_semiring, add 0 < 1 to linear_ordered_semiring
2015-07-07 21:05:48 -07:00
Jeremy Avigad
e35f05ad47
feat(library/data/nat/order): add greatest i < n st P i
2015-07-07 21:05:48 -07:00
Leonardo de Moura
967f9ece8e
fix(frontends/lean/notation_cmd): workaround incorrect warning produced by clang++ on OSX
2015-07-07 21:01:48 -07:00
Leonardo de Moura
6ffbb05118
feat(library/definitional/no_confusion): add [unfold] hint to no_confusion
2015-07-07 20:07:13 -07:00
Leonardo de Moura
26574e29a9
feat(library/normalize,frontends/lean): allow multiple arguments in [unfold] hint
...
closes #693
2015-07-07 18:01:57 -07:00