Kim Morrison
e280de00b6
feat: gaps/cleanup in List lemmas ( #4835 )
2024-07-26 05:00:50 +00:00
Kim Morrison
74dcd6c2a9
feat: lemmas for List.head and List.getLast ( #4678 )
2024-07-09 22:13:41 +00:00
Kim Morrison
0f6a802314
feat: characterisations of List.Sublist ( #4704 )
2024-07-09 21:34:29 +00:00
Kim Morrison
6ed26dcf8f
chore: cleanup unused arguments (from linter) ( #4621 )
2024-07-07 21:20:06 +00:00
Markus Himmel
d72fcb6b2a
feat: Option.or ( #4600 )
...
Split from #4583
2024-07-03 01:30:15 +00:00
Kim Morrison
554e723433
chore: add 'since' dates to deprecated ( #4617 )
2024-07-02 04:30:09 +00:00
Markus Himmel
e12999bcf6
feat: additional lemmas for Option ( #4599 )
...
Split from #4583
Mathlib has `isSome_map'` but calls it `isSome_map`.
2024-07-02 01:58:33 +00:00
Bolton Bailey
5426a5c8b3
chore: Remove simp from Option.elim, replace with individal simp lemmas ( #4504 )
...
This PR removes the `simp` attribute from `Option.elim` and adds it to
two related simp lemmas, `Option.elim_none` and `Option.elim_some`.
This PR comes from some discussion
[here](https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/optionEquivLeft_apply.20simp/near/438321459 )
about `simps!` feeling too aggressive in unfolding this lemma.
2024-06-23 00:58:25 +00:00
Kim Morrison
face4cef75
feat: complete API for List.replicate ( #4487 )
...
This is not the most exciting place to start, but I started here to:
* pick a function with little development in Batteries and Mathlib, so I
wouldn't have conflicts
* that is easy!
* to see how much effort it is to get fairly complete coverage
* and to set up some infrastructure to be used later, i.e.
`tests/lean/run/list_simp.lean`
2024-06-18 08:30:09 +00:00
Leonardo de Moura
fd4281a636
fix: misleading type at Option.forM ( #4403 )
...
The type uses `PUnit`, but the `pure ()` in the body was forcing the
implicit universe level at `PUnit` to be `1`.
We should probably elaborate `def`s like we elaborate theorems when the
resulting type is provided. This kind of mistake is hard to spot.
2024-06-07 23:33:15 +00:00
Kim Morrison
299cb9a806
chore: remove @[simp] from bind_eq_some ( #4314 )
2024-06-01 16:04:02 +00:00
Kim Morrison
91244b2dd9
chore: add dates to @[deprecated] attributes ( #3967 )
2024-05-14 03:24:57 +00:00
Kim Morrison
7c34b736fc
chore: deprecate Option.toBool in favour of Option.isSome ( #3866 )
2024-04-22 07:20:19 +00:00
Kim Morrison
cefba8abd2
chore: rename Option.toMonad and remove argument ( #3865 )
2024-04-17 04:58:54 +00:00
Scott Morrison
36f1398aaa
doc: some doc-strings for Option ( #3868 )
2024-04-11 14:27:07 +00:00
Sebastian Ullrich
68eaf33e86
feat: snapshot trees and language processors ( #3014 )
...
This is the foundation for work on making processing in the language
server both more fine-grained (incremental tactics) as well as parallel.
2024-03-14 13:40:08 +00:00
Scott Morrison
eaf44d74ae
chore: upstream Option material from Std ( #3356 )
2024-02-16 02:05:18 +00:00
Mario Carneiro
583e023314
chore: snake-case attributes (part 2)
2022-10-19 09:28:08 -07:00
Leonardo de Moura
870de844dc
chore: annotate relevant monadic code with [alwaysInline]
...
TODO: after we delete old code generator, we should replace
`@[alwaysInline, inline]` with `@[alwaysInline]`.
Remainder: we want the old code generator to ignore `@[alwaysInline]`
annotations, in particular, the new ones on `instance` commands that
are actually annotations for the instance methods.
2022-10-12 19:48:02 -07:00
Ed Ayers
2a6697e077
feat: goal-diffs ( #1610 )
2022-09-24 11:46:11 +02:00
Sebastian Ullrich
f90e4ae30c
feat: more TSyntax API & coercions
2022-06-27 22:37:02 +02:00
Sebastian Ullrich
ae7b895f7a
refactor: unname some unused variables
2022-06-07 16:37:45 -07:00
Leonardo de Moura
c65537aea5
feat: Option is a Monad again
...
TODO: remove `OptionM` after update stage0
see: https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/Do.20we.20still.20need.20OptionM.3F/near/279761084
2022-05-04 15:27:42 -07:00
Leonardo de Moura
84f374702d
feat: add fields isInstance and isType to InteractiveHypothesis
...
see https://github.com/leanprover/vscode-lean4/issues/76
2021-12-10 09:08:55 -08:00
Leonardo de Moura
3714cf16ec
refactor: lazy evaluation for <|>
...
see #617
2021-09-07 17:06:10 -07:00
Leonardo de Moura
a821dcbff2
chore: enforce naming convention for theorems
...
see issue #402
fix: `ElabTerm.lean`
2021-08-07 12:48:38 -07:00
Leonardo de Moura
a230fe2d06
fix: forallMetaTelescope issue
...
This commit incorporates the fix at PR #612 , and clean up
`Meta/Basic.lean` using Lean 4 features.
2021-08-06 09:47:10 -07:00
Leonardo de Moura
f4a7ffd8c8
chore: fix codebase and tests
2021-06-29 17:14:52 -07:00
Leonardo de Moura
7398db5f3f
fix: rw final goal state
2021-05-04 16:58:44 -07:00
Leonardo de Moura
3a80e87793
chore: #405 step 1
2021-04-22 20:03:48 -07:00
Leonardo de Moura
9a5f239513
refactor: remove Monad Option and Alternative Option
...
We should use `OptionM` instead.
`Option` still implements `Functor` and `OrElse`.
cc @Kha
2021-03-20 18:25:25 -07:00
Sebastian Ullrich
e62542ed29
feat: CoeSort Bool Prop
2021-03-20 14:52:16 +01:00
Leonardo de Moura
67bcff3bc8
chore: use deriving DecidableEq
2020-12-17 17:48:23 -08:00
Leonardo de Moura
731ca49088
chore: cleanup
2020-12-13 15:51:34 -08:00
Leonardo de Moura
be812081f4
chore: using "unbound implicit locals"
2020-11-23 13:09:02 -08:00
Leonardo de Moura
c7a31ed52e
chore: remove duplicate instances
2020-11-21 11:05:52 -08:00
Leonardo de Moura
6ab0be952c
chore: merge src/Control files
...
Some of them were almost empty after the refactoring.
2020-11-10 18:47:23 -08:00
Leonardo de Moura
a8c791ecae
chore: remove dead files and functions
...
Remove obsolete combinators: `whenM`, `unlessM`, and `condM`
cc @Kha
2020-11-10 18:37:15 -08:00
Leonardo de Moura
2daeb195b5
chore: use new names
2020-11-10 10:15:19 -08:00
Leonardo de Moura
bcae20381f
chore: naming convention
2020-10-31 19:19:18 -07:00
Leonardo de Moura
898a08a0c1
chore: avoid Has prefix in type classes
...
closes #203
2020-10-27 18:29:19 -07:00
Leonardo de Moura
13c2a8ff51
chore: remove #lang lean4 header
2020-10-25 09:54:07 -07:00
Leonardo de Moura
3651aa2159
chore: move to new frontend
2020-10-23 16:40:15 -07:00
Leonardo de Moura
78c05e8f46
chore: move to new frontend
2020-10-23 16:13:55 -07:00
Leonardo de Moura
bd58048449
chore: { <source> with ... } syntax
2020-05-20 15:08:43 -07:00
Sebastian Ullrich
e999fa678d
feat: add some useful helper functions I didn't actually use in the end
2020-03-19 17:14:31 -07:00
Leonardo de Moura
6a046a11c2
chore: remove coeSortBool
...
It is interacting with new `Coe`.
We can add it back at `Coe.lean` after we remove `HasCoe.lean`
2020-01-28 19:07:02 -08:00
Leonardo de Moura
e9e4dfe1ff
feat: add new Coe.lean
2020-01-28 13:10:30 -08:00
Leonardo de Moura
7809274c3a
chore: Coe.lean ==> HasCoe.lean
2020-01-28 08:55:22 -08:00
Sebastian Ullrich
81381d5c77
feat: make all antiquotation kinds optional
2019-12-30 08:24:29 -08:00