Rob Lewis
2e921dd533
fix(algebra): generalize theorem
2017-03-22 07:34:01 -07:00
Simon Hudon
b6889e91fe
feat(lib/init/data/nat): add function pow and a Galois connection between div and mul
2017-03-12 09:38:19 -07:00
Leonardo de Moura
9d3c0497cb
chore(frontends/lean): rename transient commands
...
See issue #1432
2017-03-09 18:41:19 -08:00
Leonardo de Moura
c58f61e925
feat(frontends/lean/elaborator): new encoding for structure updates {s with ...}
...
See discussion at #1438
https://github.com/leanprover/lean/pull/1438#discussion_r105007325
@digama0 With this commit, the original `array_list.write` will also
perform a destructive update when the reference counter for `l` is 1.
```lean def write {α} (l : array_list α) : fin l^.length → α → array_list α :=
λ ⟨n, h⟩ v, { l with data := l^.data^.write ⟨n, l^.lt_capacity h⟩ h v }
```
2017-03-09 00:11:51 -08:00
Johannes Hölzl
4c88e2c5b0
feat(library/init/data/int): use relators for proof of int is a ring
2017-03-07 19:30:51 -08:00
Leonardo de Moura
59c0cbd2e4
chore(library): test new '^.' notation in the standard library, and cleanup definitions using it
2017-03-05 21:21:50 -08:00
Leonardo de Moura
19cf5e916b
chore(script/gen_constants_cpp): generates a warning if automatically generated C++ function is not used in the source code
2017-02-21 12:05:41 -08:00
Leonardo de Moura
0a99910c52
feat(library/init/meta): add exception set to rsimp attributes, use iff lemmas
2017-02-18 19:43:21 -08:00
Sebastian Ullrich
d15591a2d8
feat(library,frontends/lean): expose parser to Lean and use for parsing tactic parameters
2017-02-17 13:45:56 +01:00
Rob Lewis
46a46c9ee0
feat(norm_num): handle nat subtraction as a special case
2017-02-12 17:15:08 -08:00
Leonardo de Moura
32e6442d0a
feat(frontends/lean): no global universes in the frontend
2017-02-08 17:23:04 -08:00
Leonardo de Moura
8ef21040d6
chore(library/init/algebra/order): remove leftover
2017-01-22 21:31:04 -08:00
Leonardo de Moura
71a7a7f466
feat(frontends/lean): add default field values
2017-01-22 21:25:49 -08:00
Gabriel Ebner
03e09db70e
refactor(library/data/bitvec,library/data/tuple): use automation
2017-01-21 09:48:35 +01:00
Leonardo de Moura
0795acaf6a
refactor(library/init/algebra): new transport from multiplicative to additive
...
The motivation is to avoid the problems produced by the "declare as
structure and then tag as class idiom" described in the file ring.lean.
2017-01-18 19:39:53 -08:00
Leonardo de Moura
04fb7b88e7
feat(library/init/algebra): mark basic facts as [ematch] until we have support for arithmetic
2017-01-13 10:36:08 -08:00
Leonardo de Moura
fa4d47edd8
chore(library/init/algebra/ring): document messy problem in the algebraic hierarchy
2017-01-08 23:35:39 -08:00
Leonardo de Moura
5d825483c4
refactor(library/init/meta/interactive): tactic.interactive.types ==> interactive.types
...
Motivation: we will use auto-quotation for other tactic monads
2016-12-30 18:06:41 -08:00
Leonardo de Moura
aa23ba8714
chore(library/init/algebra): remove unnecessary generality
...
We can add it back if we find a compelling use case.
2016-12-27 17:40:34 -08:00
Leonardo de Moura
8fcfe0bbd4
feat(library/init/algebra/ac): add helper classes for AC
2016-12-27 16:54:00 -08:00
Leonardo de Moura
ca2095f2dd
feat(library/init/algebra): add discrete_linear_ordered_field
2016-12-17 21:18:59 -08:00
Leonardo de Moura
37209d45a5
feat(library/init/algebra/norm_num): add missing norm_num lemmas
2016-12-17 20:20:55 -08:00
Leonardo de Moura
c99f25dbf5
feat(library/init/algebra/ordered_ring): add linear_ordered_comm_ring
2016-12-17 19:48:21 -08:00
Leonardo de Moura
303696e693
feat(library/init/algebra): add ordered_field
2016-12-17 19:34:10 -08:00
Leonardo de Moura
97fe22b20e
feat(library/init/algebra/ordered_ring): ordered semiring/ring lemmas
2016-12-17 17:49:25 -08:00
Leonardo de Moura
060a554db1
feat(library/tactic): add norm_num_tactic
2016-12-17 16:48:40 -08:00
Leonardo de Moura
b84d5811d1
feat(library/init/algebra): add missing min/max/abs lemmas
2016-12-17 15:22:12 -08:00
Leonardo de Moura
1726d37d4e
fix(library/algebra/order): decidable_linear_order
...
Add fields for decidable_eq and decidable_le.
We need this because a concrete instance may have its own
implementation that is not definitionally equal to
the old ones defined at library/algebra/order.lean.
Without this change, types such as nat and int would
have multiple definitions for decidable_eq and decidable_le
which are not definitionally equal.
2016-12-17 14:01:43 -08:00
Leonardo de Moura
626f8db389
feat(library/init/algebra/functions): define min/max/abs
2016-12-17 13:17:55 -08:00
Leonardo de Moura
1320c16e3d
chore(library/init/algebra/field): avoid '.'
2016-12-17 11:02:18 -08:00
Leonardo de Moura
a0ad8a678a
feat(library/init/algebra/norm_num): add missing lemmas for norm_num tactic
2016-12-16 12:15:40 -08:00
Leonardo de Moura
816c315b50
feat(library/init/algebra): add field
2016-12-16 12:02:30 -08:00
Jeremy Avigad
6f64244f2a
refactor(library/init/meta/tactic): switch 'pose' and 'note'
2016-12-08 13:17:42 -08:00
Leonardo de Moura
b9de2fda0c
chore(library/init/algebra/order): remove unnecessary *.refl lemmas
2016-12-08 07:32:25 -08:00
Leonardo de Moura
023f216cab
chore(init/algebra/order): use new attribute syntax
2016-12-08 07:22:58 -08:00
Jeremy Avigad
16b239cbff
feat(library/init/algebra/order): add refl and trans attribute and dot notation
2016-12-08 07:20:22 -08:00
Jeremy Avigad
acb58e8a87
feat(library/init/algebra/group,ring): alternative names for calculation lemmas
2016-12-08 07:19:41 -08:00
Leonardo de Moura
e423588463
refactor(library/init): merge some files
2016-12-02 16:13:45 -08:00
Leonardo de Moura
fb38b6e016
refactor(library/init): move combinator logic to core
2016-12-02 15:56:52 -08:00
Leonardo de Moura
00f5a807af
refactor(library/init): create init.category folder
2016-12-02 15:52:49 -08:00
Leonardo de Moura
af6ee4ad9d
refactor(library/init): move algebra to its own folder
2016-12-02 11:24:43 -08:00