Commit graph

440 commits

Author SHA1 Message Date
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
7aa0e466a5 test(library): test new 'obtain' expression in the standard library 2015-05-05 18:30:16 -07:00
Leonardo de Moura
616f49c2e4 feat(frontends/lean): improved 'obtains' expression 2015-05-05 18:30:16 -07:00
Jeremy Avigad
f7a610faa3 feat(library/data/set/basic,function): mark set reducible, and add theorem from Haitao Zhang 2015-05-05 08:55:58 -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
a46abbb9ce refactor(library/data): test new tactics in the standard library 2015-05-03 21:40:33 -07:00
Leonardo de Moura
3cd8f38b8d feat(library/data/string): prove that string and char have decidable equality 2015-05-03 21:08:09 -07:00
Leonardo de Moura
4e1146a2d5 refactor(hott,library): test new tactics in the HoTT and standard libraries 2015-05-02 22:22: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
Leonardo de Moura
17c07cdb02 feat(library/data/rat/order): define abs and sign for rat before migrate 2015-04-27 12:59:02 -07:00
Jeremy Avigad
7a1064b7e8 refactor(library/algebra/order.lean): rename a field in an order structure 2015-04-27 12:03:41 -07:00
Jeremy Avigad
d8e40d90d6 feat(library/data/rat/order.lean): make rat a linear ordered field 2015-04-27 12:03:41 -07:00
Leonardo de Moura
76c773ad3d feat(library/data/examples/depchoice): add dependent choice example 2015-04-26 12:56:23 -07:00
Leonardo de Moura
072bf0b3b4 refactor(library): make sure "choose" compute inside the kernel 2015-04-25 23:10:48 -07:00
Leonardo de Moura
d455bb4c5b feat(library/data/fintype): add decidable_exists_finite 2015-04-25 21:38:03 -07:00
Leonardo de Moura
6bb6644c25 feat(library/data/squash): define squash type using quotients 2015-04-24 18:11:25 -07:00
Floris van Doorn
9d805437f0 fix(reserved_notation): lower binding power of 'iff' 2015-04-22 13:06:11 -07:00
Leonardo de Moura
670eac9d50 refactor(library): avoid 'context' command in the standard library 2015-04-21 19:13:19 -07:00
Leonardo de Moura
bf8a7eb9b4 fix(library/scoped_ext): bug in local metadata in sections
The problem is described in issue #554
2015-04-21 18:56:28 -07:00
Leonardo de Moura
306087b5d3 refactor(library/data): rename 'countable' to 'encodable', define countable in the usual way, and prove all 'encodable' type is 'countable' 2015-04-19 14:20:47 -07:00
Jeremy Avigad
f4398115b4 feat(library/data/rat/basic.lean): begin theory of rationals, show rat is a field 2015-04-18 11:39:52 -07:00
Jeremy Avigad
5eb7fef564 feat(library/algebra/order.lean, data/int/{basic,order}.lean): add theorem, correct gt_trans 2015-04-18 11:39:52 -07:00
Leonardo de Moura
cc63a40a01 feat(library): enforce name conventions on old nat declarations 2015-04-18 10:50:30 -07:00
Leonardo de Moura
3b84a63874 fix(library/algebra/function): terminology 2015-04-16 20:52:18 -07:00
Leonardo de Moura
2e675c1bdd feat(library/data/examples/notcountable): add example showing that nat -> nat is not countable 2015-04-16 14:54:34 -07:00
Leonardo de Moura
7529ee0a5c feat(library/data/countable): prove axiom of choice and skolem theorem for countable types and decidable relations 2015-04-16 12:36:27 -07:00
Leonardo de Moura
0dd7667836 feat(library/data/countable): choice function for countable types 2015-04-16 12:29:06 -07:00
Leonardo de Moura
7a4f43d6ab feat(library/data/nat/choose): choice function for natural numbers 2015-04-16 11:33:26 -07:00
Leonardo de Moura
b14d3dbeba chore(library/data/countable): add copyright notice 2015-04-16 09:24:53 -07:00
Leonardo de Moura
036900280d feat(library/data/countable): show that a type is countable by providing an injection to a type already known to be countable 2015-04-15 10:30:24 -07:00
Leonardo de Moura
039f1de524 fix(library/data/countable): typos 2015-04-14 21:26:56 -07:00
Leonardo de Moura
9534cfe92f feat(library/data/countable): prove that (list A) is countable if A is countable 2015-04-14 21:17:18 -07:00
Leonardo de Moura
a7db8a2bac theorem(library/data/countable): prove that the product of two countable types is countable 2015-04-14 20:39:58 -07:00
Leonardo de Moura
38b880b939 feat(library/data/nat/pairing): add unpair_mkpair theorem 2015-04-14 20:28:20 -07:00
Leonardo de Moura
f7a43c7997 feat(library/data/nat/sqrt): generalize sqrt_eq theorem 2015-04-14 20:10:18 -07:00
Leonardo de Moura
faca0acd26 feat(library/data/nat/sqrt): add sqrt_eq theorem 2015-04-14 15:38:54 -07:00
Leonardo de Moura
11dbcda9d2 feat(library/data/nat/pairing): add "elegant" pairing/unpairing function 2015-04-14 09:01:15 -07:00
Leonardo de Moura
2eb7538c96 fix(library/data/nat/sqrt): adjust to reflect recent changes 2015-04-14 09:01:15 -07:00
Leonardo de Moura
4180b80df6 feat(library/data/nat/power): define power and add basic theorems 2015-04-14 09:01:15 -07:00
Leonardo de Moura
ff72a520ff feat(library/data/nat/div): add mul_cancel theorems 2015-04-14 09:01:15 -07:00
Leonardo de Moura
c73c1dbb63 feat(library/data/nat/sub): add two extra theorems 2015-04-14 09:01:15 -07:00
Leonardo de Moura
11c9bb4626 feat(library/data/nat): naive square root function 2015-04-14 09:01:15 -07:00
Leonardo de Moura
2453a6ab45 feat(library/data/countable): define countable type class 2015-04-14 09:01:15 -07:00
Leonardo de Moura
82eada7d56 feat(library/data/list/basic): add find nth theorem 2015-04-14 09:01:15 -07:00
Leonardo de Moura
07e195e9f1 feat(library/data/fintype): add decidable_finite_pred instance 2015-04-12 20:07:04 -07:00
Leonardo de Moura
00d68cadc8 refactor(library/data/fintype): cleanup and mark location that exposes bug in the 'cases' tactic 2015-04-12 17:52:41 -07:00
Leonardo de Moura
f523d3a995 feat(library/data): add structure for converting a list of elements into a type, and then show the resultant type is a finite type 2015-04-12 17:33:58 -07:00
Leonardo de Moura
d9f8b0f3d7 feat(library/data/finset/comb): add cross_product to finset 2015-04-11 19:46:04 -07:00
Leonardo de Moura
4c827293a8 feat(library/data/list/perm): add perm_cross_product theorem 2015-04-11 19:13:34 -07:00
Leonardo de Moura
41ddc97e0d feat(library/data/list): define filter function for lists 2015-04-11 18:22:22 -07:00
Leonardo de Moura
c437fbe0bc feat(library/data/fintype): prove that A->B has decidable equality when A is a finite type and B has decidable equality 2015-04-11 16:45:27 -07:00
Leonardo de Moura
3edf0dffdf feat(library/data/finset): define subset for finsets 2015-04-11 15:29:12 -07:00
Leonardo de Moura
dfef4c5daf feat(library/data): define fintype type class 2015-04-11 14:55:41 -07:00
Leonardo de Moura
06d4ae971d feat(library/data/list): add nodup_cross_product theorem 2015-04-11 14:31:01 -07:00
Leonardo de Moura
54a2d9750e refactor(library/data): simplify definition of disjoint 2015-04-11 14:04:09 -07:00
Leonardo de Moura
ee895e00dd feat(library/data/list): define cross_product for lists 2015-04-11 13:52:50 -07:00
Leonardo de Moura
fefddcd0f9 fix(library/data/list/perm): broken theorem 2015-04-11 09:42:24 -07:00
Leonardo de Moura
1b34f40f36 feat(library/data/list/set): add decidable_nodup 2015-04-11 09:39:26 -07:00
Leonardo de Moura
dff05557a3 feat(library/data/finset): add all combinator theorems 2015-04-11 09:28:27 -07:00
Leonardo de Moura
5304c5afb8 feat(library/data/list/set): add 'all' theorems 2015-04-11 09:28:05 -07:00
Leonardo de Moura
32b07c4561 feat(library/data/finset): define map for finset 2015-04-10 17:14:10 -07:00
Leonardo de Moura
a24c0bf1db feat(library/data/finset): define intersection for finsets 2015-04-10 16:45:25 -07:00
Leonardo de Moura
49d6d43926 feat(library/data/list): define intersection for lists 2015-04-10 16:31:44 -07:00
Leonardo de Moura
d59c671054 feat(library/data/list/comb): define upto list generator 2015-04-10 15:32:44 -07:00
Leonardo de Moura
9d8b5aa347 feat(library/data/list/comb): add any/all theorems 2015-04-10 07:01:14 -07:00
Leonardo de Moura
5caa983919 feat(library/data/finset): redefine bigop for finset 2015-04-10 06:13:32 -07:00
Leonardo de Moura
53f730ec82 feat(library/data/list/bigop): add bigop perm theorem 2015-04-10 06:01:23 -07:00
Leonardo de Moura
608e2838bf feat(library/data/list): define bigop for lists 2015-04-10 05:52:19 -07:00
Leonardo de Moura
4be8741a39 feat(library/data/list): break list/basic.lean into smaller files 2015-04-10 05:19:52 -07:00
Leonardo de Moura
a223b9b1f7 feat(library/data/finset): add bigop for finset + commutative groups 2015-04-09 20:00:00 -07:00
Leonardo de Moura
795acc70a6 refactor(library/data/finset): move finset to its own directory 2015-04-09 19:30:09 -07:00
Leonardo de Moura
ca377e5f8b feat(library/data/list/basic): add foldr/foldl theorems 2015-04-09 18:48:04 -07:00
Leonardo de Moura
b209f442f7 refactor(library/data/list) fix theorem name, and do not rely on implementation of mem 2015-04-09 16:27:48 -07:00
Leonardo de Moura
2ab2f7dc9d feat(library/data/finset): add basic support for finite sets 2015-04-09 15:51:23 -07:00
Leonardo de Moura
571ff76080 feat(library/data/list/perm): add perm_ext theorem 2015-04-09 15:27:32 -07:00
Leonardo de Moura
64173ddf93 feat(library/data/list/basic): more nodup theorems 2015-04-09 14:50:00 -07:00
Leonardo de Moura
b4611ba33d feat(library/data/list/basic): add mem erase theorems 2015-04-09 13:19:51 -07:00
Leonardo de Moura
d5176ebae5 refactor(library/algebra/binary): define right_commutative and left_commutative 2015-04-09 10:54:28 -07:00
Leonardo de Moura
8522fbec4b feat(library/data/list): more general theorems for perm foldl and foldr, and other minor improvements 2015-04-09 09:29:58 -07:00
Leonardo de Moura
07ff0900aa feat(library/data/list): add permutation theorems for union and insert 2015-04-08 19:02:35 -07:00
Leonardo de Moura
33422a387a feat(library/data/list/basic): define 'union' and 'insert' for lists 2015-04-08 18:12:51 -07:00
Leonardo de Moura
c95bd8ba61 feat(library/data/list): add erase_dup and theorems 2015-04-08 12:28:48 -07:00
Leonardo de Moura
05bd6b5fe7 feat(library/data/list): add foldr/foldl equality theorems for permutations 2015-04-08 10:36:05 -07:00
Jeremy Avigad
eb5089bf27 feat(library/data/set): add theory of functions and maps between sets 2015-04-08 09:46:34 -07:00
Jeremy Avigad
5812b35d93 feat(library/data/set/function.lean): begin theory of functions on sets 2015-04-08 09:46:34 -07:00
Leonardo de Moura
afc75f141c refactor(library/data/list/perm): prove auxiliary theorems using 'match-with' 2015-04-08 09:43:17 -07:00
Leonardo de Moura
56d20852aa refactor(library/data/list/perm): remove dead code 2015-04-08 09:32:28 -07:00
Leonardo de Moura
ef1b057b63 refactor(library/data/list/perm): cleanup theorem 2015-04-08 09:29:40 -07:00
Leonardo de Moura
e0e65705db feat(library/data/list/perm): add perm inversion theorems 2015-04-07 18:54:02 -07:00
Leonardo de Moura
c6a35e718d refactor(library/data/list/perm): use by_cases instead of dependent-if 2015-04-07 09:26:24 -07:00
Leonardo de Moura
9306830d8c feat(library/data/list): perm is decidable 2015-04-07 09:12:10 -07:00
Leonardo de Moura
754276a660 feat(frontends/lean): round parenthesis for [tactic1 | tactic2]
This commit also replaces the notation for divides
     `(` a `|` b `)`
with
      a `∣` b

The character `∣` is entered by typing \|

closes #516
2015-04-06 09:24:09 -07:00