You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/dev/index.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,7 @@ You should not edit the `stage0` directory except using the commands described i
8
8
9
9
## Development Setup
10
10
11
-
You can use any of the [supported editors](../setup.md) for editing the Lean source code.
11
+
You can use any of the [supported editors](https://lean-lang.org/install/manual/) for editing the Lean source code.
12
12
Please see below for specific instructions for VS Code.
Copy file name to clipboardExpand all lines: doc/make/index.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
These are instructions to set up a working development environment for those who wish to make changes to Lean itself. It is part of the [Development Guide](../dev/index.md).
2
2
3
-
We strongly suggest that new users instead follow the [Quickstart](../quickstart.md) to get started using Lean, since this sets up an environment that can automatically manage multiple Lean toolchain versions, which is necessary when working within the Lean ecosystem.
3
+
We strongly suggest that new users instead follow the [Installation Instructions](https://lean-lang.org/install/) to get started using Lean, since this sets up an environment that can automatically manage multiple Lean toolchain versions, which is necessary when working within the Lean ecosystem.
Copy file name to clipboardExpand all lines: src/Init/Control/Lawful/Instances.lean
+31-29Lines changed: 31 additions & 29 deletions
Original file line number
Diff line number
Diff line change
@@ -22,34 +22,35 @@ open Function
22
22
23
23
namespace ExceptT
24
24
25
-
@[ext]theoremext {x y : ExceptT ε m α} (h : x.run = y.run) : x = y := by
25
+
@[ext, grind ext]theoremext {x y : ExceptT ε m α} (h : x.run = y.run) : x = y := by
26
26
simp [run] at h
27
27
assumption
28
28
29
-
@[simp]theoremrun_pure [Monad m] (x : α) : run (pure x : ExceptT ε m α) = pure (Except.ok x) := rfl
29
+
@[simp, grind =]theoremrun_pure [Monad m] (x : α) : run (pure x : ExceptT ε m α) = pure (Except.ok x) := rfl
30
30
31
-
@[simp]theoremrun_lift [Monad.{u, v} m] (x : m α) : run (ExceptT.lift x : ExceptT ε m α) = (Except.ok <$> x : m (Except ε α)) := rfl
31
+
@[simp, grind =]theoremrun_lift [Monad.{u, v} m] (x : m α) : run (ExceptT.lift x : ExceptT ε m α) = (Except.ok <$> x : m (Except ε α)) := rfl
32
32
33
-
@[simp]theoremrun_throw [Monad m] : run (throw e : ExceptT ε m β) = pure (Except.error e) := rfl
33
+
@[simp, grind =]theoremrun_throw [Monad m] : run (throw e : ExceptT ε m β) = pure (Except.error e) := rfl
34
34
35
-
@[simp]theoremrun_bind_lift [Monad m] [LawfulMonad m] (x : m α) (f : α → ExceptT ε m β) : run (ExceptT.lift x >>= f : ExceptT ε m β) = x >>= fun a => run (f a) := by
35
+
@[simp, grind =]theoremrun_bind_lift [Monad m] [LawfulMonad m] (x : m α) (f : α → ExceptT ε m β) : run (ExceptT.lift x >>= f : ExceptT ε m β) = x >>= fun a => run (f a) := by
@[simp]theoremrun_lift {α σ : Type u} [Monad m] (x : m α) (s : σ) : (StateT.lift x : StateT σ m α).run s = x >>= fun a => pure (a, s) := rfl
203
+
@[simp, grind =]theoremrun_lift {α σ : Type u} [Monad m] (x : m α) (s : σ) : (StateT.lift x : StateT σ m α).run s = x >>= fun a => pure (a, s) := rfl
203
204
205
+
@[grind =]
204
206
theoremrun_bind_lift {α σ : Type u} [Monad m] [LawfulMonad m] (x : m α) (f : α → StateT σ m β) (s : σ) : (StateT.lift x >>= f).run s = x >>= fun a => (f a).run s := by
205
207
simp [StateT.lift, StateT.run, bind, StateT.bind]
206
208
207
-
@[simp]theoremrun_monadLift {α σ : Type u} [Monad m] [MonadLiftT n m] (x : n α) (s : σ) : (monadLift x : StateT σ m α).run s = (monadLift x : m α) >>= fun a => pure (a, s) := rfl
209
+
@[simp, grind =]theoremrun_monadLift {α σ : Type u} [Monad m] [MonadLiftT n m] (x : n α) (s : σ) : (monadLift x : StateT σ m α).run s = (monadLift x : m α) >>= fun a => pure (a, s) := rfl
208
210
209
-
@[simp]theoremrun_monadMap [MonadFunctorT n m] (f : {β : Type u} → n β → n β) (x : StateT σ m α) (s : σ) :
211
+
@[simp, grind =]theoremrun_monadMap [MonadFunctorT n m] (f : {β : Type u} → n β → n β) (x : StateT σ m α) (s : σ) :
210
212
(monadMap @f x : StateT σ m α).run s = monadMap @f (x.run s) := rfl
211
213
212
214
@[simp]theoremrun_seq {α β σ : Type u} [Monad m] [LawfulMonad m] (f : StateT σ m (α → β)) (x : StateT σ m α) (s : σ) : (f <*> x).run s = (f.run s >>= fun fs => (fun (p : α × σ) => (fs.1 p.1, p.2)) <$> x.run fs.2) := by
0 commit comments