Commit graph

1571 commits

Author SHA1 Message Date
Jacob Gross
dd6bed371a feat(library/data/set/basic): Added a supporting lemma for sUnion, which will be essential for proofs by induction on finite sets 2015-12-02 23:05:59 -08:00
Joe Hendrix
719a78d541 style(library/data/bv): Use syntax for dite 2015-12-02 23:01:26 -08:00
Joe Hendrix
3574ad1f11 style(library/data/bv): Simplify from_bv and bv_mul 2015-12-02 23:01:26 -08:00
Joe Hendrix
fd1999a97f feat(library/data/bv): Add signed/unsigned comparisons. 2015-12-02 23:01:26 -08:00
Joe Hendrix
5cf6e18af0 refactor(library/data/bv): Cleanup formatting inconsistencies 2015-12-02 23:01:26 -08:00
Joe Hendrix
3fddca81b5 feat(library/data/bv): Add preliminary bitvector ops. 2015-12-02 23:01:26 -08:00
Joe Hendrix
e4c839f362 feat(library/data/tuple): Add tuple combinators 2015-12-02 23:01:26 -08:00
Joe Hendrix
42afd89583 feat(library/data/list): Add additonal list combinators. 2015-12-02 23:01:26 -08:00
Joe Hendrix
63a17a3f48 feat(library/data/bool): Add bxor definition 2015-12-02 23:01:26 -08:00
Leonardo de Moura
5721bc13a7 feat(library/init/logic): annotate logical connectives as [no_pattern] 2015-11-24 18:48:22 -08:00
Leonardo de Moura
d240b06ba2 feat(library/init/logic): add new simp rules 2015-11-22 17:04:25 -08:00
Floris van Doorn
0537ef2bd9 chore(*): add me as author to files where I made nontrivial contributions 2015-11-22 14:21:26 -08:00
Floris van Doorn
482c68b387 feat(*/list): add some computation rules for lists in both libraries 2015-11-22 14:21:26 -08:00
Floris van Doorn
cc03ca9c6d fix(reserved_notation): make :: bind stronger than ++
this allows us to write l1 ++ a :: l2 without parentheses
2015-11-22 14:21:26 -08:00
Floris van Doorn
5abc450fad feat(list): port list.basic from the standard library 2015-11-22 14:21:26 -08:00
Leonardo de Moura
564e8f947d refactor(library): cleanup 2015-11-22 14:10:02 -08:00
Leonardo de Moura
c49caf3740 feat(library/blast/congruence_closure): add support for user-defined congruence lemmas in the congruence closure module 2015-11-21 14:43:51 -08:00
Leonardo de Moura
5a98a2538c refactor(library): move basic simp/congr rules to init folder, delete some legacy files 2015-11-20 16:38:10 -08:00
Leonardo de Moura
3de9a89d93 feat(library/blast/congruence_closure): congruence_closure basics 2015-11-17 18:45:22 -08:00
Daniel Selsam
2eeab1c757 fix(algebra/simplifier): use export 2015-11-16 20:39:15 -08:00
Daniel Selsam
49ff8640d9 fix(library/blast/simplifier): use ac rules for numerals 2015-11-16 20:39:15 -08:00
Daniel Selsam
8ca5d87f0b feat(library/blast/simplifier): rely on norm_num for recursion 2015-11-16 20:33:22 -08:00
Leonardo de Moura
b3ca5faa49 fix(tests/lean): some of the simplifier tests 2015-11-16 11:01:53 -08:00
Leonardo de Moura
dfaf1c2ba3 refactor(library): move basic theorems to init, remove sorry's from algebra/simplifier.lean 2015-11-16 10:26:09 -08:00
Daniel Selsam
5e8068b2b2 feat(library/blast/simplifier): draft of fusion 2015-11-16 09:13:07 -08:00
Daniel Selsam
30b1b79c4e fix(algebra/simplifier): update numeral simp rules 2015-11-16 09:12:29 -08:00
Leonardo de Moura
0dc31227f8 feat(library/init/logic): mark ne reducible 2015-11-15 15:09:02 -08:00
Leonardo de Moura
4d68e2a520 feat(library,hott): add eq.mpr and eq.mp lemmas 2015-11-14 15:40:47 -08:00
Daniel Selsam
4ba6b4f3f1 fix(algebra/simplifier): reference norm_num namespace 2015-11-12 21:28:11 -08:00
Daniel Selsam
00a5cd519e feat(algebra/simplifier): simp rule set for units 2015-11-12 21:23:28 -08:00
Daniel Selsam
e7890fb456 feat(algebra/simplifier): useful simp rule sets 2015-11-12 21:23:28 -08:00
Jeremy Avigad
98ddc62f6c feat(library/data/complex): add complex numbers 2015-11-12 21:05:38 -08:00
Rob Lewis
44a099f6f1 feat(norm_num): performance and style fixes 2015-11-12 20:53:37 -08:00
Rob Lewis
4bf0519843 feat(norm_num): numeral normalizer works for +, -, *, / 2015-11-12 20:53:37 -08:00
Rob Lewis
616450be64 feat(library/norm_num): extend norm_num to handle subtraction 2015-11-12 20:53:37 -08:00
Leonardo de Moura
5ceac83b6a feat(frontends/lean/elaborator): restrict the number of places where coercions are considered
We do not consider coercions around meta-variables anymore.
2015-11-11 12:37:19 -08:00
Leonardo de Moura
9bedbbb739 refactor(library,hott): remove coercions between algebraic structures
They are classes, and mixing coercion with type class resolution is a
recipe for disaster (aka counterintuitive behavior).
2015-11-11 11:57:44 -08:00
Daniel Selsam
bacb9f99aa fix(logic/quantifiers): restore original 2015-11-08 14:05:03 -08:00
Daniel Selsam
34f4e315ee feat(logic/quantifiers): tag congruence theorems 2015-11-08 14:05:02 -08:00
Jeremy Avigad
697df0e68c refactor(library/*): use type classes for div and mod 2015-11-08 14:04:59 -08:00
Jeremy Avigad
eea4e4ec55 fix(tests/lean/*): fix tests 2015-11-08 14:04:59 -08:00
Jeremy Avigad
2beb0030d6 refactor(library/*): protect sub in nat, div in nat and int 2015-11-08 14:04:59 -08:00
Jeremy Avigad
b1719c3823 refactor(library/real/*): protect theorems 2015-11-08 14:04:59 -08:00
Jeremy Avigad
9e5a27dc77 refactor(library/{pnat,rat,real}/*): protect theorems in pnat and rat 2015-11-08 14:04:59 -08:00
Jeremy Avigad
da5bd03656 refactor(library/init/nat,library/data/nat/*): chagne dots to underscores in protected names 2015-11-08 14:04:59 -08:00
Jeremy Avigad
6dfaf1863c refactor(library/data/int/{basic,order}): protect theorem names 2015-11-08 14:04:59 -08:00
Jeremy Avigad
dc8858d764 refactor(library/init/nat,library/): protect more nat theorems 2015-11-08 14:04:59 -08:00
Jeremy Avigad
7bb2ffb79a refactor(library/data/nat/*): protect some theorems in nat 2015-11-08 14:04:59 -08:00
Leonardo de Moura
4eafcfe945 chore(library/data/fintype/function): fix indentation 2015-11-08 14:04:58 -08:00
Leonardo de Moura
33006919b3 refactor(library/theories/group_theory/hom): cleanup definition 2015-11-08 14:04:58 -08:00
Leonardo de Moura
a10aef0792 fix(library/data/tuple): modify definition to make sure we can compile it using new type class resolution procedure
The issue are universe level constraints that cannot be solved by the
new procedure.
2015-11-08 14:04:58 -08:00
Leonardo de Moura
5468076400 refactor(library/data): cleanup proofs 2015-11-08 14:04:58 -08:00
Leonardo de Moura
bd41b6ea13 refactor(library/data/rat/basic): cleanup proof 2015-11-08 14:04:58 -08:00
Leonardo de Moura
ac01e9e352 refactor(library/data/int/basic): cleanup proof 2015-11-08 14:04:58 -08:00
Leonardo de Moura
bceac9ece5 refactor(library/data/nat/sub): cleanup nasty proofs 2015-11-08 14:04:58 -08:00
Leonardo de Moura
c2ed5d3f1f fix(library/algebra/category/constructions): make proof more robust 2015-11-08 14:04:58 -08:00
Leonardo de Moura
65d7c05737 fix(library/algebra/complete_lattice): avoid looping instances 2015-11-08 14:04:57 -08:00
Leonardo de Moura
9348701a5b fix(library/logic/examples/instances_test): we do not support the set_option class.conservative false anymore 2015-11-08 14:04:57 -08:00
Rob Lewis
958add9ef8 feat(library/norm_num): fix numeral normalization to work on new numeral structure; add support for multiplication 2015-11-08 14:04:56 -08:00
Leonardo de Moura
13ccbaa0d9 refactor(library/data/encodable): mark auxiliary theorems as private 2015-11-08 14:04:56 -08:00
Leonardo de Moura
f14d0523ec refactor(library/data/set/filter): add missing [instance] attribute 2015-11-08 14:04:56 -08:00
Leonardo de Moura
08c061e1fa refactor(library/data/set): remove [reducible] annotation from set operations 2015-11-08 14:04:56 -08:00
Leonardo de Moura
6df31d3406 refactor(library/data/nat/basic): mark some theorems as protected to avoid overloading 2015-11-08 14:04:56 -08:00
Rob Lewis
0aaa8a9770 feat(theories/analysis/real_limit): fix analysis.real_limit 2015-11-08 14:04:56 -08:00
Leonardo de Moura
6779cb4fc6 refactor(library/data/real/division): make sure \sy and / notation for reals is available even when we do not open the namespace algebra 2015-11-08 14:04:56 -08:00
Leonardo de Moura
7838ed386d refactor(frontends/lean/pp,library/init/reserved_notation): pretty print "nat numerals" nicely even when namespace nat is not open 2015-11-08 14:04:56 -08:00
Leonardo de Moura
840f0ea05d fix(library/theories/analysis/real_limit): minor 2015-11-08 14:04:55 -08:00
Leonardo de Moura
9fb59a05f5 fix(library/theories/analysis/metric_space): minor correction 2015-11-08 14:04:55 -08:00
Leonardo de Moura
fa937395d9 fix(library/data/real): minor adjustments 2015-11-08 14:04:55 -08:00
Rob Lewis
670ac6ae19 fix(real/order): remove sorry 2015-11-08 14:04:55 -08:00
Rob Lewis
06c1a97259 feat(library/real): fix real.complete 2015-11-08 14:04:55 -08:00
Rob Lewis
0d0df0417d fix(library/real): fix real.division 2015-11-08 14:04:55 -08:00
Rob Lewis
f4e1f3bb1b feat(library/data/real): fix real.order 2015-11-08 14:04:55 -08:00
Leonardo de Moura
fbe80d48dc chore(library): remove "set_option pp.*" commands 2015-11-08 14:04:55 -08:00
Leonardo de Moura
ce21996635 feat(library): define custom recursors for nat, and minimize the use of krewrite 2015-11-08 14:04:55 -08:00
Leonardo de Moura
6e44a42779 refactor(library/data/int,library/data/rat): rename theorems: of_nat_zero, of_nat_one, of_int_zero, of_int_one 2015-11-08 14:04:55 -08:00
Leonardo de Moura
e8454fad26 fix(library/data/real/basic): remove obsolete notation declarations 2015-11-08 14:04:55 -08:00
Jeremy Avigad
7f88e9ad33 fix(library/data/real,library/theories/group_theory): group theory and real/basic 2015-11-08 14:04:55 -08:00
Jeremy Avigad
ffbb2be6ac fix(library/theories/group_theory): group_theory 2015-11-08 14:04:55 -08:00
Leonardo de Moura
0eec984485 fix(library/data/equiv): minor adjustment 2015-11-08 14:04:55 -08:00
Leonardo de Moura
724aacb2c1 fix(library): remove "-[notations]" hack at "open -[notations] algebra" 2015-11-08 14:04:55 -08:00
Leonardo de Moura
26eb6fa849 feat(*): new numeral encoding 2015-11-08 14:04:55 -08:00
Leonardo de Moura
8ee214f133 checkpoint: new numeral encoding 2015-11-08 14:04:55 -08:00
Leonardo de Moura
f6d22c0002 fix(library/theories/group_theory/finsubg): fix compilation errors 2015-11-08 14:04:55 -08:00
Leonardo de Moura
8657ccfc04 fix(library/data/int/gcd): remove sorry 2015-11-08 14:04:55 -08:00
Leonardo de Moura
a9f5735bb5 fix(library/data/int/basic): remove sorry's 2015-11-08 14:04:55 -08:00
Leonardo de Moura
843e95ade6 fix(library/data/real/basic): some real theorems 2015-11-08 14:04:55 -08:00
Leonardo de Moura
c0990d1902 fix(library/data/pnat): pnat with type classes 2015-11-08 14:04:55 -08:00
Leonardo de Moura
a23c05549e fix(library/data/int/div): int div 2015-11-08 14:04:54 -08:00
Jeremy Avigad
1ffe62341b fix(library/data/int): more int problems 2015-11-08 14:04:54 -08:00
Leonardo de Moura
07b33ec75e fix(library/data/int,library/data/rat): int and rat 2015-11-08 14:04:54 -08:00
Leonardo de Moura
744d1cba3d feat(library,hott,frontends/lean): avoid keywords with hyphen 2015-11-08 14:04:54 -08:00
Leonardo de Moura
27b4eb2058 fix(library/data): hf, int, nat, pnat 2015-11-08 14:04:54 -08:00
Leonardo de Moura
3369152559 fix(library/data,library/theories): fin, bag, finset, hf, list, ... 2015-11-08 14:04:54 -08:00
Leonardo de Moura
e6d7e89419 fix(library/data/int,library/data/nat): nat and int 2015-11-08 14:04:54 -08:00
Leonardo de Moura
a618bd7d6c refactor(library): use type classes for encoding all arithmetic operations
Before this commit we were using overloading for concrete structures and
type classes for abstract ones.

This is the first of series of commits that implement this modification
2015-11-08 14:04:54 -08:00
Leonardo de Moura
06e35b4863 fix(library/algebra/numeral): remove redundant definitions 2015-11-08 14:04:54 -08:00
Leonardo de Moura
e4f0f6a9b4 feat(library): numeral normalization skeleton 2015-10-08 12:49:12 -07:00
Leonardo de Moura
5f967f40b2 fix(library/data/nat/basic): simplify two lemmas 2015-10-07 10:32:20 -07:00
Floris van Doorn
115dedbd1c fix(hott): notation spacing and markdown files 2015-10-02 16:26:10 -07:00