Leonardo de Moura
|
92f8eb173b
|
feat(frontends/lean): use 'this' as the name for anonymous 'have'-expression
|
2015-07-18 13:36:05 -05:00 |
|
Leonardo de Moura
|
ade60278d0
|
refactor(library): rename iff.mp' to iff.mpr
|
2015-07-18 08:52:58 -05:00 |
|
Leonardo de Moura
|
16f50d9aea
|
feat(library/data/list/basic): add list.is_inhabited
|
2015-07-17 06:52:43 -04:00 |
|
Haitao Zhang
|
9ba350098f
|
feat(library/data): add a few convenience lemmas
|
2015-07-15 17:44:37 -07: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
|
fae8176363
|
feat(library/data/list/comb): add map theorems
|
2015-07-13 22:02:17 -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
|
9f7c4aac69
|
feat(library): add helper lemmas for equivalent types
|
2015-07-06 12:17:57 -07:00 |
|
Leonardo de Moura
|
77d5657813
|
refactor(library/algebra/function): move function.lean to init folder
Motivation: this file defines basic things such as function composition.
In the HoTT library, it is located in the init folder.
|
2015-07-06 07:29:56 -07:00 |
|
Floris van Doorn
|
124c9d3d8a
|
feat(hott): various cleanup and fixes, rename \~ to ~, expand types.pointed
|
2015-06-25 22:31:40 -04:00 |
|
Leonardo de Moura
|
8967f57818
|
refactor(library/data/list): reduce reliance on definitional equality
|
2015-06-24 15:58:19 -07:00 |
|
Jeremy Avigad
|
a4a8253f50
|
refactor(library,hott,tests): rename succ_inj to succ.inj, add abbreviation eq_of_succ_eq_succ
|
2015-06-15 22:52:38 +10:00 |
|
Haitao Zhang
|
ef4b4d19ce
|
feat(library/data/list/basic): add cons related equalities
|
2015-06-14 16:59:56 -07:00 |
|
Haitao Zhang
|
798b240149
|
fix(library/data/list/comb): adjust dmap related names to comply with convention
|
2015-06-14 16:59:56 -07:00 |
|
Haitao Zhang
|
6105263222
|
feat(library/data/list/comb): add theorem on dmap and adjust names
|
2015-06-11 15:29:52 -07:00 |
|
Leonardo de Moura
|
1c5c79fbc1
|
refactor(library/data/list/perm): use improved 'obtain' to cleanup proof
|
2015-06-08 11:58:21 -07:00 |
|
Jeremy Avigad
|
f475408f4c
|
feat(library/data/list/*): add theorems from Haitao Zhang and clean up
|
2015-06-05 09:32:00 -07:00 |
|
Floris van Doorn
|
7f5caab694
|
feat(nat): redefine le and lt in the standard library
|
2015-06-04 20:14:13 -04:00 |
|
Leonardo de Moura
|
63f61a35f4
|
feat(library/data/list/set): cleanup nodup_map proof
|
2015-06-04 15:21:40 -07:00 |
|
Leonardo de Moura
|
9a7cff0e89
|
feat(library/data/list/comb): add length_product theorem
|
2015-06-04 15:11:09 -07:00 |
|
Jeremy Avigad
|
df69bb4cfc
|
feat(library/*): add theorems from Haitao on sets and functions, clean up
|
2015-06-04 11:55:25 -07:00 |
|
Leonardo de Moura
|
7a39d5aaa3
|
feat(library/data): add auxiliary definitions
|
2015-06-02 22:08:25 -07:00 |
|
Leonardo de Moura
|
5da4922397
|
feat(library/data/list/perm): cleanup proofs
refl and symm were refering to the setoid.refl and setoid.symm.
Moreover, they were producing harder elaboration problems
|
2015-05-27 12:30:56 -07:00 |
|
Leonardo de Moura
|
6db08c5519
|
test(library): test new tactics in the standard library
|
2015-05-25 16:48:33 -07:00 |
|
Leonardo de Moura
|
7e875c8d85
|
refactor(library): simplify theorems using improved tactics
|
2015-05-25 10:43:28 -07:00 |
|
Leonardo de Moura
|
3181471024
|
feat(library/data/list/basic): add nth_eq_some aux theorem
|
2015-05-24 10:10:23 -07:00 |
|
Jeremy Avigad
|
8bebd104ff
|
refactor(library/*): remove 'Module:' lines
|
2015-05-23 20:52:23 +10:00 |
|
Jeremy Avigad
|
59c1801921
|
refactor(library/data/{list,set,finset}/basic.lean): make subset reserved notation
|
2015-05-23 12:34:07 +10:00 |
|
Leonardo de Moura
|
19361f0196
|
feat(library/unifier): do not fire type class resolution as last resort when type contains metavariables
see discussion at #604
|
2015-05-18 15:45:23 -07:00 |
|
Jeremy Avigad
|
eae047bd31
|
refactor,feat(library/{data,algebra}): move bigops to algebra, define sums
|
2015-05-16 18:42:13 +10:00 |
|
Leonardo de Moura
|
f59a81d744
|
refactor(library/data): use new 'obtain' expression
|
2015-05-11 09:14:48 -07:00 |
|
Jeremy Avigad
|
efbca4c78e
|
feat(library/data/finset/finset.md): add markdown file
|
2015-05-11 09:03:56 -07:00 |
|
Jeremy Avigad
|
9d73aa657b
|
feat(library/data/{finset,list}/comb.lean): add 'any' for finsets
|
2015-05-11 09:03:56 -07:00 |
|
Jeremy Avigad
|
624b664950
|
refactor(library/data/list/basic.lean): make minor renaming
|
2015-05-08 20:25:28 +10:00 |
|
Jeremy Avigad
|
75e50fd371
|
feat(library/data): update defaults and markdown files
|
2015-05-08 20:23:15 +10:00 |
|
Jeremy Avigad
|
6fce01385c
|
feat(library/data/{finset,list}/bigop.lean: generalize bigops from group to monoid
|
2015-05-08 19:51:37 +10:00 |
|
Jeremy Avigad
|
42f2fc973a
|
refactor(library/data/{finset,list,fintype}: rename cross_product to product
|
2015-05-08 19:51:37 +10:00 |
|
Jeremy Avigad
|
9e26dddaf3
|
feat(library/data/list/perm): add perm_filter
|
2015-05-08 19:51:37 +10:00 |
|
Jeremy Avigad
|
86a039b6d5
|
feat(library/data/list/set.lean): add two theorems
|
2015-05-08 19:51:37 +10:00 |
|
Leonardo de Moura
|
84deddcca9
|
feat(library/tactic/rewrite_tactic): apply 'reflexivity' tactic after 'rewrite' instead of hard coded solution
|
2015-05-05 20:23:49 -07:00 |
|
Leonardo de Moura
|
11f74363e2
|
refactor(library): rename 'intersection' to 'inter' in list and finset, add finset abbreviation at top level
|
2015-05-05 08:53:31 -07:00 |
|
Leonardo de Moura
|
cd17618f4a
|
refactor(library): replace 'calc_trans', 'calc_symm', 'calc_refl' and 'calc_subst' commands with attributes '[symm]', '[refl]', '[trans]' and '[subst]'
These attributes are used by the calc command.
They will also be used by tactics such as 'reflexivity', 'symmetry' and
'transitivity'.
See issue #500
|
2015-05-02 15:15:35 -07:00 |
|
Leonardo de Moura
|
e8affed020
|
refactor(library): test new tactics in the standard library
|
2015-05-01 18:18:29 -07:00 |
|
Leonardo de Moura
|
de369a0a0a
|
feat(library/tactic/injection_tactic): improve 'injection' tactic
see issue #500
|
2015-05-01 15:49:56 -07:00 |
|
Leonardo de Moura
|
9ba8b284a1
|
fix(library/tactic/apply_tactic): add eapply, and fix issue #361
|
2015-05-01 15:08:00 -07:00 |
|
Leonardo de Moura
|
e948dd239c
|
feat(library/data/list/perm): use new 'injection' tactic
|
2015-05-01 13:08:36 -07:00 |
|
Leonardo de Moura
|
59b11c815c
|
refactor(library/data/list/perm): remove unnessary lambda abstractions
The contradiction tactic takes care of it.
|
2015-04-30 14:02:19 -07:00 |
|
Leonardo de Moura
|
9760968b45
|
refactor(library,hott): use/test new 'contradiction' tactic in the standard and hott libraries
|
2015-04-30 13:56:12 -07:00 |
|
Leonardo de Moura
|
3912bc24c8
|
feat(frontends/lean): nicer syntax for 'intros' 'reverts' and 'clears'
|
2015-04-30 11:00:39 -07:00 |
|
Leonardo de Moura
|
018f768555
|
chore(library): remove some unnecessary parentheses
|
2015-04-29 14:39:59 -07:00 |
|