Leonardo de Moura
d2e64d30e8
refactor(library/data/quotient): make proofs more robust
2015-06-25 17:48:58 -07:00
Leonardo de Moura
c9f3b766f8
refactor(library/algebra/category/constructions): modify proof
...
It was affected by the new way of handling projections that we will implement
2015-06-25 17:48:26 -07:00
Floris van Doorn
fa1979c128
feat(datatypes): let the type of unit be the lowest non-Prop universe
...
The definitional package (brec_on and cases_on) now use poly_unit instead of unit
closes #698
2015-06-25 17:33:46 -07:00
Jeremy Avigad
a0461262d0
feat(library/data/real/*.lean): migrate theorems from algebra
2015-06-25 17:30:12 -07:00
Rob Lewis
4161b9ccbf
feat(library/data/real): rearrange constant sequence theorems to introduce rat coercion earlier. begin migrating theorems from algebra
2015-06-25 17:30:12 -07:00
Rob Lewis
82950e1c52
chore(library/algebra/ordered_field): remove redundant line in calc
2015-06-25 17:30:12 -07:00
Rob Lewis
afcf785f03
chore(library/data): update data.md
2015-06-25 17:30:12 -07:00
Leonardo de Moura
8967f57818
refactor(library/data/list): reduce reliance on definitional equality
2015-06-24 15:58:19 -07:00
Leonardo de Moura
018518f0cf
refactor(library/algebra/ring): more robust proofs
2015-06-22 15:31:03 -07:00
Leonardo de Moura
7ffabeb245
refactor(library/algebra/group): avoid abuse of rewrite tactic
...
The two instances are relying on the fact that (a - b) reduces to (a + -b)
2015-06-22 15:11:14 -07:00
Leonardo de Moura
cfafc90cc0
refactor(hott,library): make sure files compile even without using "projection macros"
2015-06-22 12:22:11 -07:00
Jeremy Avigad
d28eb919f1
refactor(library/logic/axioms/examples/diaconescu.lean): mild reformatting, to match tutorial
2015-06-20 21:13:00 -07:00
Jeremy Avigad
7d204fdd91
refactor(library/data/finset/card.lean): add useful facts, shorter proof of eq_card_of_eq_subset
2015-06-20 21:13:00 -07:00
Leonardo de Moura
ee0d919c6f
feat(library/data/finset/card): add eq_of_card_eq_of_subset theorem
2015-06-19 20:05:32 -07:00
Leonardo de Moura
2910c780d0
feat(library/data/finset/basic): add auxiliary card lemma
2015-06-19 20:05:32 -07:00
Leonardo de Moura
4246a64913
feat(library/data/finset/basic): add more theorems for finset erase
2015-06-19 20:05:32 -07:00
Leonardo de Moura
5f293cee9c
refactor(library/algebra/ordered_field): improve compilation time
2015-06-18 16:12:24 -07:00
Leonardo de Moura
70fc05294b
refactor(library/local_context): avoid hack in local_context
2015-06-18 15:41:00 -07:00
Leonardo de Moura
a4c0699e81
feat(library/tactic/constructor_tactic): restore 'constructor' tactic old semantics, add 'fconstructor' tactic
...
See issue #676
Add new test demonstrating why it is useful to have the old semantics
for 'constructor'
2015-06-17 23:48:54 -07:00
Leonardo de Moura
d12b5613c6
feat(library/data/set): show that (set A) is a comm_semiring
2015-06-17 09:53:50 -07:00
Haitao Zhang
1aff1f7cde
fix(library/data/fintype/function): make inj_of_nodup and nodup_of_inj more general
2015-06-16 19:17:53 -07:00
Haitao Zhang
8817042318
feat(library/data/fin) : establish add_comm_group on fin using madd
2015-06-16 16:38:47 -07:00
Leonardo de Moura
d43e0891ae
fix(library/init/logic): make sure library can be compiled using '--to_axiom' option
2015-06-16 13:10:08 -07:00
Leonardo de Moura
b80a391d63
fix(library/init/sigma): make sure file compiles even when '--to_axiom' is used
2015-06-16 12:52:08 -07:00
Rob Lewis
a72ca936c0
chore(library/real): replace theorems with versions from algebra
2015-06-16 11:30:12 -07:00
Rob Lewis
f7ab2780d4
feat(library/algebra): move more theorems from reals to algebra)
2015-06-16 11:30:12 -07:00
Rob Lewis
b94d0a948d
chore(library/data/real): replace theorems with more general versions from algebra
2015-06-16 11:30:12 -07:00
Rob Lewis
b23e23061f
feat(library/algebra): finish/move more general theorems from reals to algebra)
2015-06-16 11:30:12 -07:00
Rob Lewis
8d0518444d
chore(library/data/{pnat, real}): rename pnat theorems
2015-06-16 11:30:12 -07:00
Rob Lewis
ff0ba6687e
feat(library/algebra/ordered_field): move identity about abs to ordered_field
2015-06-16 11:30:12 -07:00
Rob Lewis
090f00458d
chore(library/data/real): remove redundant theorems
2015-06-16 11:30:12 -07:00
Rob Lewis
34868d196e
feat(library/data/rat): define pos natural upper bounds of rationals
2015-06-16 11:30:12 -07:00
Rob Lewis
1f4765e30a
feat(library/algebra/ordered_ring): add theorems used for rational upper bounds
2015-06-16 11:30:12 -07:00
Rob Lewis
cf7c85e5fd
feat(library/data/real): fill in lots of sorrys about pnats
2015-06-16 11:30:12 -07:00
Rob Lewis
4b38e14586
feat(library/algebra/ordered_field): add a couple missing theorems to ordered_field
2015-06-16 11:30:12 -07:00
Rob Lewis
a79ec6b0d4
feat(library/data/pnat): move facts about positive nats to their own file
2015-06-16 11:30:12 -07:00
Jeremy Avigad
9249ebdaab
feat(library/data/{nat,int}/div.lean): add properties of add and mod
2015-06-15 22:53:11 +10:00
Jeremy Avigad
6b36076ab5
feat({library,hott}/init/nat): add sub_le_succ
2015-06-15 22:53:11 +10:00
Jeremy Avigad
3b010b8c92
feat({library,hott}/algebra/group): add abbreviations e.g. for mul.cancel_left
2015-06-15 22:53:11 +10:00
Jeremy Avigad
a4a8253f50
refactor(library,hott,tests): rename succ_inj to succ.inj, add abbreviation eq_of_succ_eq_succ
2015-06-15 22:52:38 +10:00
Haitao Zhang
679bb8b862
feat(library/data/fin): add more theorems on finite ordinals
...
Add defintional equalities, properties of lifting and lowering functions, and definitions of madd.
2015-06-14 20:49:47 -07:00
Haitao Zhang
844d59c2ae
feat(library/data/fintype/function): add theorems of all nodup lists and all injective functions
2015-06-14 20:49:47 -07:00
Leonardo de Moura
ff5022c2f4
feat(library/data/axioms): add 'type_decidable'
...
In Lean standard mode, Hilbert choice implies that all types are
decidable.
2015-06-14 17:33:22 -07:00
Haitao Zhang
ef4b4d19ce
feat(library/data/list/basic): add cons related equalities
2015-06-14 16:59:56 -07:00
Haitao Zhang
798b240149
fix(library/data/list/comb): adjust dmap related names to comply with convention
2015-06-14 16:59:56 -07:00
Haitao Zhang
6105263222
feat(library/data/list/comb): add theorem on dmap and adjust names
2015-06-11 15:29:52 -07:00
Haitao Zhang
1a9521dc9c
fix(library/data/fintype/function): convert line endings from crlf to lf
2015-06-11 15:29:43 -07:00
Leonardo de Moura
1b5d1136d9
refactor(library/data/finset/card): remove unnecessary xrewrite
...
We can use the default 'rewrite' tactic after the commits pushed today.
2015-06-10 18:46:16 -07:00
Leonardo de Moura
dc8768627c
refactor(library/data/fintype/function): cleanup proof
2015-06-10 18:21:15 -07:00
Leonardo de Moura
8fbe22f263
refactor(library/data/finset/basic): cleanup proof
2015-06-10 18:19:16 -07:00
Leonardo de Moura
226a5800dd
fix(library/data/rat/order): adjust file to recent changes
2015-06-10 16:56:17 -07:00
Jeremy Avigad
3c1f5f4e33
feat(library/data/{set,finset}): add more cardinality facts, rename, and add a lemma from Haitao
2015-06-10 16:39:17 -07:00
Jeremy Avigad
658c5a2c49
feat(library/rat/basic.lean): add reduce for rat, and num and denom
2015-06-10 16:39:17 -07:00
Leonardo de Moura
4b91cfccff
feat(frontends/lean/builtin_exprs): make notation ( e : T )
builtin
...
In the previous approach, the following (definitionally equal) term was being generated
(fun (A : Type) (a : A), a) T e
2015-06-10 14:52:59 -07:00
Leonardo de Moura
1bffb89126
fix(library/algebra/function): lean was failing to infer that injective is a decidable predicate for finite types with decidable equality
...
This is an issue reported by Haitao.
2015-06-09 15:30:58 -07:00
Rob Lewis
d287b20018
chore(library/data/real): move more lemmas to algebra
2015-06-09 16:27:55 +10:00
Rob Lewis
01f0bb827c
feat(library/data/real): use new algebra lemmas in completeness proof
2015-06-09 16:14:52 +10:00
Rob Lewis
7822ba9dee
feat(library/algebra): add lemmas to group and ordered group
2015-06-09 16:14:21 +10:00
Rob Lewis
b1aea149db
chore(library/data/real): update md
2015-06-09 15:43:43 +10:00
Rob Lewis
e112468f99
feat(library/data/real): prove reals are Cauchy complete
2015-06-09 15:39:51 +10:00
Rob Lewis
3749a8ad04
chore(library/data/real): update real.md
2015-06-09 15:39:51 +10:00
Leonardo de Moura
1c5c79fbc1
refactor(library/data/list/perm): use improved 'obtain' to cleanup proof
2015-06-08 11:58:21 -07:00
Haitao Zhang
6949e2d422
feat(library/data/fintype): add finite function related theories
...
develop kth related techniques, all_lists_of_len, all_funs, map between lists and functions, finite inverse and cardinality
remove function module from default import list for now
2015-06-08 10:48:22 -07:00
Leonardo de Moura
35eae96aa5
chore(library/data/int/gcd): remove 'TODO'
...
The 'TODO' was fixed by commit 496189feed
2015-06-08 10:45:05 -07:00
Jeremy Avigad
e59400b58c
feat(library/data/int/{div,gcd}): add some theorems, to reduce rationals
2015-06-08 22:43:51 +10:00
Jeremy Avigad
1c93c5bbb2
feat(library/logic/{connectives.lean,quantiers.lean}): add iff congruence rules
2015-06-08 16:58:08 +10:00
Jeremy Avigad
feb385748f
refactor(library/data/set/map.lean): put map into set namespace
...
This is needed to repair a conflict in the tutorial, but it is the right thing to do anyhow. The type "map A B" should not be a top-level identifier.
2015-06-06 18:58:33 -07:00
Leonardo de Moura
17f2c240e1
refactor(library/init/wf): cleanup wf proofs using tactics
...
add dependent elimination for acc.
2015-06-06 16:58:24 -07:00
Leonardo de Moura
7db84c7036
refactor(library/data): replace 'fin' with Haitao's 'less_than'
...
The commit also fixes vector to use the new definition.
2015-06-05 10:33:19 -07:00
Jeremy Avigad
453da48dd5
feat(library/data/less_than.lean): add finite ordinals from Haitao Zhang
2015-06-05 09:32:00 -07:00
Jeremy Avigad
370860e1b0
feat(library/data/fintype,finset): add cardinality for finite types from Haitao Zhang
2015-06-05 09:32:00 -07:00
Jeremy Avigad
f475408f4c
feat(library/data/list/*): add theorems from Haitao Zhang and clean up
2015-06-05 09:32:00 -07:00
Jeremy Avigad
4db89e16dc
feat(library/theories): create theories folder
2015-06-05 09:32:00 -07:00
Jeremy Avigad
c2aa8c6720
feat(library/data/finset/partition.lean): add theory of partitions into finsets by Haitao Zhang
2015-06-05 09:32:00 -07:00
Leonardo de Moura
4d52d4c790
fix(library/init/quot): prove quot.exact
2015-06-05 08:04:55 -07:00
Floris van Doorn
dce257bccb
fix(init/nat): remove exit
2015-06-04 20:23:44 -04:00
Floris van Doorn
ff41886a32
feat(nat/bquant): give instances for quantification bounded with le
...
also add theorems c_iff_c to logic/connectives, where c is a connective
2015-06-04 20:14:13 -04:00
Floris van Doorn
7f5caab694
feat(nat): redefine le and lt in the standard library
2015-06-04 20:14:13 -04:00
Floris van Doorn
37995edbd7
fix(tools.md): remove missing link
2015-06-04 20:14:13 -04:00
Floris van Doorn
876aa20ad6
feat(hott): Port remainder of §6.3 and §7.2 from the HoTT book
...
Also prove a theorem similar to Lemma 7.3.1
There are still some sorry's in hit.suspension
2015-06-04 20:14:12 -04:00
Leonardo de Moura
63f61a35f4
feat(library/data/list/set): cleanup nodup_map proof
2015-06-04 15:21:40 -07:00
Leonardo de Moura
9a7cff0e89
feat(library/data/list/comb): add length_product theorem
2015-06-04 15:11:09 -07:00
Jeremy Avigad
df69bb4cfc
feat(library/*): add theorems from Haitao on sets and functions, clean up
2015-06-04 11:55:25 -07:00
Jeremy Avigad
03952ae12c
feat(library/logic/{connectives,identities},library/algebra/function): cleanup and some additions from Haitao Zhang
2015-06-04 11:55:25 -07:00
Leonardo de Moura
dce86b3a84
feat(library/init/logic): add 'eq.drec' (in standard Lean) with a signature very similar to eq.rec
in the HoTT library
2015-06-03 17:29:26 -07:00
Leonardo de Moura
c841e63649
refactor(library/data/fintype): create 'fintype' subdirectory
2015-06-03 16:43:55 -07:00
Leonardo de Moura
2a6ea2c6fb
feat(library/data/finset/to_set): add to_set.inj
2015-06-03 14:05:43 -07:00
Leonardo de Moura
16d03c17ee
refactor(library/logic/eq): use 'substvars' tactic
2015-06-02 23:55:51 -07:00
Leonardo de Moura
a8c9121d2e
feat(library/data/vec): add vector as list subtype
2015-06-02 22:09:23 -07:00
Leonardo de Moura
7a39d5aaa3
feat(library/data): add auxiliary definitions
2015-06-02 22:08:25 -07:00
Leonardo de Moura
228a99af7e
feat(library/data/subtype): cleanup proof
2015-06-02 19:51:28 -07:00
Leonardo de Moura
70d0dea02d
feat(library/init/logic): add more congruence theorems
...
Remark: the simplifier should be able to select the "right" one.
2015-06-02 14:06:15 -07:00
Leonardo de Moura
2f9005827c
feat(library/init/logic): 'if-then-else' and 'dependent-if-then-else' congruence theorems
...
We will use these theorems to test the new simplifier.
2015-06-02 13:27:50 -07:00
Leonardo de Moura
50fe4ec6c0
feat(library/data/encodable): add quot.rep definition for choosing equivalence class representative for equivalence classes of encodable types
2015-06-02 11:03:24 -07:00
Leonardo de Moura
e7448ca77e
feat(library/init/quot): add exists_rep theorem for quotients
2015-06-02 10:52:07 -07:00
Leonardo de Moura
1ea56038e3
feat(library/init/quot): add has_decidable_eq definition for quotients
2015-06-02 10:47:20 -07:00
Rob Lewis
b1404c5943
feat(library/data/real): fill in sorrys in proof that R is l.o. field
2015-06-01 23:00:53 +10:00
Rob Lewis
9843e61583
feat(library/data/real): define inverses of reals, prove (classically) that R is a discrete linear ordered field
2015-06-01 23:00:53 +10:00
Jeremy Avigad
82142b60f0
refactor(library/data/finset/basic.lean): remove finset / finset.finset duplicate
2015-06-01 12:35:44 +10:00
Jeremy Avigad
dcae29a253
feat(library/data/int/gcd.lean): add gcd for the integers
2015-06-01 12:35:44 +10:00