Loogle!
Result
Found 51 declarations whose name contains "tanh".
- Float.atanh 📋 Init.Data.Float
: Float → Float - Float.tanh 📋 Init.Data.Float
: Float → Float - Float32.atanh 📋 Init.Data.Float32
: Float32 → Float32 - Float32.tanh 📋 Init.Data.Float32
: Float32 → Float32 - Complex.tanh 📋 Mathlib.Analysis.Complex.Trigonometric
(z : ℂ) : ℂ - Real.tanh 📋 Mathlib.Analysis.Complex.Trigonometric
(x : ℝ) : ℝ - Complex.ofReal_tanh 📋 Mathlib.Analysis.Complex.Trigonometric
(x : ℝ) : ↑(Real.tanh x) = Complex.tanh ↑x - Complex.tanh_ofReal_re 📋 Mathlib.Analysis.Complex.Trigonometric
(x : ℝ) : (Complex.tanh ↑x).re = Real.tanh x - Complex.ofReal_tanh_ofReal_re 📋 Mathlib.Analysis.Complex.Trigonometric
(x : ℝ) : ↑(Complex.tanh ↑x).re = Complex.tanh ↑x - Real.tanh_lt_one 📋 Mathlib.Analysis.Complex.Trigonometric
(x : ℝ) : Real.tanh x < 1 - Complex.tanh_neg 📋 Mathlib.Analysis.Complex.Trigonometric
(x : ℂ) : Complex.tanh (-x) = -Complex.tanh x - Complex.tanh_ofReal_im 📋 Mathlib.Analysis.Complex.Trigonometric
(x : ℝ) : (Complex.tanh ↑x).im = 0 - Real.tanh_neg 📋 Mathlib.Analysis.Complex.Trigonometric
(x : ℝ) : Real.tanh (-x) = -Real.tanh x - Complex.tanh_zero 📋 Mathlib.Analysis.Complex.Trigonometric
: Complex.tanh 0 = 0 - Real.neg_one_lt_tanh 📋 Mathlib.Analysis.Complex.Trigonometric
(x : ℝ) : -1 < Real.tanh x - Real.tanh_zero 📋 Mathlib.Analysis.Complex.Trigonometric
: Real.tanh 0 = 0 - Real.abs_tanh_lt_one 📋 Mathlib.Analysis.Complex.Trigonometric
(x : ℝ) : |Real.tanh x| < 1 - Complex.tanh_eq_sinh_div_cosh 📋 Mathlib.Analysis.Complex.Trigonometric
(x : ℂ) : Complex.tanh x = Complex.sinh x / Complex.cosh x - Real.tanh_eq_sinh_div_cosh 📋 Mathlib.Analysis.Complex.Trigonometric
(x : ℝ) : Real.tanh x = Real.sinh x / Real.cosh x - Complex.tanh_mul_I 📋 Mathlib.Analysis.Complex.Trigonometric
(x : ℂ) : Complex.tanh (x * Complex.I) = Complex.tan x * Complex.I - Real.tanh_sq_lt_one 📋 Mathlib.Analysis.Complex.Trigonometric
(x : ℝ) : Real.tanh x ^ 2 < 1 - Real.tanh_eq 📋 Mathlib.Analysis.Complex.Trigonometric
(x : ℝ) : Real.tanh x = (Real.exp x - Real.exp (-x)) / (Real.exp x + Real.exp (-x)) - Complex.tanh_conj 📋 Mathlib.Analysis.Complex.Trigonometric
(x : ℂ) : Complex.tanh ((starRingEnd ℂ) x) = (starRingEnd ℂ) (Complex.tanh x) - Real.tanh_arsinh 📋 Mathlib.Analysis.SpecialFunctions.Arsinh
(x : ℝ) : Real.tanh (Real.arsinh x) = x / √(1 + x ^ 2) - UpperHalfPlane.tanh_half_dist 📋 Mathlib.Analysis.Complex.UpperHalfPlane.Metric
(z w : UpperHalfPlane) : Real.tanh (dist z w / 2) = dist ↑z ↑w / dist (↑z) ((starRingEnd ℂ) ↑w) - Real.tanh_arcosh 📋 Mathlib.Analysis.SpecialFunctions.Arcosh
{x : ℝ} (hx : 1 ≤ x) : Real.tanh (Real.arcosh x) = √(x ^ 2 - 1) / x - Real.artanh 📋 Mathlib.Analysis.SpecialFunctions.Artanh
(x : ℝ) : ℝ - Real.tanhPartialEquiv 📋 Mathlib.Analysis.SpecialFunctions.Artanh
: PartialEquiv ℝ ℝ - Real.tanh_injective 📋 Mathlib.Analysis.SpecialFunctions.Artanh
: Function.Injective Real.tanh - Real.artanh_tanh 📋 Mathlib.Analysis.SpecialFunctions.Artanh
(x : ℝ) : Real.artanh (Real.tanh x) = x - Real.artanh_zero 📋 Mathlib.Analysis.SpecialFunctions.Artanh
: Real.artanh 0 = 0 - Real.artanh_injOn 📋 Mathlib.Analysis.SpecialFunctions.Artanh
: Set.InjOn Real.artanh (Set.Ioo (-1) 1) - Real.artanh_nonneg 📋 Mathlib.Analysis.SpecialFunctions.Artanh
{x : ℝ} (hx : 0 ≤ x) : 0 ≤ Real.artanh x - Real.artanh_nonpos 📋 Mathlib.Analysis.SpecialFunctions.Artanh
{x : ℝ} (hx : x ≤ 0) : Real.artanh x ≤ 0 - Real.artanh_bijOn 📋 Mathlib.Analysis.SpecialFunctions.Artanh
: Set.BijOn Real.artanh (Set.Ioo (-1) 1) Set.univ - Real.artanh_surjOn 📋 Mathlib.Analysis.SpecialFunctions.Artanh
: Set.SurjOn Real.artanh (Set.Ioo (-1) 1) Set.univ - Real.strictMonoOn_artanh 📋 Mathlib.Analysis.SpecialFunctions.Artanh
: StrictMonoOn Real.artanh (Set.Ioo (-1) 1) - Real.tanh_bijOn 📋 Mathlib.Analysis.SpecialFunctions.Artanh
: Set.BijOn Real.tanh Set.univ (Set.Ioo (-1) 1) - Real.tanh_surjOn 📋 Mathlib.Analysis.SpecialFunctions.Artanh
: Set.SurjOn Real.tanh Set.univ (Set.Ioo (-1) 1) - Real.tanh_artanh 📋 Mathlib.Analysis.SpecialFunctions.Artanh
{x : ℝ} (hx : x ∈ Set.Ioo (-1) 1) : Real.tanh (Real.artanh x) = x - Real.artanh_pos 📋 Mathlib.Analysis.SpecialFunctions.Artanh
{x : ℝ} (hx : x ∈ Set.Ioo 0 1) : 0 < Real.artanh x - Real.artanh_le_artanh 📋 Mathlib.Analysis.SpecialFunctions.Artanh
{x y : ℝ} (hx : -1 < x) (hy : y < 1) (hxy : x ≤ y) : Real.artanh x ≤ Real.artanh y - Real.artanh_lt_artanh 📋 Mathlib.Analysis.SpecialFunctions.Artanh
{x y : ℝ} (hx : -1 < x) (hy : y < 1) (hxy : x < y) : Real.artanh x < Real.artanh y - Real.artanh_neg 📋 Mathlib.Analysis.SpecialFunctions.Artanh
{x : ℝ} (hx : x ∈ Set.Ioo (-1) 0) : Real.artanh x < 0 - Real.artanh_eq_zero_iff 📋 Mathlib.Analysis.SpecialFunctions.Artanh
{x : ℝ} : Real.artanh x = 0 ↔ x ≤ -1 ∨ x = 0 ∨ 1 ≤ x - Real.artanh_le_artanh_iff 📋 Mathlib.Analysis.SpecialFunctions.Artanh
{x y : ℝ} (hx : x ∈ Set.Ioo (-1) 1) (hy : y ∈ Set.Ioo (-1) 1) : Real.artanh x ≤ Real.artanh y ↔ x ≤ y - Real.artanh_lt_artanh_iff 📋 Mathlib.Analysis.SpecialFunctions.Artanh
{x y : ℝ} (hx : x ∈ Set.Ioo (-1) 1) (hy : y ∈ Set.Ioo (-1) 1) : Real.artanh x < Real.artanh y ↔ x < y - Real.exp_artanh 📋 Mathlib.Analysis.SpecialFunctions.Artanh
{x : ℝ} (hx : x ∈ Set.Ioo (-1) 1) : Real.exp (Real.artanh x) = √((1 + x) / (1 - x)) - Real.sinh_artanh 📋 Mathlib.Analysis.SpecialFunctions.Artanh
{x : ℝ} (hx : x ∈ Set.Ioo (-1) 1) : Real.sinh (Real.artanh x) = x / √(1 - x ^ 2) - Real.cosh_artanh 📋 Mathlib.Analysis.SpecialFunctions.Artanh
{x : ℝ} (hx : x ∈ Set.Ioo (-1) 1) : Real.cosh (Real.artanh x) = 1 / √(1 - x ^ 2) - Real.artanh_eq_half_log 📋 Mathlib.Analysis.SpecialFunctions.Artanh
{x : ℝ} (hx : x ∈ Set.Icc (-1) 1) : Real.artanh x = 1 / 2 * Real.log ((1 + x) / (1 - x))
About
Loogle searches Lean and Mathlib definitions and theorems.
You can use Loogle from within the Lean4 VSCode language extension
using (by default) Ctrl-K Ctrl-S. You can also try the
#loogle command from LeanSearchClient,
the CLI version, the Loogle
VS Code extension, the lean.nvim
integration or the Zulip bot.
Usage
Loogle finds definitions and lemmas in various ways:
By constant:
🔍Real.sin
finds all lemmas whose statement somehow mentions the sine function.By lemma name substring:
🔍"differ"
finds all lemmas that have"differ"somewhere in their lemma name.By subexpression:
🔍_ * (_ ^ _)
finds all lemmas whose statements somewhere include a product where the second argument is raised to some power.The pattern can also be non-linear, as in
🔍Real.sqrt ?a * Real.sqrt ?aIf the pattern has parameters, they are matched in any order. Both of these will find
List.map:
🔍(?a -> ?b) -> List ?a -> List ?b
🔍List ?a -> (?a -> ?b) -> List ?bBy main conclusion:
🔍|- tsum _ = _ * tsum _
finds all lemmas where the conclusion (the subexpression to the right of all→and∀) has the given shape.As before, if the pattern has parameters, they are matched against the hypotheses of the lemma in any order; for example,
🔍|- _ < _ → tsum _ < tsum _
will findtsum_lt_tsumeven though the hypothesisf i < g iis not the last.You can filter for definitions vs theorems: Using
⊢ (_ : Type _)finds all definitions which provide data while⊢ (_ : Prop)finds all theorems (and definitions of proofs).
If you pass more than one such search filter, separated by commas
Loogle will return lemmas which match all of them. The
search
🔍 Real.sin, "two", tsum, _ * _, _ ^ _, |- _ < _ → _
would find all lemmas which mention the constants Real.sin
and tsum, have "two" as a substring of the
lemma name, include a product and a power somewhere in the type,
and have a hypothesis of the form _ < _ (if
there were any such lemmas). Metavariables (?a) are
assigned independently in each filter.
The #lucky button will directly send you to the
documentation of the first hit.
Source code
You can find the source code for this service at https://github.com/nomeata/loogle. The https://loogle.lean-lang.org/ service is provided by the Lean FRO.
This is Loogle revision 128218b serving mathlib revision d8f2208