Commit graph

7858 commits

Author SHA1 Message Date
Leonardo de Moura
ea04414058 feat(frontends/lean): allow user to overload notation containing foldr/foldl and/or scoped expressions
see new tests for a summary of new features

see issue #800
2015-08-16 18:24:30 -07:00
Leonardo de Moura
ffde40a500 fix(frontends/lean/parse_table): missing condition 2015-08-16 15:35:17 -07:00
Leonardo de Moura
eb8f586dba fix(library/normalize): fixes #801 2015-08-16 14:22:02 -07:00
Leonardo de Moura
1d6bebf3a3 feat(frontends/lean/parse_table): start support for multiple "actions" in parsing tables 2015-08-16 13:52:06 -07:00
Leonardo de Moura
df1a847255 feat(bin/leanutil): start "compilation server" 2015-08-16 12:20:48 -07:00
Leonardo de Moura
5f5642c4ce fix(kernel/inductive): compilation error with clang++ 2015-08-15 15:06:57 -07:00
Leonardo de Moura
7bc8673786 feat(library/module): efficient inductive_reader
Do not check imported inductive declarations when trust level is greater than 0.
2015-08-15 14:48:49 -07:00
Leonardo de Moura
e80d9685e5 refactor(kernel/inductive): add certified_inductive_decl object
We will use this object to implement a more efficient import procedure
2015-08-15 13:26:38 -07:00
Leonardo de Moura
40ef589d8c fix(library/data/finset,library/data/list): fixes #799
Make sure standard library - theories folder can be compiled with --to_axiom
2015-08-15 09:49:40 -07:00
Jeremy Avigad
c83d592c17 feat(library/theories/number_theory/square_root_irrational): add proof that sqrt 2 is irrational 2015-08-14 18:49:57 -07:00
Jeremy Avigad
e416291135 feat(library/algebra/*,library/data/*): small additions and changes 2015-08-14 18:49:57 -07:00
Jeremy Avigad
4a36f843f7 refactor(library/algebra/group_power,library/*): change definition of pow
I changed the definition of pow so that a^(succ n) reduces to a * a^n rather than a^n * a.

This has the nice effect that on nat and int, where multiplication is defined by recursion on the right,
a^1 reduces to a, and a^2 reduces to a * a.

The change was a pain in the neck, and in retrospect maybe not worth it, but oh, well.
2015-08-14 18:49:57 -07:00
Jeremy Avigad
f9f4cd2197 feat(library/algebra/ordered_field,library/data/int/div): prove sign a = a / abs a 2015-08-14 18:49:57 -07:00
Jeremy Avigad
a56a7d2736 feat(library/data/rat/basic): prove numerator and denominator are coprime 2015-08-14 18:49:57 -07:00
Leonardo de Moura
b21d85d19e chore(library/coercion): fix style 2015-08-14 18:49:01 -07:00
Daniel Selsam
7223293a93 feat(library/coercion): improve error message when coercion has no viable source 2015-08-14 18:44:44 -07:00
Daniel Selsam
5bef45b1fd feat(library/coercion): improve error message when target is unacceptable 2015-08-14 18:44:44 -07:00
Daniel Selsam
f4e1e9d671 feat(library/coercion): closes #794
Include level information in primary coercion error message if
pp_options are set to display levels.
2015-08-14 18:44:43 -07:00
Leonardo de Moura
6c934229f7 feat(kernel,library/module): only module reader can add declarations without type-checking them 2015-08-14 18:37:17 -07:00
Leonardo de Moura
11558df6be chore(util/serializer): fix style 2015-08-14 18:34:33 -07:00
Leonardo de Moura
d1f13d2871 perf(library/module): skip checksum if trust level is very high 2015-08-14 18:23:12 -07:00
Leonardo de Moura
d3d1b58fb4 perf(util/serializer): minor performance improvement 2015-08-14 18:13:08 -07:00
Leonardo de Moura
cc8b5d2d6e perf(library/unfold_macros): skip contains_untrusted_macro if trust level is very high 2015-08-14 18:10:19 -07:00
Leonardo de Moura
849b99d244 perf(library/module): use block read 2015-08-14 17:56:21 -07:00
Leonardo de Moura
54a49bbf2e feat(util/serializer): simple compression trick
reduces the standard library .olean files from 7.2 Mb to 6.1 Mb
2015-08-14 15:27:44 -07:00
Leonardo de Moura
5a6a4b45c1 fix(library/definitional/equations): fixes #796 2015-08-14 14:39:23 -07:00
Leonardo de Moura
49eb7166f0 refactor(library/data): rename fixed_list -> tuple 2015-08-13 16:45:34 -07:00
Leonardo de Moura
9bb778dc7c feat(library/data/hf): define head and tail for hf 2015-08-13 16:00:32 -07:00
Leonardo de Moura
a6b1c84874 feat(library/data/hf): add basic list functions to hf 2015-08-13 15:36:54 -07:00
Leonardo de Moura
50983c4573 feat(library/data/hf): prove that s₁ ⊆ s₂ → s₁ ≤ s₂ for hereditarily finite sets 2015-08-13 15:36:26 -07:00
Leonardo de Moura
aa2a417483 feat(library/data/hf): add induction and total order for hf 2015-08-13 14:11:44 -07:00
Leonardo de Moura
8c4e5c82ab fix(tests/shared/CMakeFiles): make sure the working directory is the one containing the DLL 2015-08-13 12:31:30 -07:00
Leonardo de Moura
5f8b600024 fix(CMakeLists): use --export-all option when creating DLL on Windows 2015-08-13 12:14:24 -07:00
Leonardo de Moura
3de290db35 fix(tests/shared): include shared_test in the test suite 2015-08-13 11:52:38 -07:00
Leonardo de Moura
52138b8232 fix(CMakeLists): dylib generation 2015-08-13 11:50:41 -07:00
Leonardo de Moura
98bfb8467a test(test/shared): add small program for testing shared library 2015-08-13 11:48:54 -07:00
Leonardo de Moura
8746484b8f fix(CMakeLists): DLL generation 2015-08-13 11:38:33 -07:00
Leonardo de Moura
498afc1e6f feat(CMakeLists): add shared library 2015-08-13 11:21:05 -07:00
Leonardo de Moura
f4a81fdd73 fix(library/data): powerset notation 2015-08-13 09:04:00 -07:00
Leonardo de Moura
51c48277c8 feat(library/data/hf): add hf.powerset 2015-08-13 08:52:45 -07:00
Leonardo de Moura
6bec3ba58b feat(library/data/hf): add hf.image 2015-08-13 08:22:58 -07:00
Leonardo de Moura
bf65acb126 feat(library/data/rat): show that the rationals are encodable and countable 2015-08-12 21:31:24 -07:00
Leonardo de Moura
710b7b6e40 feat(library/data/int/countable): show that int is encodable, isomorphic to nat, and countable 2015-08-12 21:31:24 -07:00
Leonardo de Moura
52f902bc33 feat(library/data/encodable): show that the quotient A/R is encodable if A is encodable and R is decidable 2015-08-12 21:31:24 -07:00
Leonardo de Moura
d2eb99bf11 refactor(library/logic): move logic/choice.lean to init/classical.lean
choice axiom is now in the classical namespace.
2015-08-12 18:37:33 -07:00
Leonardo de Moura
cb9830beaf refactor(library/logic/choice): move prop_decidable instance into namespace 'classical' 2015-08-12 17:06:15 -07:00
Leonardo de Moura
b4024982a2 refactor(library/data): move vector as indexed family to examples folder 2015-08-12 15:05:14 -07:00
Leonardo de Moura
840c1a3693 refactor(library/data): rename vec to fixed_list 2015-08-12 14:38:21 -07:00
Leonardo de Moura
602626803b fix(frontends/lean/builtin_cmds): 'print axioms' and theorem queue 2015-08-11 21:08:45 -07:00
Leonardo de Moura
5d8d226640 fix(frontends/lean/parser): add support for decimals
Decimal numbers are notation for rationals.
If rat.of_num is not available, then an error is generated.

closes #793
2015-08-11 18:44:48 -07:00