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
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
Leonardo de Moura
4ec0e1b07c
feat(frontends/lean): improve calc mode
...
Now, it automatically supports transitivity of the form
(R a b) -> (b = c) -> R a c
(a = b) -> (R b c) -> R a c
closes #507
2015-04-04 08:58:35 -07:00
Leonardo de Moura
5b9d52c0dd
refactor(library/data/int/order): cleanup
2015-03-28 12:58:40 -07:00
Jeremy Avigad
765f6f21f8
fix(library/algebra/ring.lean): allow degenerate semirings and rings, but not degenerate ordered_semirings and ordered_rings. Closes #478 .
2015-03-25 18:29:06 -07:00
Jeremy Avigad
ec05e83a2a
feat(library/data/int/div.lean): add theorems about div
2015-03-12 20:54:49 -07:00
Leonardo de Moura
df13588b93
chore(library/data): remove unnecessary parentheses
2015-03-01 14:18:36 -08:00
Leonardo de Moura
68110faa4d
feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations
2015-02-25 17:00:10 -08:00
Leonardo de Moura
5ca52d81ec
feat(frontends/lean): ML-like notation for match and recursive equations
2015-02-25 16:20:44 -08:00
Leonardo de Moura
3c24461e51
refactor(*): modify '|' binding power, use 'abs a' instead of '|a|', and '(a | b)' instead of 'a | b'
2015-02-25 15:18:21 -08:00
Leonardo de Moura
c04c610b7b
feat(frontends/lean): add 'assert H : A, ...' as notation for 'have H [visible] : A, ...'
2015-02-25 14:30:42 -08:00
Jeremy Avigad
e555531eb6
feat(library/data/int/div): start on div for integers
2015-02-25 14:05:07 -08:00
Jeremy Avigad
7a57908d62
feat/refactor(library/data/int): revise and add theorems
2015-02-25 14:05:07 -08:00
Jeremy Avigad
a607e7dd57
feat(library/algebra/group): add rules for sub equalities
2015-02-25 14:05:06 -08:00
Leonardo de Moura
909ebfc5f1
feat(frontends/lean/elaborator): try coercions after each overload
...
We try only the easy cases since the more general case is too expensive.
closes #444
2015-02-24 17:41:20 -08:00
Leonardo de Moura
1cd44e894b
feat(library/tactic/class_instance_synth): conservative class-instance resolution: expand only definitions marked as reducible
...
closes #442
2015-02-24 16:12:35 -08:00
Leonardo de Moura
a35cce38b3
feat(frontends/lean): new semantics for "protected" declarations
...
closes #426
2015-02-11 14:09:25 -08:00
Jeremy Avigad
d48a332876
refactor(library/data/prod): move specialized theorems to quotient
2015-02-01 11:17:45 -08:00
Jeremy Avigad
e5c25ff7a3
refactor(library/data/nat,int): use nicer definitions of structure instances
2015-02-01 11:17:45 -08:00
Jeremy Avigad
8d5a7a96b6
feat(library/data/nat/div): revise theorems, add lcm
2015-01-31 21:52:35 -08:00
Jeremy Avigad
928fc3ab81
feat(library/algebra/order,library/data/{nat,int}/order): make gt, ge reducible, add transitivity rules
2015-01-26 20:38:21 -05:00
Jeremy Avigad
0c04c7b0d2
fix(library/data/nat,int): make structure instances reducible
2015-01-26 20:38:21 -05:00
Jeremy Avigad
85ef7c5151
refactor(library/algebra/group): rename neg_add_distrib to neg_add, etc.
2015-01-26 20:38:21 -05:00
Leonardo de Moura
e2c41fca75
feat(frontends/lean): modify syntax for local notation
...
The idea is to make it uniform with the syntax for defining local
attributes.
2015-01-26 11:51:17 -08:00
Leonardo de Moura
b4d6f6e3ed
feat(frontends/lean): 'attribute' command is persistent by default
2015-01-26 11:51:17 -08:00
Leonardo de Moura
4f2e0c6d7f
refactor(frontends/lean): add 'attribute' command
...
The new command provides a uniform way to set declaration attributes.
It replaces the commands: class, instance, coercion, multiple_instances,
reducible, irreducible
2015-01-24 20:23:21 -08:00
Jeremy Avigad
44642a4285
feat(library/algebra/ordered_ring,library/data/int/): add sign and theorems about abs, make int an instance, port theorems
2015-01-21 15:46:17 -08:00
Jeremy Avigad
58057c5d99
feat(library/algebra/ordered_group): add abs
2015-01-21 15:46:17 -08:00
Leonardo de Moura
2717adde94
feat(library/unifier): add option 'unifier.conservative', use option by default in the calc_assistant
2015-01-19 16:23:29 -08:00
Jeremy Avigad
0dcf06000b
refactor(library/data/int/sub): rename theorems, add theorems, clean up
2015-01-12 16:28:42 -05:00
Leonardo de Moura
2e4a2451e6
refactor(library/reducible): simplify reducible/irreducible semantics
2015-01-08 18:52:18 -08:00
Leonardo de Moura
1fab144aa7
refactor(library/init/nat): rename constants
...
closes #387
2015-01-07 18:26:51 -08:00
Jeremy Avigad
50f03c5a09
refactor(library/data/nat/order): make nat order an instance of linear_ordered_semigroup, rename various theorems
2015-01-07 18:18:28 -08:00
Jeremy Avigad
b11064a90e
fix(library/data/nat,int): fix instance declarations for nat and int
2015-01-03 22:27:21 -08:00
Jeremy Avigad
53f486835e
fix(library/data/nat/order): delete unused material at end of file
2014-12-26 16:57:10 -05:00
Jeremy Avigad
cecabbb401
refactor(library/data/int,library/algebra): make int an instnance of ordered ring, rename theorems
2014-12-26 16:25:05 -05:00
Jeremy Avigad
25394dddb7
refactor(library): change mul.left_id to mul_one, and similarly for mul.right_id, add.left_id, add.right_id
2014-12-23 21:14:36 -05:00
Jeremy Avigad
5bc6dd84cf
feat(library/data/nat): make nat an instance of comm_semiring
2014-12-23 21:14:35 -05:00
Jeremy Avigad
486bc321ff
refactor(library/data/nat): rename theorems
2014-12-23 21:14:35 -05:00
Jeremy Avigad
0f0da64264
refactor(library/data/int): make int instance of integral domain
2014-12-22 15:33:42 -05:00
Leonardo de Moura
235894cec5
fix(data/int/basic): move decidable theorems
2014-12-17 18:27:39 -08:00
Jeremy Avigad
5a2f81e962
fix(library/data/int): define sub from algebra.sub
2014-12-17 18:02:55 -08:00
Jeremy Avigad
9d2587c79b
refactor(library/data/int/basic): make the integers an instance of ring
2014-12-17 13:32:38 -05:00
Leonardo de Moura
abe129aa4f
refactor(library): rename theorems "iff.flip_sign -> not_iff_not_of_iff" and "decidable_iff_equiv -> decidable_of_decidable_of_iff"
2014-12-15 19:17:51 -08:00
Leonardo de Moura
5cf8064269
refactor(library): rename exists_elim and exists_intro to exists.elim
...
and exists.intro
2014-12-15 19:07:38 -08:00
Jeremy Avigad
3e9a484851
refactor(library/logic/connectives): rename theorems
2014-12-15 15:05:44 -05:00
Leonardo de Moura
d6c8e23b03
refactor(library/init/logic): move theorems to library/logic
2014-12-12 13:24:17 -08:00
Jeremy Avigad
057615532e
feat(library/data/int): replace int definition with structure and better computational behavior
2014-12-05 22:24:42 -08:00
Leonardo de Moura
697d4359e3
refactor(library): add 'init' folder
2014-11-30 20:34:12 -08:00
Jeremy Avigad
bb8d436e75
refactor(library/algebra/relation, library/logic/instances): revise equivalence relations and congruences to use structure command
2014-11-28 22:54:15 -08:00