Leonardo de Moura
e68007a727
fix(frontends/lean/builtin_tactics): adjust tactics precedence
2014-10-20 17:10:16 -07:00
Leonardo de Moura
854e72e665
refactor(library/data/list): minimize dependencies and avoid 'sorry' warning
2014-10-20 15:32:42 -07:00
Leonardo de Moura
f63d47fef3
feat(frontends/lean/pp): support foldl/foldr notation in the pretty printer
2014-10-19 11:16:24 -07:00
Leonardo de Moura
85339c0cc1
fix(library/data/list/basic): mark ::
as infixr
2014-10-19 08:58:52 -07:00
Leonardo de Moura
144150d47b
fix(library/type): modify declaration order and make sure Type1, Type2 and Type3 notations have precedence over Type' during pretty printing
2014-10-18 15:15:44 -07:00
Leonardo de Moura
58c9421bab
refactor(library/tactic): elaborate expressions nested in tactics with respect to current goal, save postponed constraints (e.g., flex-flex constraints) closes #44 , fixes #70
2014-10-14 17:18:40 -07:00
Soonho Kong
ba24d01dd2
chore(library/Makefile): remove unused Makefile
2014-10-14 08:41:19 -07:00
Leonardo de Moura
4a9e725ca7
refactor(library/algebra/category/morphism): make sure bug #231 has been fixed
2014-10-13 20:56:40 -07:00
Leonardo de Moura
9edf780a00
feat(frontends/lean): elaborate inductive datatypes and introduction rules as a single elaboration problem
2014-10-13 18:35:11 -07:00
Leonardo de Moura
5c1d5133dd
fix(library/data/prod): make the notation for tuples and product types consistent
2014-10-13 06:48:37 -07:00
Leonardo de Moura
a26618e0f2
feat(frontends/lean): add '[]' notation for marking arguments where class-instance resolution should be applied
2014-10-12 13:06:00 -07:00
Leonardo de Moura
f832212fc8
refactor(library/algebra/category): remove unnecessary sections
2014-10-11 16:40:26 -07:00
Floris van Doorn
c630b5ddb2
feat(library/algebra/category): use variables instead of parameters
2014-10-11 16:40:18 -07:00
Leonardo de Moura
d6d0593afb
refactor(library): remove some unnecessary sections
2014-10-10 16:33:58 -07:00
Leonardo de Moura
a41850227a
refactor(library/logic): use new K-like reduction to simplify some proofs
2014-10-10 14:52:21 -07:00
Leonardo de Moura
052bc6ff20
fix(frontends/lean/elaborator): better specific universe detection
2014-10-09 14:43:07 -07:00
Leonardo de Moura
8f1b6178a7
chore(*): minimize the use of parameters
2014-10-09 07:13:06 -07:00
Leonardo de Moura
f9e8503005
chore(library/algebra/category): add workaround
2014-10-09 00:05:37 -07:00
Leonardo de Moura
8c5d3392c7
fix(library/algebra/category): minor fixes to reflect recent changes, and fix tests
2014-10-08 23:44:09 -07:00
Floris van Doorn
0a58e3d1ae
feat(algebra/category/): minor additions, start on adjunction
2014-10-08 23:14:44 -07:00
Floris van Doorn
57bee2a659
feat(binary.lean): add helper theorem for associative functions
2014-10-08 23:14:44 -07:00
Floris van Doorn
8d376b93cd
feat(category): split category.lean in different files; add more constructions and theorems about isos
2014-10-08 23:14:44 -07:00
Floris van Doorn
ae3419f82f
feat(library): add definition of subsingleton and some other minor changes
2014-10-08 23:14:44 -07:00
Floris van Doorn
abee75c5e9
feat(quantifiers.lean): change exists_unique to a constructively stronger formulation
...
the previous formulation was constructively probably to weak to be useful
2014-10-08 23:14:44 -07:00
Leonardo de Moura
744cee8dd8
feat(frontends/lean): force 'classes' to be declared before instances are declared, closes #228
2014-10-07 18:02:15 -07:00
Leonardo de Moura
c9e5e40477
refactor(library/data/num): cleanup
2014-10-05 13:47:51 -07:00
Leonardo de Moura
86591c7272
refactor(library/data/prod): cleanup
2014-10-05 13:38:08 -07:00
Leonardo de Moura
d56266c524
refactor(data/sum): use sections
2014-10-05 13:20:04 -07:00
Leonardo de Moura
15779c5d1e
refactor(data/list): use '!' operator, and new name convention for declaration names
2014-10-05 13:10:35 -07:00
Leonardo de Moura
efaeeb0726
refactor(data/nat/sub): use new policy for marking implicit arguments and '!' operator
2014-10-05 12:39:13 -07:00
Leonardo de Moura
fa96596bf7
refactor(data/int/order): use '!' operator
2014-10-05 11:44:18 -07:00
Leonardo de Moura
a0d4d82f3f
refactor(data/nat/order): use new policy for marking implicit arguments and '!' operator
2014-10-05 11:36:39 -07:00
Leonardo de Moura
e91a64fb38
chore(library/logic): fix comments
2014-10-05 11:11:48 -07:00
Leonardo de Moura
73aa024c31
refactor(library/logic): remove 'core' subdirectory
2014-10-05 10:50:13 -07:00
Leonardo de Moura
0f90d10a13
refactor(logic/core/eq): use sections
2014-10-05 10:19:50 -07:00
Leonardo de Moura
317e910054
refactor(library/data/bool): use new style
2014-10-05 09:50:55 -07:00
Leonardo de Moura
5a927b6db4
refactor(library/logic/cast): define heq using inductive datatypes
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-10-03 21:40:51 -07:00
Leonardo de Moura
a52b21c92d
refactor(library): using section variables
2014-10-02 18:25:00 -07:00
Leonardo de Moura
d5cad765a0
feat(frontends/lean): enforce new semantics for section 'variables'
...
The library file logic/core/connectives uses the new feature.
2014-10-02 17:55:34 -07:00
Leonardo de Moura
4946f55290
refactor(frontends/lean): constant/axiom are top-level commands, parameter/variable/hypothesis/conjecture are section/context-level commands
...
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-10-02 17:55:34 -07:00
Leonardo de Moura
f78d831de3
refactor(frontends/lean): remove hardcoded Type', and define it using notation
2014-10-02 14:29:51 -07:00
Leonardo de Moura
76d21900a2
feat(library): add aliases for some sorts
2014-10-02 14:29:51 -07:00
Leonardo de Moura
98e66586e9
feat(frontends/lean/elaborator): elaborator rejects 'Type' if the universe is explicit
2014-10-02 14:29:51 -07:00
Leonardo de Moura
d42fd657fe
refactor(library): is_inhabited "theorems" should be "definitions", they are "data"
2014-10-02 09:00:34 -07:00
Leonardo de Moura
153e3927ac
feat(frontends/lean/elaborator): modify '!' semantics: it stops consuming arguments as soon it finds an argument that does not occur in the rest of the type.
2014-10-01 18:50:17 -07:00
Leonardo de Moura
e64d5c4a4a
refactor(library/data/nat): use new operator '!'
2014-10-01 18:39:47 -07:00
Leonardo de Moura
a978e30c81
refactor(library/data/nat): rename to_nat to of_num
2014-10-01 17:52:33 -07:00
Leonardo de Moura
716cd4d651
refactor(library): rename namespace eq_ops to eq.ops
2014-10-01 17:51:17 -07:00
Leonardo de Moura
bc6ebf34be
feat(library/data/bool): do not use !
as notation for bnot, rename band/bor -> and/or
2014-10-01 17:00:03 -07:00
Leonardo de Moura
3657d4c3ab
feat(frontends/lean): coercion num -> int even when nat is not open, closes #219
...
I also had to mark the coercions as reducible.
Otherwise, given the constraint
?M (int.of_num 0) =?= (int.of_nat (nat.to_nat 0))
the unifier will not generate the solution
?M := fun x, x
2014-10-01 11:09:10 -07:00