Jeremy Avigad
1c93c5bbb2
feat(library/logic/{connectives.lean,quantiers.lean}): add iff congruence rules
2015-06-08 16:58:08 +10:00
Leonardo de Moura
0e099b5fd8
feat(library/tactic/rewrite_tactic): apply beta&eta reduction before rewriting steps, add option 'rewrite.beta_eta' (default true) to control new feature.
2015-06-06 20:43:52 -07: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
1cbace9df6
feat(library/tactic/congruence_tactic): add congruence lemma generator
...
The generated congruence theorems ignore arguments that are subsingleton types.
2015-06-05 22:00:10 -07:00
Leonardo de Moura
d0d3f9bb41
refactor(kernel,library,frontends/lean): add helper functions, and cleanup collect_locals
2015-06-05 17:29:36 -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
c76d92284f
feat(library/pp_options): add 'pp.all' option
2015-06-05 08:41:46 -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
f995e5ea48
fix(cubical): remove unused basic file
2015-06-04 20:21:52 -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
ff01774fd7
renaming(hit): rename type_quotient to quotient, and quotient to set_quotient
...
This renaming is because type_quotient is a nonstandard name. I've had a discussion with Egbert
Rijke, Steve Awodey and Dan Licata, and the consensus for a better name was 'quotient'. I had to
make changes in src/kernel/hits/hits.cpp, I renamed g_type_quotient* by g_hit_quotient* (to avoid
name clash the standard library quotient, although I don't know whether that name clash would
matter).
2015-06-04 20:14:13 -04:00
Floris van Doorn
06528c4791
refactor(types): create cubical subfolder, update markdown files
2015-06-04 20:14:13 -04:00
Floris van Doorn
33e948d9d1
feat(hit/sphere): Prove that maps from S^n to an (n-1)-type are constant
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
Floris van Doorn
883b4fedb9
feat(hott): start with proof to characterize (is_trunc n A) using iterated loop spaces
2015-06-04 20:14:12 -04:00
Floris van Doorn
4117455e97
feat(hott): redefine nat.le and nat.lt
...
also some minor modifications in other files
2015-06-04 20:14:12 -04:00
Floris van Doorn
d4a991ef84
feat(hott): define cubes and cubeovers
2015-06-04 20:13:53 -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
134740182d
fix(frontends/lean): fixes #652
2015-06-03 21:53:51 -07:00
Leonardo de Moura
c8ad1874a2
fix(library/util): compilation error in debug mode
2015-06-03 17:39:03 -07:00
Leonardo de Moura
68688ecdf6
fix(library/tactic/subst_tactic): in the standard mode, use dependent elimination in the subst tactic (when needed)
...
Before this commit, the subst tactic was producing an type incorrect
result when dependent elimination was needed (see new test for an example).
2015-06-03 17:36:04 -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
Leonardo de Moura
cfb102cbd1
fix(emacs/lean-mode): disable electric-indent-mode
...
closes #636
2015-06-01 22:42:57 -07:00
Leonardo de Moura
b2f8d2000c
fix(library/simplifier/rewrite_rule_set): avoid compiler specific behavior
2015-06-01 22:23:34 -07:00
Leonardo de Moura
d6997300f1
fix(library/private): use environment fingerprint to compute private decls "unique" identifier
...
fixes #648
2015-06-01 22:21:31 -07:00
Leonardo de Moura
4ace996057
fix(library/simplifier): bug in is_permutation_ceqv
2015-06-01 18:07:31 -07:00
Leonardo de Moura
0fbc944cdd
feat(frontends/lean): add '[rewrite]' attribute
2015-06-01 17:58:24 -07:00