Leonardo de Moura
10e5b182b5
refactor(library/data): use "suppose"-expressions to cleanup proofs
2015-07-20 19:45:54 -07:00
Leonardo de Moura
8ad6312764
feat(library/hlist): add helper eq.rec lemmas
2015-07-20 14:56:50 -07:00
Leonardo de Moura
0a8bab14ee
feat(library/data/vector): add helper lemmas for proving v == w when v and w are vectors
2015-07-20 11:59:03 -07:00
Leonardo de Moura
48f8b8f18d
refactor(library): use new 'suppose'-expression
2015-07-19 21:15:20 -07:00
Leonardo de Moura
c2fc612ec1
fix(library/data/nat/order): add missing theorems back
2015-07-19 20:21:25 -07:00
Leonardo de Moura
6936d71030
feat(library/data/list/basic): add 'firstn' definition and theorems
2015-07-19 20:15:40 -07:00
Leonardo de Moura
d2f64d7744
feat(library/data/nat/order): add 'max/min' auxiliary theorems
2015-07-19 20:15:11 -07:00
Leonardo de Moura
d91627ebec
refactor(library): move 'max/min' to 'data/nat'
2015-07-19 19:47:14 -07:00
Leonardo de Moura
01169ca2a8
feat(library/data/hlist): add heterogeneous lists
2015-07-19 14:33:15 -07:00
Leonardo de Moura
73f665dce3
refactor(library/data/list/perm): use anonymous 'suppose' and 'have' expressions
2015-07-19 12:35:12 -07:00
Leonardo de Moura
812ddf1ef5
feat(frontends/lean): add 'suppose'-expression
...
It is a variant of 'assume' that allow anonymous declarations.
2015-07-19 12:15:12 -07:00
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
Leonardo de Moura
9d83361fdc
refactor(library): use subtype instead of sigma
2015-07-16 22:48:33 -04:00
Leonardo de Moura
d70c79f4e3
refactor(library/data/fin,library/theories/group_theory/cyclic): fixes #735
2015-07-16 19:39:12 -04:00
Haitao Zhang
ca895e4901
fix(library/data/finset/partition): improve lemmas on binary partition
2015-07-16 14:13:06 -07:00
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
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
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
ebe6ec0017
feat(library): add '[rewrite]' annotation some some theorems
2015-07-13 16:39:53 -04:00
Leonardo de Moura
ea62a27b6b
feat(library/data/stream): define lex-order for streams
2015-07-12 16:55:04 -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
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
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
4b1b3e277f
feat(frontends/lean): rename '[unfold-c]' to '[unfold]' and '[unfold-f]' to '[unfold-full]'
...
see issue #693
2015-07-07 16:37:06 -07:00
Leonardo de Moura
0828ca775c
feat(library/data): add type equivalence lemmas for subtype and vector
2015-07-06 12:44:51 -07:00
Leonardo de Moura
9f7c4aac69
feat(library): add helper lemmas for equivalent types
2015-07-06 12:17:57 -07:00
Leonardo de Moura
01ba0b4747
feat(library/logic/equiv): add equivalence between types
...
This is a good test for the simplifier
2015-07-06 11:17:03 -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
Leonardo de Moura
9ccd8ff700
feat(library/data/nat/parity): cleanup proofs
2015-07-05 09:35:15 -07:00
François G. Dorais
10b55bd785
feat(library/data/fin): add proof of finite choice
2015-07-04 09:58:18 -07:00
Leonardo de Moura
f4f77e7f0b
feat(library): move data/nat/primes to theories/number_theory
2015-07-04 09:49:14 -07:00
Leonardo de Moura
aee8bd8b0c
feat(library/data/nat): add coprime_primes theorem
2015-07-04 00:37:09 -07:00
Leonardo de Moura
e630511184
feat(library/data/nat/primes): add more simple theorems for primes
2015-07-03 23:31:04 -07:00
Leonardo de Moura
30ef971bc0
feat(library/data/nat): add basic facts about parity
2015-07-03 17:38:23 -07:00
Leonardo de Moura
1bdc9e0747
feat(library/data/finset/card): add dvd_Sum_of_dvd
2015-07-03 14:01:15 -07:00
Leonardo de Moura
339a7334f8
feat(library/data/finset/card): add exists_two_of_card_gt_one
2015-07-03 14:01:15 -07:00
Leonardo de Moura
aa2a5b6282
feat(library/data/nat/primes): add infinite primes theorem
2015-07-03 00:31:54 -07:00
Leonardo de Moura
372d17ab96
refactor(library/data/nat/primes): rename is_prime to prime
2015-07-02 23:21:10 -07:00
Leonardo de Moura
d76edf331b
feat(library/data/nat/bquant): add not bex and not ball lemmas
2015-07-02 23:18:02 -07:00
Leonardo de Moura
e811bb1a66
chore(library/data/nat/default): add new files to nat/default
2015-07-02 22:28:51 -07:00
Leonardo de Moura
5917a26554
feat(library/data/nat/primes): add is_prime
2015-07-02 22:27:51 -07:00
Leonardo de Moura
072fa7ec49
feat(library/data/nat): add aux lemmas
2015-07-02 22:27:21 -07:00
Leonardo de Moura
e33946ff02
feat(library/data/nat/fact): define factorial
2015-07-02 20:25:34 -07:00
Leonardo de Moura
4ae9f3ea81
feat(library/coercion): new coercion manager
...
closes #668
2015-07-01 16:32:34 -07:00
Leonardo de Moura
0f64a6e545
feat(library/data/rat/order): use 'trans-instance' to improve performance of migrate command
2015-07-01 08:57:10 -07:00
Leonardo de Moura
cf574d0127
feat(library): assign priorities to notation declarations in the standard library
...
Now, even if the user opens the namespaces in the "wrong" order, the
notation + coercions will behave as expected.
2015-06-30 17:38:13 -07:00
Leonardo de Moura
b5444c1314
refactor(frontends/lean/builtin_cmds): allow "constant" edges in the instance transitive closure graph
2015-06-29 18:57:05 -07:00
Jeremy Avigad
e6ce5d9b72
refactor(library/data/fin): put fin.val coercion in fin namespace
2015-06-29 21:24:38 +10:00
Jeremy Avigad
a54fb42f87
refactor(library/data/int/basic): put int.of_nat coercion in int namespace
2015-06-29 21:00:42 +10:00
Jeremy Avigad
130eb3f6d9
fix(library/data/int/basic): change notation from -[n+1] to -[1+n] to avoid conflict e.g. with -[coercions]
2015-06-29 15:23:11 +10:00
Jeremy Avigad
b19331f28f
feat(library/data/nat/order): add theorems for max and min
2015-06-29 15:23:11 +10:00
Jeremy Avigad
1a164d8fc9
feat(library/algebra/ordered_group): add theorems for max and min
2015-06-29 15:23:11 +10:00
Jeremy Avigad
70e551c6d6
feat(library/algebra/order,library/data/nat/order,library/*): instantiate nat to lattice, add theorems
2015-06-29 15:23:11 +10:00
Jeremy Avigad
93e5124d71
feat(library/algebra/order): add lattices, min, max
2015-06-29 15:23:11 +10:00
Leonardo de Moura
3cd81051c6
refactor(library/data/real/division): remove unnecessary 'xrewrite'
2015-06-27 14:07:32 -07:00
Jeremy Avigad
f8d8a2aed6
feat(library/data/nat/div): add characterization of mod
2015-06-27 18:51:44 +10:00
Jeremy Avigad
829c3fb22c
refactor(library/data/int/div): reorient of_nat_div and of_nat_mod
2015-06-27 18:47:36 +10:00
Jeremy Avigad
7c118f40fe
feat(library/data/nat/sub): add calculation facts for sub
2015-06-27 18:41:57 +10:00
Leonardo de Moura
a2cbf3dbca
refactor(library/data/fin): adjust proofs to support new approach for projections
2015-06-26 17:18:29 -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
d2e64d30e8
refactor(library/data/quotient): make proofs more robust
2015-06-25 17:48:58 -07:00
Jeremy Avigad
a0461262d0
feat(library/data/real/*.lean): migrate theorems from algebra
2015-06-25 17:30:12 -07:00
Rob Lewis
4161b9ccbf
feat(library/data/real): rearrange constant sequence theorems to introduce rat coercion earlier. begin migrating theorems from algebra
2015-06-25 17:30:12 -07:00
Rob Lewis
afcf785f03
chore(library/data): update data.md
2015-06-25 17:30:12 -07:00
Leonardo de Moura
8967f57818
refactor(library/data/list): reduce reliance on definitional equality
2015-06-24 15:58:19 -07:00
Jeremy Avigad
7d204fdd91
refactor(library/data/finset/card.lean): add useful facts, shorter proof of eq_card_of_eq_subset
2015-06-20 21:13:00 -07:00
Leonardo de Moura
ee0d919c6f
feat(library/data/finset/card): add eq_of_card_eq_of_subset theorem
2015-06-19 20:05:32 -07:00
Leonardo de Moura
2910c780d0
feat(library/data/finset/basic): add auxiliary card lemma
2015-06-19 20:05:32 -07:00
Leonardo de Moura
4246a64913
feat(library/data/finset/basic): add more theorems for finset erase
2015-06-19 20:05:32 -07:00
Leonardo de Moura
70fc05294b
refactor(library/local_context): avoid hack in local_context
2015-06-18 15:41:00 -07:00
Leonardo de Moura
d12b5613c6
feat(library/data/set): show that (set A) is a comm_semiring
2015-06-17 09:53:50 -07:00
Haitao Zhang
1aff1f7cde
fix(library/data/fintype/function): make inj_of_nodup and nodup_of_inj more general
2015-06-16 19:17:53 -07:00
Haitao Zhang
8817042318
feat(library/data/fin) : establish add_comm_group on fin using madd
2015-06-16 16:38:47 -07:00
Leonardo de Moura
d43e0891ae
fix(library/init/logic): make sure library can be compiled using '--to_axiom' option
2015-06-16 13:10:08 -07:00
Rob Lewis
a72ca936c0
chore(library/real): replace theorems with versions from algebra
2015-06-16 11:30:12 -07:00
Rob Lewis
b94d0a948d
chore(library/data/real): replace theorems with more general versions from algebra
2015-06-16 11:30:12 -07:00
Rob Lewis
8d0518444d
chore(library/data/{pnat, real}): rename pnat theorems
2015-06-16 11:30:12 -07:00
Rob Lewis
ff0ba6687e
feat(library/algebra/ordered_field): move identity about abs to ordered_field
2015-06-16 11:30:12 -07:00
Rob Lewis
090f00458d
chore(library/data/real): remove redundant theorems
2015-06-16 11:30:12 -07:00
Rob Lewis
34868d196e
feat(library/data/rat): define pos natural upper bounds of rationals
2015-06-16 11:30:12 -07:00
Rob Lewis
1f4765e30a
feat(library/algebra/ordered_ring): add theorems used for rational upper bounds
2015-06-16 11:30:12 -07:00
Rob Lewis
cf7c85e5fd
feat(library/data/real): fill in lots of sorrys about pnats
2015-06-16 11:30:12 -07:00
Rob Lewis
a79ec6b0d4
feat(library/data/pnat): move facts about positive nats to their own file
2015-06-16 11:30:12 -07:00