batteries
batteries copied to clipboard
The "batteries included" extended library for the Lean programming language and theorem prover
Implement `ext?`, `ext1?` to show used extensionality lemmas, and `ext!?` to brute-force try all ext-lemmas. - `ext?` displays a tactic replacement suggestion that could replace the `ext`. The tactic sequence...
```lean import Std.Tactic.RCases theorem aux (h : 0 < 2) : ∃ n : Nat, n = 2 := ⟨2, rfl⟩ example : True := by rcases aux ?_ with...
More intuitive names than `.inl` and `.inr` for non-type-theorists. See https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/No.20Either.20type
The `@[simp]` attribute is used by both simp and dsimp, so it is possible for a rfl lemma to have a proof by simp but not one by dsimp, and...
```lean import Std.Tactic.Simpa theorem foo : ℕ = ℤ ↔ False := sorry example (bar : ℕ = ℤ) : False := by simpa [foo] using bar /- try 'simp...
```lean import Std.Tactic.Lint def Set (α : Type u) := α → Prop def unionᵢ (s : ι → Set β) : Set β := sorry -- supᵢ s def...
``` import Std.Tactic.RCases variable {α : Type _} [LT α] (a : α) theorem lt_trichotomy (a b : α) : a < b ∨ a = b ∨ b <...
In order to encourage std4 users to write verifiable code with arrays, we should aim to have a similar set of lemmas for arrays (https://github.com/leanprover/std4/blob/main/Std/Data/Array/Lemmas.lean) as we do for lists...