Commit graph

2411 commits

Author SHA1 Message Date
Leonardo de Moura
1f37cc7b41 feat: add next x₁ ... xₙ => tac tactic 2021-08-29 10:51:01 -07:00
Leonardo de Moura
1e5a4729c3 feat: case _ ... => ... as solve next goal 2021-08-29 10:45:38 -07:00
Leonardo de Moura
b205cfaaf2 chore: missing annotations at List.mapTR 2021-08-27 10:17:49 -07:00
Leonardo de Moura
8ba10521e6 feat: add theorem for tutorial 2021-08-26 12:58:02 -07:00
Leonardo de Moura
00193fb953 feat: add theorems for tutorial 2021-08-26 12:13:15 -07:00
Leonardo de Moura
21a4296ca8 feat: add anyGoals tatic for tutorial 2021-08-26 10:41:06 -07:00
Leonardo de Moura
1ede4843e3 feat: add renameI tactic 2021-08-25 18:50:59 -07:00
Leonardo de Moura
795ccf6e2b chore: add Trans instances for tutorial 2021-08-25 08:50:51 -07:00
Sebastian Ullrich
f9fd0b3de4 feat: calc 2021-08-25 06:57:09 -07:00
Leonardo de Moura
f08b542068 chore: add Nat.add_mul and Nat.mul_add for tutorial 2021-08-25 06:44:12 -07:00
Leonardo de Moura
63b11368ca chore: add Or.elim for tutorial 2021-08-24 14:11:18 -07:00
Leonardo de Moura
82eb1b3558 chore: add Or.intro_left and Or.intro_right
for porting manuals
2021-08-24 14:06:29 -07:00
Wojciech Nawrocki
e3d866bc03 feat: initial TraceExplorer
Motivation: trace messages from systems such as instance synthesis or defeq checks can be massive and it is hard to find the relevant info within. We provide an interactive TraceExplorer component to do this.
2021-08-24 08:57:41 -07:00
Wojciech Nawrocki
7babcc2425 fix: tail-recursion in Format pretty-printer 2021-08-24 08:57:41 -07:00
Wojciech Nawrocki
77365abc8b chore: Repr Syntax and minor cleanup 2021-08-24 08:57:41 -07:00
Wojciech Nawrocki
bc8027cdc6 perf: speed up String.intercalate 2021-08-24 08:57:41 -07:00
Wojciech Nawrocki
528283bc7d feat: MonadPrettyFormat 2021-08-24 08:57:41 -07:00
Leonardo de Moura
4dccaa963b feat: add List.mapTR and csimp lemma 2021-08-22 09:32:19 -07:00
Leonardo de Moura
ec6af1ba26 feat: use simple List.append definition and add csimp theorem 2021-08-21 16:11:54 -07:00
Leonardo de Moura
3b240d9a14 feat: use simple List.length definition and add csimp theorem 2021-08-21 13:11:06 -07:00
Leonardo de Moura
7066619123 refactor: define Nat.le using inductive type 2021-08-20 19:39:45 -07:00
Leonardo de Moura
33a0da8c6f chore: remove simp annotation from PUnit.eq_punit
closes #635
2021-08-19 11:22:13 -07:00
Leonardo de Moura
107712f8be feat: add instance from CoeSort to CoeTail 2021-08-18 20:24:43 -07:00
Leonardo de Moura
8d90872d28 chore: add not_not_intro 2021-08-17 21:32:32 -07:00
Leonardo de Moura
7c5ab8b4c9 chore: prepare to add <- as simp argument 2021-08-14 06:59:55 -07:00
Leonardo de Moura
25344453c0 feat: add simpStar parser 2021-08-14 06:29:26 -07:00
Leonardo de Moura
a15a36b8d3 chore: cleanup Subarray instances 2021-08-13 19:29:09 -07:00
Leonardo de Moura
4b58c4cc02 refactor: instances that "hide" coercions
Example:
```
instance [CoeHTCT α β] [Add β] : HAdd α β β where
  hAdd a b := Add.add a b
```
2021-08-13 17:18:55 -07:00
Leonardo de Moura
ef46b0145b chore: use binop% to define the notations >> and <|>
Motivation: we want to delete the instances
```
instance [CoeHTCT α β] [OrElse β] : HOrElse α β β where
  hOrElse a b := OrElse.orElse a b

instance [CoeHTCT α β] [OrElse β] : HOrElse β α β where
  hOrElse a b := OrElse.orElse a b

instance [CoeHTCT α β] [AndThen β] : HAndThen α β β where
  hAndThen a b := AndThen.andThen a b

instance [CoeHTCT α β] [AndThen β] : HAndThen β α β where
  hAndThen a b := AndThen.andThen a b
```
after we update stage0
2021-08-13 17:13:01 -07:00
Leonardo de Moura
b012050917 chore: remove some macros that use binop%
For example, given `i : Int` and `n : Nat`, we don't want to coerce `n`
into a `Int` in the term `i ^ n`.
2021-08-13 17:00:59 -07:00
Leonardo de Moura
be23709737 chore: use binop% to define ++ notation 2021-08-13 16:26:35 -07:00
Leonardo de Moura
24fe2875c6 chore: change Pow class
Based on the suggestion at https://github.com/leanprover/lean4/issues/433
2021-08-12 13:59:55 -07:00
Sebastian Ullrich
6c220423ed chore: adjust stx precedences 2021-08-12 07:48:42 -07:00
Daniel Selsam
040141f137 feat: unexpander for Subtype 2021-08-12 09:32:33 +02:00
Leonardo de Moura
f4433f3147 feat: add Alternative (StateRefT' ω σ m) 2021-08-10 14:27:05 -07:00
François G. Dorais
358a129d78 fix: protect rfl 2021-08-07 13:25:54 -07:00
Leonardo de Moura
9cc94296e5 chore: remove staging workaround theorems 2021-08-07 12:52:31 -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
8a84532760 feat: add PEmpty
closes #537
2021-08-06 19:18:22 -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
4dbb3e6db1 fix: add workaround to prevent code explosion at deriving for FromJson
fixes #569
2021-08-05 06:58:07 -07:00
Daniel Selsam
0036111db9 feat: pp.analyze original mvars are not unknown 2021-08-03 09:13:18 +02:00
Daniel Selsam
db4d33487a fix: unexpanders can't specify exact names 2021-08-03 09:13:18 +02:00
Daniel Selsam
9744b51c1b fix: unexpand pairs 2021-08-03 09:13:18 +02:00
Daniel Selsam
b3bb82ee7e feat: turn more delaborators into unexpanders 2021-08-03 09:13:18 +02:00
Daniel Selsam
89364b802b feat: top-down heuristic delaboration 2021-08-03 09:13:18 +02:00
Leonardo de Moura
ea37a29e4c chore: remove TODO 2021-08-02 20:25:29 -07:00
Leonardo de Moura
cfb7e27b87 fix: isStructure vs isStructureLike 2021-08-02 18:54:19 -07:00
Wojciech Nawrocki
f1b4d9a193 chore: restore non-generic Format
Motivation: it is unclear whether this is the best solution for embedding objects in pretty-printer outputs.
2021-08-01 09:58:44 +02:00
Wojciech Nawrocki
b022a7c1d2 style: indent 2021-08-01 09:58:44 +02:00