Commit graph

5968 commits

Author SHA1 Message Date
Soonho Kong
8ca3ee4851 fix(bin/linja): decode the results from subprocess.Popen
http://stackoverflow.com/questions/606191/convert-bytes-to-a-python-string

fix #515
2015-04-04 13:30:10 -04: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
f1b7021ed0 feat(library/data/list/basic): add more theorems for disjoint predicate 2015-04-03 22:55:16 -07:00
Leonardo de Moura
23a1f5fa4b feat(library/data/list/basic): define nodup and disjoint 2015-04-03 15:44:07 -07:00
Leonardo de Moura
3b0f666646 feat(library/algebra/function): define injective 2015-04-03 15:43:44 -07:00
Leonardo de Moura
01f5dd9fa8 feat(library/data/list): add "erase" function lemmas 2015-04-03 13:18:48 -07:00
Leonardo de Moura
fc0ed5e46c feat(library/data/list/basic): define erase and prove basic theorems 2015-04-02 23:58:47 -07:00
Leonardo de Moura
1150b19598 perf(frontends/lean/elaborator): do not invoke recursive equation compiler when equations still contain metavariables 2015-04-02 23:37:33 -07:00
Leonardo de Moura
44ba0e10c0 feat(library/init/logic): add rewrite rules for decidable 2015-04-02 23:31:40 -07:00
Leonardo de Moura
9f3ba66295 feat(library/data/perm): add more theorems 2015-04-02 20:00:46 -07:00
Leonardo de Moura
e47c8c2d9e feat(library/data/list/basic): add quasiequality predicate l₁≈a|l₂, l₁ is equal to l₂ with 'a' inserted somewhere 2015-04-02 20:00:46 -07:00
Soonho Kong
1f20fb6e9e feat(emacs/lean-input): add not(¬) and iff(↔)
close leanprover/tutorial#81
2015-04-02 22:13:01 -04:00
Leonardo de Moura
5a394ac7ea feat(library/data/perm): add more theorems 2015-04-02 09:21:20 -07:00
Leonardo de Moura
92d6e93971 feat(library/data/perm): cleanup and add calculational proof support to perm 2015-04-02 08:50:05 -07:00
Leonardo de Moura
54136c1ec0 feat(library/data/perm): add list permutation module 2015-04-01 23:00:02 -07:00
Leonardo de Moura
dbe54c4fb5 feat(library/data): define unordered pairs using quotients 2015-04-01 17:30:49 -07:00
Leonardo de Moura
3951b50282 feat(library/data/prod): define swap 2015-04-01 17:30:37 -07:00
Leonardo de Moura
7b64a47221 refactor(library/init): add auxiliary function mk_equivalence 2015-04-01 17:30:20 -07:00
Leonardo de Moura
f8023403af test(tests/lean/run): add another simple test 2015-04-01 15:49:01 -07:00
Leonardo de Moura
bf142f3f18 fix(tests/lean): adjust tests to reflect changes in the standard library 2015-04-01 15:09:00 -07:00
Leonardo de Moura
0d66d19ba3 feat(tests/lean/run/finset): show that if A has decidable equality, then (finset A) also has it. 2015-04-01 13:19:16 -07:00
Leonardo de Moura
4fcb560ea7 feat(library/init/funext): add subsingleton_pi instance using funext 2015-04-01 13:05:05 -07:00
Leonardo de Moura
ced742083a feat(library/init/quot): add helper function quot.rec_on_subsingleton₂ 2015-04-01 13:04:41 -07:00
Leonardo de Moura
ed1acd9fb0 feat(library/init): move propext to init/quot, add Jeremy's funext theorem 2015-04-01 12:36:33 -07:00
Leonardo de Moura
0da4f191fc feat(library/init/quot): add rec_on for subsingleton types 2015-04-01 11:57:39 -07:00
Leonardo de Moura
ce5e83eb3e refactor(library/init): move subsingleton to init folder 2015-04-01 11:57:29 -07:00
Leonardo de Moura
b960e123b1 feat(kernel): add experimental support for quotient types 2015-03-31 22:04:16 -07:00
Leonardo de Moura
82833bcbe8 fix(tests/lean/struct_class): add setoid to expected output 2015-03-31 22:03:57 -07:00
Leonardo de Moura
a52cb009dc refactor(library): reorganize init folder and add setoid 2015-03-31 19:56:05 -07:00
Leonardo de Moura
6e6cc749a8 feat(library/logic/axioms): break prop_complete into propext and em
The user may want to use propext without assuming em.
2015-03-31 18:51:43 -07:00
Leonardo de Moura
e35de54cee feat(library/data/list/basic): add aux theorems 2015-03-31 18:38:05 -07:00
Leonardo de Moura
4eb270a572 fix(frontends/lean/pp): extra space 2015-03-31 15:07:32 -07:00
Leonardo de Moura
26c914173c feat(frontends/lean): add --profile option 2015-03-31 11:53:55 -07:00
Leonardo de Moura
4c0ce9a619 feat(library/data/list/basic): missing theorems 2015-03-30 19:11:45 -07:00
Leonardo de Moura
46777fdd1d fix(frontends/lean/migrate_cmd): bug when using migrate command with option --to_axiom 2015-03-30 16:22:06 -07:00
Soonho Kong
3132d229c0 chore(travis): change notifications, turn off cov build 2015-03-30 18:32:48 -04:00
Leonardo de Moura
8c76419c60 fix(frontends/lean/decl_cmds): error localization problem for recursive equations 2015-03-30 13:30:29 -07:00
Leonardo de Moura
87f6fc6b6a feat(library/algebra/ring): remove sorrys 2015-03-30 11:55:48 -07:00
Leonardo de Moura
56af7ba535 feat(library/algebra/ordered_ring): remove sorry 2015-03-30 11:01:26 -07:00
Leonardo de Moura
3d4a02089a feat(library/logic/examples/propositional): add different encoding 2015-03-30 07:13:19 -07:00
Leonardo de Moura
9d34431bb6 feat(library/logic/examples/propositional/soundness): cleanup precedence levels 2015-03-30 05:42:47 -07:00
Leonardo de Moura
5ef88bfbc8 feat(library/logic/examples/propositional): add example based on Floris Coq files formalizing propositional Calculus 2015-03-30 05:12:29 -07:00
Leonardo de Moura
299cbe4b25 feat(library/data/bool): add auxiliary theorems for bool 2015-03-30 04:55:28 -07:00
Leonardo de Moura
42fe87d7cc feat(library/data/list/basic): add sublist predicate 2015-03-30 03:20:42 -07:00
Leonardo de Moura
66bb22f268 feat(library/data/list/basic): cleanup 2015-03-30 02:14:33 -07:00
Leonardo de Moura
ec1a60b02c feat(library/init/logic): add helper function for proving decidable equality 2015-03-30 02:14:26 -07:00
Leonardo de Moura
cb2a5eeb3c feat(frontends/lean/inductive_cmd): local notation in inductive decls 2015-03-30 02:14:26 -07:00
Leonardo de Moura
033f3b630d feat(frontends/lean/scanner): allow upper-case greek letters in identifiers but Pi and Sigma 2015-03-30 02:14:26 -07:00
Soonho Kong
47c0ae5914 fix(bin/linja): download ninja to a temporary directory
Assume that we have two linja processes running on a system where there
is no ninja installed. Then, the first linja process downloads ninja
from github. If the internet is slow, the second linja process can pick
up the incomplete ninja binary and execute it, which causes an
exception (i.e. "Malformed Mach-o file" error on OSX). An example build
trace is at

    https://s3.amazonaws.com/archive.travis-ci.org/jobs/56366771/log.txt

This commit fixes the problem by downloading ninja to a temporary
directory and copy it to "lean/bin/ninja" when it's completed.
2015-03-30 01:20:24 -04:00
Soonho Kong
3ac29fae43 fix(util/lua.cpp): 'implicit conversion of nullptr constant to bool' warning
clang-3.6.0 generated the following warning:

/Users/soonhok/work/lean/src/util/lua.cpp:49:12: warning: implicit conversion of nullptr constant to 'bool' [-Wnull-conversion]
    return nullptr;
    ~~~~~~ ^~~~~~~
           false
2015-03-29 23:06:22 -04:00