Loogle!
Result
Found 18 declarations mentioning Turing.ListBlank.map.
- Turing.ListBlank.map π Mathlib.Computability.Tape
{Ξ : Type u_1} {Ξ' : Type u_2} [Inhabited Ξ] [Inhabited Ξ'] (f : Turing.PointedMap Ξ Ξ') (l : Turing.ListBlank Ξ) : Turing.ListBlank Ξ' - Turing.ListBlank.head_map π Mathlib.Computability.Tape
{Ξ : Type u_1} {Ξ' : Type u_2} [Inhabited Ξ] [Inhabited Ξ'] (f : Turing.PointedMap Ξ Ξ') (l : Turing.ListBlank Ξ) : (Turing.ListBlank.map f l).head = f.f l.head - Turing.ListBlank.tail_map π Mathlib.Computability.Tape
{Ξ : Type u_1} {Ξ' : Type u_2} [Inhabited Ξ] [Inhabited Ξ'] (f : Turing.PointedMap Ξ Ξ') (l : Turing.ListBlank Ξ) : (Turing.ListBlank.map f l).tail = Turing.ListBlank.map f l.tail - Turing.ListBlank.nth_map π Mathlib.Computability.Tape
{Ξ : Type u_1} {Ξ' : Type u_2} [Inhabited Ξ] [Inhabited Ξ'] (f : Turing.PointedMap Ξ Ξ') (l : Turing.ListBlank Ξ) (n : β) : (Turing.ListBlank.map f l).nth n = f.f (l.nth n) - Turing.ListBlank.map_mk π Mathlib.Computability.Tape
{Ξ : Type u_1} {Ξ' : Type u_2} [Inhabited Ξ] [Inhabited Ξ'] (f : Turing.PointedMap Ξ Ξ') (l : List Ξ) : Turing.ListBlank.map f (Turing.ListBlank.mk l) = Turing.ListBlank.mk (List.map f.f l) - Turing.ListBlank.map_cons π Mathlib.Computability.Tape
{Ξ : Type u_1} {Ξ' : Type u_2} [Inhabited Ξ] [Inhabited Ξ'] (f : Turing.PointedMap Ξ Ξ') (l : Turing.ListBlank Ξ) (a : Ξ) : Turing.ListBlank.map f (Turing.ListBlank.cons a l) = Turing.ListBlank.cons (f.f a) (Turing.ListBlank.map f l) - Turing.Tape.map_mk' π Mathlib.Computability.Tape
{Ξ : Type u_1} {Ξ' : Type u_2} [Inhabited Ξ] [Inhabited Ξ'] (f : Turing.PointedMap Ξ Ξ') (L R : Turing.ListBlank Ξ) : Turing.Tape.map f (Turing.Tape.mk' L R) = Turing.Tape.mk' (Turing.ListBlank.map f L) (Turing.ListBlank.map f R) - Turing.proj_map_nth π Mathlib.Computability.Tape
{ΞΉ : Type u_1} {Ξ : ΞΉ β Type u_2} [(i : ΞΉ) β Inhabited (Ξ i)] (i : ΞΉ) (L : Turing.ListBlank ((i : ΞΉ) β Ξ i)) (n : β) : (Turing.ListBlank.map (Turing.proj i) L).nth n = L.nth n i - Turing.Tape.map.eq_1 π Mathlib.Computability.Tape
{Ξ : Type u_1} {Ξ' : Type u_2} [Inhabited Ξ] [Inhabited Ξ'] (f : Turing.PointedMap Ξ Ξ') (T : Turing.Tape Ξ) : Turing.Tape.map f T = { head := f.f T.head, left := Turing.ListBlank.map f T.left, right := Turing.ListBlank.map f T.right } - Turing.ListBlank.map_modifyNth π Mathlib.Computability.Tape
{Ξ : Type u_1} {Ξ' : Type u_2} [Inhabited Ξ] [Inhabited Ξ'] (F : Turing.PointedMap Ξ Ξ') (f : Ξ β Ξ) (f' : Ξ' β Ξ') (H : β (x : Ξ), F.f (f x) = f' (F.f x)) (n : β) (L : Turing.ListBlank Ξ) : Turing.ListBlank.map F (Turing.ListBlank.modifyNth f n L) = Turing.ListBlank.modifyNth f' n (Turing.ListBlank.map F L) - Turing.TM2to1.addBottom_map π Mathlib.Computability.TuringMachine
{K : Type u_1} {Ξ : K β Type u_2} (L : Turing.ListBlank ((k : K) β Option (Ξ k))) : Turing.ListBlank.map { f := Prod.snd, map_pt' := β― } (Turing.TM2to1.addBottom L) = L - Turing.TM2to1.addBottom.eq_1 π Mathlib.Computability.TuringMachine
{K : Type u_1} {Ξ : K β Type u_2} (L : Turing.ListBlank ((k : K) β Option (Ξ k))) : Turing.TM2to1.addBottom L = Turing.ListBlank.cons (true, L.head) (Turing.ListBlank.map { f := Prod.mk false, map_pt' := β― } L.tail) - Turing.TM2to1.stk_nth_val π Mathlib.Computability.TuringMachine
{K : Type u_1} {Ξ : K β Type u_2} {L : Turing.ListBlank ((k : K) β Option (Ξ k))} {k : K} {S : List (Ξ k)} (n : β) (hL : Turing.ListBlank.map (Turing.proj k) L = Turing.ListBlank.mk (List.map some S).reverse) : L.nth n k = S.reverse[n]? - Turing.TM2to1.TrCfg.mk π Mathlib.Computability.TuringMachine
{K : Type u_1} {Ξ : K β Type u_2} {Ξ : Type u_3} {Ο : Type u_4} {q : Option Ξ} {v : Ο} {S : (k : K) β List (Ξ k)} (L : Turing.ListBlank ((k : K) β Option (Ξ k))) : (β (k : K), Turing.ListBlank.map (Turing.proj k) L = Turing.ListBlank.mk (List.map some (S k)).reverse) β Turing.TM2to1.TrCfg { l := q, var := v, stk := S } { l := Option.map Turing.TM2to1.Ξ'.normal q, var := v, Tape := Turing.Tape.mk' β (Turing.TM2to1.addBottom L) } - Turing.TM2to1.tr_eval π Mathlib.Computability.TuringMachine
{K : Type u_1} {Ξ : K β Type u_2} {Ξ : Type u_3} {Ο : Type u_4} [DecidableEq K] (M : Ξ β Turing.TM2.Stmt Ξ Ξ Ο) [Inhabited Ξ] [Inhabited Ο] (k : K) (L : List (Ξ k)) {Lβ : Turing.ListBlank (Turing.TM2to1.Ξ' K Ξ)} {Lβ : List (Ξ k)} (Hβ : Lβ β Turing.TM1.eval (Turing.TM2to1.tr M) (Turing.TM2to1.trInit k L)) (Hβ : Lβ β Turing.TM2.eval M k L) : β S L', Turing.TM2to1.addBottom L' = Lβ β§ (β (k : K), Turing.ListBlank.map (Turing.proj k) L' = Turing.ListBlank.mk (List.map some (S k)).reverse) β§ S k = Lβ - Turing.TM2to1.tr_respects_auxβ π Mathlib.Computability.TuringMachine
{K : Type u_1} {Ξ : K β Type u_2} {Ξ : Type u_3} {Ο : Type u_4} [DecidableEq K] (M : Ξ β Turing.TM2.Stmt Ξ Ξ Ο) {k : K} (o : Turing.TM2to1.StAct K Ξ Ο k) (q : Turing.TM2.Stmt Ξ Ξ Ο) (v : Ο) {S : List (Ξ k)} {L : Turing.ListBlank ((k : K) β Option (Ξ k))} (hL : Turing.ListBlank.map (Turing.proj k) L = Turing.ListBlank.mk (List.map some S).reverse) (n : β) (H : n β€ S.length) : Turing.Reachesβ (Turing.TM1.step (Turing.TM2to1.tr M)) { l := some (Turing.TM2to1.Ξ'.go k o q), var := v, Tape := Turing.Tape.mk' β (Turing.TM2to1.addBottom L) } { l := some (Turing.TM2to1.Ξ'.go k o q), var := v, Tape := (Turing.Tape.move Turing.Dir.right)^[n] (Turing.Tape.mk' β (Turing.TM2to1.addBottom L)) } - Turing.TM2to1.tr_respects_auxβ π Mathlib.Computability.TuringMachine
{K : Type u_1} {Ξ : K β Type u_2} {Ξ : Type u_3} {Ο : Type u_4} [DecidableEq K] {k : K} {q : Turing.TM1.Stmt (Turing.TM2to1.Ξ' K Ξ) (Turing.TM2to1.Ξ' K Ξ Ξ Ο) Ο} {v : Ο} {S : (k : K) β List (Ξ k)} {L : Turing.ListBlank ((k : K) β Option (Ξ k))} (hL : β (k : K), Turing.ListBlank.map (Turing.proj k) L = Turing.ListBlank.mk (List.map some (S k)).reverse) (o : Turing.TM2to1.StAct K Ξ Ο k) : let v' := Turing.TM2to1.stVar v (S k) o; let Sk' := Turing.TM2to1.stWrite v (S k) o; let S' := Function.update S k Sk'; β L', (β (k : K), Turing.ListBlank.map (Turing.proj k) L' = Turing.ListBlank.mk (List.map some (S' k)).reverse) β§ Turing.TM1.stepAux (Turing.TM2to1.trStAct q o) v ((Turing.Tape.move Turing.Dir.right)^[(S k).length] (Turing.Tape.mk' β (Turing.TM2to1.addBottom L))) = Turing.TM1.stepAux q v' ((Turing.Tape.move Turing.Dir.right)^[(S' k).length] (Turing.Tape.mk' β (Turing.TM2to1.addBottom L'))) - Turing.TM2to1.tr_respects_aux π Mathlib.Computability.TuringMachine
{K : Type u_1} {Ξ : K β Type u_2} {Ξ : Type u_3} {Ο : Type u_4} [DecidableEq K] (M : Ξ β Turing.TM2.Stmt Ξ Ξ Ο) {q : Turing.TM2.Stmt Ξ Ξ Ο} {v : Ο} {T : Turing.ListBlank ((i : K) β Option (Ξ i))} {k : K} {S : (k : K) β List (Ξ k)} (hT : β (k : K), Turing.ListBlank.map (Turing.proj k) T = Turing.ListBlank.mk (List.map some (S k)).reverse) (o : Turing.TM2to1.StAct K Ξ Ο k) (IH : β {v : Ο} {S : (k : K) β List (Ξ k)} {T : Turing.ListBlank ((k : K) β Option (Ξ k))}, (β (k : K), Turing.ListBlank.map (Turing.proj k) T = Turing.ListBlank.mk (List.map some (S k)).reverse) β β b, Turing.TM2to1.TrCfg (Turing.TM2.stepAux q v S) b β§ Turing.Reaches (Turing.TM1.step (Turing.TM2to1.tr M)) (Turing.TM1.stepAux (Turing.TM2to1.trNormal q) v (Turing.Tape.mk' β (Turing.TM2to1.addBottom T))) b) : β b, Turing.TM2to1.TrCfg (Turing.TM2.stepAux (Turing.TM2to1.stRun o q) v S) b β§ Turing.Reaches (Turing.TM1.step (Turing.TM2to1.tr M)) (Turing.TM1.stepAux (Turing.TM2to1.trNormal (Turing.TM2to1.stRun o q)) v (Turing.Tape.mk' β (Turing.TM2to1.addBottom T))) b
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 ?a
If 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 ?b
By 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_tsum
even though the hypothesisf i < g i
is not the last.
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 19971e9
serving mathlib revision 40fea08