Daniel Selsam
75145c29ef
refactor(library/smt): move smt files from algebra
2016-07-29 10:44:44 -07:00
Daniel Selsam
e7cee1b2cd
feat(src/library/mpq_macro): numeral macros
2016-07-29 10:44:43 -07:00
Leonardo de Moura
212d222047
feat(frontends/lean): quoted names
2016-07-22 19:06:57 -07:00
Leonardo de Moura
586baa4118
feat(library,frontends/lean): support for quoted expressions in the VM, compiler and frontend
...
TODO: invoke elaborator at tactic.to_expr
2016-06-15 16:06:39 -07:00
Leonardo de Moura
5459e9ad8a
chore(frontends/lean): remove dead code
2016-06-13 10:42:38 -07:00
Leonardo de Moura
4cbcb34817
feat(library/init): add combinators SKI
2016-06-09 14:39:20 -07:00
Leonardo de Moura
0261a81eb0
feat(frontends/lean): add '()' as notation for unit.star
2016-06-08 17:26:48 -07:00
Leonardo de Moura
165d45ac32
fix(library/compiler/erase_irrelevant): monad.return was renamed to monad.ret
2016-06-08 16:17:33 -07:00
Leonardo de Moura
924f3629ee
feat(library/vm): expose name of the C++ functions that implement builtins
2016-06-02 12:48:43 -07:00
Leonardo de Moura
a6a7daff59
refactor(library/vm): avoid constants.txt when creating bindings
2016-06-02 11:45:56 -07:00
Leonardo de Moura
6f02d30185
feat(library/vm): add basic support for C++ name objects in the VM
...
We still need to add support for the recursor
2016-06-01 13:10:24 -07:00
Leonardo de Moura
8bccfc23da
feat(library/vm): add example of C function invoking Lean closure
2016-05-31 18:45:14 -07:00
Leonardo de Moura
e89082a97e
feat(library/vm,library/init): add builtin timeit primitive for profiling
2016-05-26 12:44:49 -07:00
Leonardo de Moura
3806792866
feat(frontends/lean/builtin_cmds): use 'to_string' automatically at vm_eval if type has an instance of has_to_string
2016-05-26 11:41:53 -07:00
Leonardo de Moura
cc4b70e5e5
feat(library/vm/vm_nat): add native support for nat.to_string
2016-05-26 10:55:22 -07:00
Leonardo de Moura
bf2d2b9feb
fix(library/vm,library/compiler,frontends/lean): IO monad support
2016-05-25 13:30:43 -07:00
Leonardo de Moura
e40c54013a
feat(library/vm): add basic support for IO monad
2016-05-24 17:52:22 -07:00
Leonardo de Moura
174fba9dbd
feat(frontends/lean): add support for monadic 'do'-notation
2016-05-24 17:18:15 -07:00
Leonardo de Moura
6a9e5079c9
feat(library,frontends/lean/pp): add support for new string encoding
2016-05-24 16:20:43 -07:00
Leonardo de Moura
d7e863c3f4
feat(library/compiler/erase_irrelevant): add support for quotient types
...
and expand macros
2016-05-23 17:49:42 -07:00
Leonardo de Moura
e42972b501
feat(library/compiler/erase_irrelevant): add support for acc.rec
2016-05-23 16:31:29 -07:00
Leonardo de Moura
af1908be94
feat(frontends/lean/decl_cmds): do not generate warning for definitions that are implemented in the VM
2016-05-13 18:17:20 -07:00
Leonardo de Moura
de327c0c20
feat(library/vm/vm_nat): add builtin support for nat lt
2016-05-12 16:36:37 -07:00
Leonardo de Moura
1393238c9d
fix(library/vm/vm_nat): fix constant name
2016-05-12 15:29:14 -07:00
Leonardo de Moura
3dd7cd7403
feat(library/vm): implement nat functions in C++
2016-05-10 17:35:53 -07:00
Leonardo de Moura
50fd4eb7bd
feat(compiler/erase_irrelevant): eliminate subtype.tag, subtype.rec and subtype.elt_of
2016-05-07 16:57:26 -07:00
Leonardo de Moura
329a9723cb
feat(library): tag auxiliary no_confusion definitions
2016-05-07 15:26:49 -07:00
Leonardo de Moura
156068609f
feat(compiler/preprocess_rec): do not unfold cases_on
2016-05-03 15:42:20 -07:00
Leonardo de Moura
1924b2884c
refactor(library/tactic): remove 'append' and 'interleave' tacticals
...
Preparation for major refactoring in the tactic framework.
2016-02-24 16:02:16 -08:00
Floris van Doorn
4e2cc66061
style(*): rename is_hprop/is_hset to is_prop/is_set
2016-02-22 11:15:38 -08:00
Daniel Selsam
d521063dfb
feat(library/defeq_simplifier): new simplifier that uses only definitional equalities
2016-02-22 11:01:36 -08:00
Daniel Selsam
bb4b8da582
feat(library/unification_hint): basic handling of user-supplied unification hints
2016-02-12 11:48:51 -08:00
Leonardo de Moura
599ec08c70
feat(library/blast/congruence_closure): add support for eq.rec and cast in the congruence closure module
2016-01-13 14:18:38 -08:00
Leonardo de Moura
8f7b533ca1
refactor(library): move 'cast' to init folder
2016-01-13 11:17:42 -08:00
Leonardo de Moura
c646c3cacc
feat(library/init/logic): add subsingleton.helim with heterogeneous equality
2016-01-10 16:47:45 -08:00
Leonardo de Moura
d3242a2068
refactor(library): rename heq.of_eq heq.to_eq auxiliary lemmas
2016-01-09 12:32:18 -08:00
Leonardo de Moura
61ecf018e9
feat(frontends/lean,library/tactic): add easy tactic parsing support for at ... and with ...
2015-12-17 12:18:32 -08:00
Leonardo de Moura
c824a0e050
chore(library,hott): enforce naming conventions
2015-12-17 11:36:58 -08:00
Sebastian Ullrich
2185ee7e95
feat(library/tactic): make let tactic transparent, introduce new opaque note tactic
...
The new let tactic is semantically equivalent to let terms, while `note`
preserves its old opaque behavior.
2015-12-14 10:14:02 -08:00
Leonardo de Moura
95fba3dba6
chore(library/constants): sort constant decls
2015-12-13 21:39:45 -08:00
Leonardo de Moura
193a9d8cde
refactor(library/norm_num): avoid manual constant name initialization
...
@rlewis1988 We group all Lean constants used in the C++ code at
src/library/constants.txt
Jeremy and Floris check this file before renaming constants in the
library. So, they can quickly decide whether C++ code will be affected
or not.
We also have a python script for initializing the C++ name objects.
To use the script:
- go to src/library
- execute
python ../../script/gen_constants_cpp.py constants.txt
It will create the boring initialization and finalization code, and
declare a procedure get_<id>_name() for each constant in the file constants.txt.
I also move the norm_num1.lean to the set of unit tests that are
executed whenever we push a commit to the main branch.
I found an assertion violation at line 606. Could you take a look?
Best,
Leo
2015-12-13 21:38:59 -08:00
Leonardo de Moura
85379b7706
feat(library/blast/actions/simple_actions): make sure contradiction action works even if classical logic support is not enabled
...
not (not (not a)) -> not a
2015-12-07 09:30:14 -08:00
Leonardo de Moura
80725cc416
fix(library): references to algebra in the source code
2015-12-05 23:50:26 -08:00
Daniel Selsam
08e0fc796b
feat(library/blast/actions): by_contradiction action
2015-12-04 20:19:05 -08:00
Leonardo de Moura
2682fe9525
feat(library/blast/blast): force 'ne' to be always transparent
2015-12-04 18:24:36 -08:00
Leonardo de Moura
00e34683f2
feat(library/app_builder): (try to) address not-issue and other reducibility annotation related issues in the app_builder
2015-12-04 16:03:06 -08:00
Daniel Selsam
2bf9989bd9
refactor(library/blast/unit): simplify module
2015-12-04 08:30:03 -08:00
Leonardo de Moura
83b9769225
fix(library/blast): init_classical_flag
...
The procedure get_namespaces does not return the set of opened
namespaces. I added a comment there to clarify that.
2015-12-04 08:13:19 -08:00
Daniel Selsam
0dfac6d07e
feat(library/blast): classical flag
2015-12-04 07:53:05 -08:00
Leonardo de Moura
3de9a89d93
feat(library/blast/congruence_closure): congruence_closure basics
2015-11-17 18:45:22 -08:00