Loogle!
Result
Found 47 declarations mentioning AddMemClass.add_mem.
- AddMemClass.add_mem π Mathlib.Algebra.Group.Subsemigroup.Defs
{S : Type u_3} {M : outParam (Type u_4)} {instβ : Add M} {instβΒΉ : SetLike S M} [self : AddMemClass S M] {s : S} {a b : M} : a β s β b β s β a + b β s - AddMemClass.mk_add_mk π Mathlib.Algebra.Group.Subsemigroup.Defs
{M : Type u_1} {A : Type u_3} [Add M] [SetLike A M] [hA : AddMemClass A M] (S' : A) (x y : M) (hx : x β S') (hy : y β S') : β¨x, hxβ© + β¨y, hyβ© = β¨x + y, β―β© - AddMemClass.add_def π Mathlib.Algebra.Group.Subsemigroup.Defs
{M : Type u_1} {A : Type u_3} [Add M] [SetLike A M] [hA : AddMemClass A M] (S' : A) (x y : β₯S') : x + y = β¨βx + βy, β―β© - AddSubsemigroup.closure_induction π Mathlib.Algebra.Group.Subsemigroup.Basic
{M : Type u_1} [Add M] {s : Set M} {p : (x : M) β x β AddSubsemigroup.closure s β Prop} (mem : β (x : M) (h : x β s), p x β―) (add : β (x y : M) (hx : x β AddSubsemigroup.closure s) (hy : y β AddSubsemigroup.closure s), p x hx β p y hy β p (x + y) β―) {x : M} (hx : x β AddSubsemigroup.closure s) : p x hx - AddSubsemigroup.closure_inductionβ π Mathlib.Algebra.Group.Subsemigroup.Basic
{M : Type u_1} [Add M] {s : Set M} {p : (x y : M) β x β AddSubsemigroup.closure s β y β AddSubsemigroup.closure s β Prop} (mem : β (x y : M) (hx : x β s) (hy : y β s), p x y β― β―) (add_left : β (x y z : M) (hx : x β AddSubsemigroup.closure s) (hy : y β AddSubsemigroup.closure s) (hz : z β AddSubsemigroup.closure s), p x z hx hz β p y z hy hz β p (x + y) z β― hz) (add_right : β (x y z : M) (hx : x β AddSubsemigroup.closure s) (hy : y β AddSubsemigroup.closure s) (hz : z β AddSubsemigroup.closure s), p z x hz hx β p z y hz hy β p z (x + y) hz β―) {x y : M} (hx : x β AddSubsemigroup.closure s) (hy : y β AddSubsemigroup.closure s) : p x y hx hy - AddSubmonoid.closure_induction π Mathlib.Algebra.Group.Submonoid.Basic
{M : Type u_1} [AddZeroClass M] {s : Set M} {motive : (x : M) β x β AddSubmonoid.closure s β Prop} (mem : β (x : M) (h : x β s), motive x β―) (zero : motive 0 β―) (add : β (x y : M) (hx : x β AddSubmonoid.closure s) (hy : y β AddSubmonoid.closure s), motive x hx β motive y hy β motive (x + y) β―) {x : M} (hx : x β AddSubmonoid.closure s) : motive x hx - AddSubmonoid.closure_inductionβ π Mathlib.Algebra.Group.Submonoid.Basic
{M : Type u_1} [AddZeroClass M] {s : Set M} {motive : (x y : M) β x β AddSubmonoid.closure s β y β AddSubmonoid.closure s β Prop} (mem : β (x y : M) (hx : x β s) (hy : y β s), motive x y β― β―) (zero_left : β (x : M) (hx : x β AddSubmonoid.closure s), motive 0 x β― hx) (zero_right : β (x : M) (hx : x β AddSubmonoid.closure s), motive x 0 hx β―) (add_left : β (x y z : M) (hx : x β AddSubmonoid.closure s) (hy : y β AddSubmonoid.closure s) (hz : z β AddSubmonoid.closure s), motive x z hx hz β motive y z hy hz β motive (x + y) z β― hz) (add_right : β (x y z : M) (hx : x β AddSubmonoid.closure s) (hy : y β AddSubmonoid.closure s) (hz : z β AddSubmonoid.closure s), motive z x hz hx β motive z y hz hy β motive z (x + y) hz β―) {x y : M} (hx : x β AddSubmonoid.closure s) (hy : y β AddSubmonoid.closure s) : motive x y hx hy - AddSubgroup.closure_induction π Mathlib.Algebra.Group.Subgroup.Lattice
{G : Type u_1} [AddGroup G] {k : Set G} {p : (g : G) β g β AddSubgroup.closure k β Prop} (mem : β (x : G) (hx : x β k), p x β―) (zero : p 0 β―) (add : β (x y : G) (hx : x β AddSubgroup.closure k) (hy : y β AddSubgroup.closure k), p x hx β p y hy β p (x + y) β―) (neg : β (x : G) (hx : x β AddSubgroup.closure k), p x hx β p (-x) β―) {x : G} (hx : x β AddSubgroup.closure k) : p x hx - AddSubgroup.closure_inductionβ π Mathlib.Algebra.Group.Subgroup.Lattice
{G : Type u_1} [AddGroup G] {k : Set G} {p : (x y : G) β x β AddSubgroup.closure k β y β AddSubgroup.closure k β Prop} (mem : β (x y : G) (hx : x β k) (hy : y β k), p x y β― β―) (zero_left : β (x : G) (hx : x β AddSubgroup.closure k), p 0 x β― hx) (zero_right : β (x : G) (hx : x β AddSubgroup.closure k), p x 0 hx β―) (add_left : β (x y z : G) (hx : x β AddSubgroup.closure k) (hy : y β AddSubgroup.closure k) (hz : z β AddSubgroup.closure k), p x z hx hz β p y z hy hz β p (x + y) z β― hz) (add_right : β (y z x : G) (hy : y β AddSubgroup.closure k) (hz : z β AddSubgroup.closure k) (hx : x β AddSubgroup.closure k), p x y hx hy β p x z hx hz β p x (y + z) hx β―) (neg_left : β (x y : G) (hx : x β AddSubgroup.closure k) (hy : y β AddSubgroup.closure k), p x y hx hy β p (-x) y β― hy) (neg_right : β (x y : G) (hx : x β AddSubgroup.closure k) (hy : y β AddSubgroup.closure k), p x y hx hy β p x (-y) hx β―) {x y : G} (hx : x β AddSubgroup.closure k) (hy : y β AddSubgroup.closure k) : p x y hx hy - AddSubmonoid.closure_induction_left π Mathlib.Algebra.Group.Submonoid.Membership
{M : Type u_1} [AddMonoid M] {s : Set M} {motive : (m : M) β m β AddSubmonoid.closure s β Prop} (zero : motive 0 β―) (add_left : β (x : M) (hx : x β s) (y : M) (hy : y β AddSubmonoid.closure s), motive y hy β motive (x + y) β―) {x : M} (h : x β AddSubmonoid.closure s) : motive x h - AddSubmonoid.closure_induction_right π Mathlib.Algebra.Group.Submonoid.Membership
{M : Type u_1} [AddMonoid M] {s : Set M} {motive : (m : M) β m β AddSubmonoid.closure s β Prop} (zero : motive 0 β―) (add_right : β (x : M) (hx : x β AddSubmonoid.closure s) (y : M) (hy : y β s), motive x hx β motive (x + y) β―) {x : M} (h : x β AddSubmonoid.closure s) : motive x h - AddSubmonoid.iSup_induction' π Mathlib.Algebra.Group.Submonoid.Membership
{M : Type u_1} [AddZeroClass M] {ΞΉ : Sort u_4} (S : ΞΉ β AddSubmonoid M) {motive : (x : M) β x β β¨ i, S i β Prop} (mem : β (i : ΞΉ) (x : M) (hxS : x β S i), motive x β―) (zero : motive 0 β―) (add : β (x y : M) (hx : x β β¨ i, S i) (hy : y β β¨ i, S i), motive x hx β motive y hy β motive (x + y) β―) {x : M} (hx : x β β¨ i, S i) : motive x hx - AddSubgroup.closure_induction'' π Mathlib.Algebra.Group.Subgroup.Pointwise
{G : Type u_2} [AddGroup G] {s : Set G} {p : (g : G) β g β AddSubgroup.closure s β Prop} (mem : β (x : G) (hx : x β s), p x β―) (neg_mem : β (x : G) (hx : x β s), p (-x) β―) (zero : p 0 β―) (add : β (x y : G) (hx : x β AddSubgroup.closure s) (hy : y β AddSubgroup.closure s), p x hx β p y hy β p (x + y) β―) {x : G} (h : x β AddSubgroup.closure s) : p x h - AddSubgroup.closure_induction_left π Mathlib.Algebra.Group.Subgroup.Pointwise
{G : Type u_2} [AddGroup G] {s : Set G} {p : (x : G) β x β AddSubgroup.closure s β Prop} (zero : p 0 β―) (add_left : β (x : G) (hx : x β s) (y : G) (hy : y β AddSubgroup.closure s), p y hy β p (x + y) β―) (neg_add_cancel : β (x : G) (hx : x β s) (y : G) (hy : y β AddSubgroup.closure s), p y hy β p (-x + y) β―) {x : G} (h : x β AddSubgroup.closure s) : p x h - AddSubgroup.closure_induction_right π Mathlib.Algebra.Group.Subgroup.Pointwise
{G : Type u_2} [AddGroup G] {s : Set G} {p : (x : G) β x β AddSubgroup.closure s β Prop} (zero : p 0 β―) (add_right : β (x : G) (hx : x β AddSubgroup.closure s) (y : G) (hy : y β s), p x hx β p (x + y) β―) (add_neg_cancel : β (x : G) (hx : x β AddSubgroup.closure s) (y : G) (hy : y β s), p x hx β p (x + -y) β―) {x : G} (h : x β AddSubgroup.closure s) : p x h - AddSubgroup.iSup_induction' π Mathlib.Algebra.Group.Subgroup.Pointwise
{G : Type u_2} [AddGroup G] {ΞΉ : Sort u_5} (S : ΞΉ β AddSubgroup G) {C : (x : G) β x β β¨ i, S i β Prop} (hp : β (i : ΞΉ) (x : G) (hx : x β S i), C x β―) (h1 : C 0 β―) (hadd : β (x y : G) (hx : x β β¨ i, S i) (hy : y β β¨ i, S i), C x hx β C y hy β C (x + y) β―) {x : G} (hx : x β β¨ i, S i) : C x hx - AddSubsemigroup.iSup_induction' π Mathlib.Algebra.Group.Subsemigroup.Membership
{ΞΉ : Sort u_1} {M : Type u_2} [Add M] (S : ΞΉ β AddSubsemigroup M) {C : (x : M) β x β β¨ i, S i β Prop} (mem : β (i : ΞΉ) (x : M) (hxS : x β S i), C x β―) (add : β (x y : M) (hx : x β β¨ i, S i) (hy : y β β¨ i, S i), C x hx β C y hy β C (x + y) β―) {xβ : M} (hxβ : xβ β β¨ i, S i) : C xβ hxβ - NonUnitalSubsemiring.closure_induction π Mathlib.RingTheory.NonUnitalSubsemiring.Basic
{R : Type u} [NonUnitalNonAssocSemiring R] {s : Set R} {p : (x : R) β x β NonUnitalSubsemiring.closure s β Prop} (mem : β (x : R) (hx : x β s), p x β―) (zero : p 0 β―) (add : β (x y : R) (hx : x β NonUnitalSubsemiring.closure s) (hy : y β NonUnitalSubsemiring.closure s), p x hx β p y hy β p (x + y) β―) (mul : β (x y : R) (hx : x β NonUnitalSubsemiring.closure s) (hy : y β NonUnitalSubsemiring.closure s), p x hx β p y hy β p (x * y) β―) {x : R} (hx : x β NonUnitalSubsemiring.closure s) : p x hx - NonUnitalSubsemiring.closure_inductionβ π Mathlib.RingTheory.NonUnitalSubsemiring.Basic
{R : Type u} [NonUnitalNonAssocSemiring R] {s : Set R} {p : (x y : R) β x β NonUnitalSubsemiring.closure s β y β NonUnitalSubsemiring.closure s β Prop} (mem_mem : β (x : R) (hx : x β s) (y : R) (hy : y β s), p x y β― β―) (zero_left : β (x : R) (hx : x β NonUnitalSubsemiring.closure s), p 0 x β― hx) (zero_right : β (x : R) (hx : x β NonUnitalSubsemiring.closure s), p x 0 hx β―) (add_left : β (x y z : R) (hx : x β NonUnitalSubsemiring.closure s) (hy : y β NonUnitalSubsemiring.closure s) (hz : z β NonUnitalSubsemiring.closure s), p x z hx hz β p y z hy hz β p (x + y) z β― hz) (add_right : β (x y z : R) (hx : x β NonUnitalSubsemiring.closure s) (hy : y β NonUnitalSubsemiring.closure s) (hz : z β NonUnitalSubsemiring.closure s), p x y hx hy β p x z hx hz β p x (y + z) hx β―) (mul_left : β (x y z : R) (hx : x β NonUnitalSubsemiring.closure s) (hy : y β NonUnitalSubsemiring.closure s) (hz : z β NonUnitalSubsemiring.closure s), p x z hx hz β p y z hy hz β p (x * y) z β― hz) (mul_right : β (x y z : R) (hx : x β NonUnitalSubsemiring.closure s) (hy : y β NonUnitalSubsemiring.closure s) (hz : z β NonUnitalSubsemiring.closure s), p x y hx hy β p x z hx hz β p x (y * z) hx β―) {x y : R} (hx : x β NonUnitalSubsemiring.closure s) (hy : y β NonUnitalSubsemiring.closure s) : p x y hx hy - Subsemiring.closure_induction π Mathlib.Algebra.Ring.Subsemiring.Basic
{R : Type u} [NonAssocSemiring R] {s : Set R} {p : (x : R) β x β Subsemiring.closure s β Prop} (mem : β (x : R) (hx : x β s), p x β―) (zero : p 0 β―) (one : p 1 β―) (add : β (x y : R) (hx : x β Subsemiring.closure s) (hy : y β Subsemiring.closure s), p x hx β p y hy β p (x + y) β―) (mul : β (x y : R) (hx : x β Subsemiring.closure s) (hy : y β Subsemiring.closure s), p x hx β p y hy β p (x * y) β―) {x : R} (hx : x β Subsemiring.closure s) : p x hx - Subsemiring.closure_inductionβ π Mathlib.Algebra.Ring.Subsemiring.Basic
{R : Type u} [NonAssocSemiring R] {s : Set R} {p : (x y : R) β x β Subsemiring.closure s β y β Subsemiring.closure s β Prop} (mem_mem : β (x y : R) (hx : x β s) (hy : y β s), p x y β― β―) (zero_left : β (x : R) (hx : x β Subsemiring.closure s), p 0 x β― hx) (zero_right : β (x : R) (hx : x β Subsemiring.closure s), p x 0 hx β―) (one_left : β (x : R) (hx : x β Subsemiring.closure s), p 1 x β― hx) (one_right : β (x : R) (hx : x β Subsemiring.closure s), p x 1 hx β―) (add_left : β (x y z : R) (hx : x β Subsemiring.closure s) (hy : y β Subsemiring.closure s) (hz : z β Subsemiring.closure s), p x z hx hz β p y z hy hz β p (x + y) z β― hz) (add_right : β (x y z : R) (hx : x β Subsemiring.closure s) (hy : y β Subsemiring.closure s) (hz : z β Subsemiring.closure s), p x y hx hy β p x z hx hz β p x (y + z) hx β―) (mul_left : β (x y z : R) (hx : x β Subsemiring.closure s) (hy : y β Subsemiring.closure s) (hz : z β Subsemiring.closure s), p x z hx hz β p y z hy hz β p (x * y) z β― hz) (mul_right : β (x y z : R) (hx : x β Subsemiring.closure s) (hy : y β Subsemiring.closure s) (hz : z β Subsemiring.closure s), p x y hx hy β p x z hx hz β p x (y * z) hx β―) {x y : R} (hx : x β Subsemiring.closure s) (hy : y β Subsemiring.closure s) : p x y hx hy - NonUnitalSubring.closure_induction π Mathlib.RingTheory.NonUnitalSubring.Basic
{R : Type u} [NonUnitalNonAssocRing R] {s : Set R} {p : (x : R) β x β NonUnitalSubring.closure s β Prop} (mem : β (x : R) (hx : x β s), p x β―) (zero : p 0 β―) (add : β (x y : R) (hx : x β NonUnitalSubring.closure s) (hy : y β NonUnitalSubring.closure s), p x hx β p y hy β p (x + y) β―) (neg : β (x : R) (hx : x β NonUnitalSubring.closure s), p x hx β p (-x) β―) (mul : β (x y : R) (hx : x β NonUnitalSubring.closure s) (hy : y β NonUnitalSubring.closure s), p x hx β p y hy β p (x * y) β―) {x : R} (hx : x β NonUnitalSubring.closure s) : p x hx - NonUnitalSubring.closure_inductionβ π Mathlib.RingTheory.NonUnitalSubring.Basic
{R : Type u} [NonUnitalNonAssocRing R] {s : Set R} {p : (x y : R) β x β NonUnitalSubring.closure s β y β NonUnitalSubring.closure s β Prop} (mem_mem : β (x y : R) (hx : x β s) (hy : y β s), p x y β― β―) (zero_left : β (x : R) (hx : x β NonUnitalSubring.closure s), p 0 x β― hx) (zero_right : β (x : R) (hx : x β NonUnitalSubring.closure s), p x 0 hx β―) (neg_left : β (x y : R) (hx : x β NonUnitalSubring.closure s) (hy : y β NonUnitalSubring.closure s), p x y hx hy β p (-x) y β― hy) (neg_right : β (x y : R) (hx : x β NonUnitalSubring.closure s) (hy : y β NonUnitalSubring.closure s), p x y hx hy β p x (-y) hx β―) (add_left : β (x y z : R) (hx : x β NonUnitalSubring.closure s) (hy : y β NonUnitalSubring.closure s) (hz : z β NonUnitalSubring.closure s), p x z hx hz β p y z hy hz β p (x + y) z β― hz) (add_right : β (x y z : R) (hx : x β NonUnitalSubring.closure s) (hy : y β NonUnitalSubring.closure s) (hz : z β NonUnitalSubring.closure s), p x y hx hy β p x z hx hz β p x (y + z) hx β―) (mul_left : β (x y z : R) (hx : x β NonUnitalSubring.closure s) (hy : y β NonUnitalSubring.closure s) (hz : z β NonUnitalSubring.closure s), p x z hx hz β p y z hy hz β p (x * y) z β― hz) (mul_right : β (x y z : R) (hx : x β NonUnitalSubring.closure s) (hy : y β NonUnitalSubring.closure s) (hz : z β NonUnitalSubring.closure s), p x y hx hy β p x z hx hz β p x (y * z) hx β―) {x y : R} (hx : x β NonUnitalSubring.closure s) (hy : y β NonUnitalSubring.closure s) : p x y hx hy - Subring.closure_induction π Mathlib.Algebra.Ring.Subring.Basic
{R : Type u} [NonAssocRing R] {s : Set R} {p : (x : R) β x β Subring.closure s β Prop} (mem : β (x : R) (hx : x β s), p x β―) (zero : p 0 β―) (one : p 1 β―) (add : β (x y : R) (hx : x β Subring.closure s) (hy : y β Subring.closure s), p x hx β p y hy β p (x + y) β―) (neg : β (x : R) (hx : x β Subring.closure s), p x hx β p (-x) β―) (mul : β (x y : R) (hx : x β Subring.closure s) (hy : y β Subring.closure s), p x hx β p y hy β p (x * y) β―) {x : R} (hx : x β Subring.closure s) : p x hx - Subring.closure_inductionβ π Mathlib.Algebra.Ring.Subring.Basic
{R : Type u} [NonAssocRing R] {s : Set R} {p : (x y : R) β x β Subring.closure s β y β Subring.closure s β Prop} (mem_mem : β (x y : R) (hx : x β s) (hy : y β s), p x y β― β―) (zero_left : β (x : R) (hx : x β Subring.closure s), p 0 x β― hx) (zero_right : β (x : R) (hx : x β Subring.closure s), p x 0 hx β―) (one_left : β (x : R) (hx : x β Subring.closure s), p 1 x β― hx) (one_right : β (x : R) (hx : x β Subring.closure s), p x 1 hx β―) (neg_left : β (x y : R) (hx : x β Subring.closure s) (hy : y β Subring.closure s), p x y hx hy β p (-x) y β― hy) (neg_right : β (x y : R) (hx : x β Subring.closure s) (hy : y β Subring.closure s), p x y hx hy β p x (-y) hx β―) (add_left : β (x y z : R) (hx : x β Subring.closure s) (hy : y β Subring.closure s) (hz : z β Subring.closure s), p x z hx hz β p y z hy hz β p (x + y) z β― hz) (add_right : β (x y z : R) (hx : x β Subring.closure s) (hy : y β Subring.closure s) (hz : z β Subring.closure s), p x y hx hy β p x z hx hz β p x (y + z) hx β―) (mul_left : β (x y z : R) (hx : x β Subring.closure s) (hy : y β Subring.closure s) (hz : z β Subring.closure s), p x z hx hz β p y z hy hz β p (x * y) z β― hz) (mul_right : β (x y z : R) (hx : x β Subring.closure s) (hy : y β Subring.closure s) (hz : z β Subring.closure s), p x y hx hy β p x z hx hz β p x (y * z) hx β―) {x y : R} (hx : x β Subring.closure s) (hy : y β Subring.closure s) : p x y hx hy - Submodule.span_inductionβ π Mathlib.LinearAlgebra.Span.Defs
{R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] {s : Set M} {N : Type u_6} [AddCommMonoid N] [Module R N] {t : Set N} {p : (x : M) β (y : N) β x β Submodule.span R s β y β Submodule.span R t β Prop} (mem_mem : β (x : M) (y : N) (hx : x β s) (hy : y β t), p x y β― β―) (zero_left : β (y : N) (hy : y β Submodule.span R t), p 0 y β― hy) (zero_right : β (x : M) (hx : x β Submodule.span R s), p x 0 hx β―) (add_left : β (x y : M) (z : N) (hx : x β Submodule.span R s) (hy : y β Submodule.span R s) (hz : z β Submodule.span R t), p x z hx hz β p y z hy hz β p (x + y) z β― hz) (add_right : β (x : M) (y z : N) (hx : x β Submodule.span R s) (hy : y β Submodule.span R t) (hz : z β Submodule.span R t), p x y hx hy β p x z hx hz β p x (y + z) hx β―) (smul_left : β (r : R) (x : M) (y : N) (hx : x β Submodule.span R s) (hy : y β Submodule.span R t), p x y hx hy β p (r β’ x) y β― hy) (smul_right : β (r : R) (x : M) (y : N) (hx : x β Submodule.span R s) (hy : y β Submodule.span R t), p x y hx hy β p x (r β’ y) hx β―) {a : M} {b : N} (ha : a β Submodule.span R s) (hb : b β Submodule.span R t) : p a b ha hb - Submodule.iSup_induction' π Mathlib.LinearAlgebra.Span.Basic
{R : Type u_1} {M : Type u_4} [Semiring R] [AddCommMonoid M] [Module R M] {ΞΉ : Sort u_8} (p : ΞΉ β Submodule R M) {motive : (x : M) β x β β¨ i, p i β Prop} (mem : β (i : ΞΉ) (x : M) (hx : x β p i), motive x β―) (zero : motive 0 β―) (add : β (x y : M) (hx : x β β¨ i, p i) (hy : y β β¨ i, p i), motive x hx β motive y hy β motive (x + y) β―) {x : M} (hx : x β β¨ i, p i) : motive x hx - Submodule.mul_induction_on' π Mathlib.Algebra.Algebra.Operations
{R : Type u} [Semiring R] {A : Type v} [Semiring A] [Module R A] [IsScalarTower R A A] {M N : Submodule R A} {C : (r : A) β r β M * N β Prop} (mem_mul_mem : β (m : A) (hm : m β M) (n : A) (hn : n β N), C (m * n) β―) (add : β (x : A) (hx : x β M * N) (y : A) (hy : y β M * N), C x hx β C y hy β C (x + y) β―) {r : A} (hr : r β M * N) : C r hr - Submodule.smul_induction_on' π Mathlib.Algebra.Algebra.Operations
{R : Type u} [Semiring R] {A : Type v} [Semiring A] [Module R A] {M : Type u_1} [AddCommMonoid M] [Module R M] [Module A M] [IsScalarTower R A M] {I : Submodule R A} {N : Submodule R M} {x : M} (hx : x β I β’ N) {p : (x : M) β x β I β’ N β Prop} (smul : β (r : A) (hr : r β I) (n : M) (hn : n β N), p (r β’ n) β―) (add : β (x : M) (hx : x β I β’ N) (y : M) (hy : y β I β’ N), p x hx β p y hy β p (x + y) β―) : p x hx - Submodule.pow_induction_on_right' π Mathlib.Algebra.Algebra.Operations
{R : Type u} [CommSemiring R] {A : Type v} [Semiring A] [Algebra R A] (M : Submodule R A) {C : (n : β) β (x : A) β x β M ^ n β Prop} (algebraMap : β (r : R), C 0 ((algebraMap R A) r) β―) (add : β (x y : A) (i : β) (hx : x β M ^ i) (hy : y β M ^ i), C i x hx β C i y hy β C i (x + y) β―) (mul_mem : β (i : β) (x : A) (hx : x β M ^ i), C i x hx β β (m : A) (hm : m β M), C i.succ (x * m) β―) {n : β} {x : A} (hx : x β M ^ n) : C n x hx - Submodule.pow_induction_on_left' π Mathlib.Algebra.Algebra.Operations
{R : Type u} [CommSemiring R] {A : Type v} [Semiring A] [Algebra R A] (M : Submodule R A) {C : (n : β) β (x : A) β x β M ^ n β Prop} (algebraMap : β (r : R), C 0 ((algebraMap R A) r) β―) (add : β (x y : A) (i : β) (hx : x β M ^ i) (hy : y β M ^ i), C i x hx β C i y hy β C i (x + y) β―) (mem_mul : β (m : A) (hm : m β M) (i : β) (x : A) (hx : x β M ^ i), C i x hx β C i.succ (m * x) β―) {n : β} {x : A} (hx : x β M ^ n) : C n x hx - NonUnitalAlgebra.adjoin_induction π Mathlib.Algebra.Algebra.NonUnitalSubalgebra
{R : Type u} {A : Type v} [CommSemiring R] [NonUnitalNonAssocSemiring A] [Module R A] [IsScalarTower R A A] [SMulCommClass R A A] {s : Set A} {p : (x : A) β x β NonUnitalAlgebra.adjoin R s β Prop} (mem : β (x : A) (hx : x β s), p x β―) (add : β (x y : A) (hx : x β NonUnitalAlgebra.adjoin R s) (hy : y β NonUnitalAlgebra.adjoin R s), p x hx β p y hy β p (x + y) β―) (zero : p 0 β―) (mul : β (x y : A) (hx : x β NonUnitalAlgebra.adjoin R s) (hy : y β NonUnitalAlgebra.adjoin R s), p x hx β p y hy β p (x * y) β―) (smul : β (r : R) (x : A) (hx : x β NonUnitalAlgebra.adjoin R s), p x hx β p (r β’ x) β―) {x : A} (hx : x β NonUnitalAlgebra.adjoin R s) : p x hx - NonUnitalAlgebra.adjoin_inductionβ π Mathlib.Algebra.Algebra.NonUnitalSubalgebra
{R : Type u} {A : Type v} [CommSemiring R] [NonUnitalNonAssocSemiring A] [Module R A] [IsScalarTower R A A] [SMulCommClass R A A] {s : Set A} {p : (x y : A) β x β NonUnitalAlgebra.adjoin R s β y β NonUnitalAlgebra.adjoin R s β Prop} (mem_mem : β (x y : A) (hx : x β s) (hy : y β s), p x y β― β―) (zero_left : β (x : A) (hx : x β NonUnitalAlgebra.adjoin R s), p 0 x β― hx) (zero_right : β (x : A) (hx : x β NonUnitalAlgebra.adjoin R s), p x 0 hx β―) (add_left : β (x y z : A) (hx : x β NonUnitalAlgebra.adjoin R s) (hy : y β NonUnitalAlgebra.adjoin R s) (hz : z β NonUnitalAlgebra.adjoin R s), p x z hx hz β p y z hy hz β p (x + y) z β― hz) (add_right : β (x y z : A) (hx : x β NonUnitalAlgebra.adjoin R s) (hy : y β NonUnitalAlgebra.adjoin R s) (hz : z β NonUnitalAlgebra.adjoin R s), p x y hx hy β p x z hx hz β p x (y + z) hx β―) (mul_left : β (x y z : A) (hx : x β NonUnitalAlgebra.adjoin R s) (hy : y β NonUnitalAlgebra.adjoin R s) (hz : z β NonUnitalAlgebra.adjoin R s), p x z hx hz β p y z hy hz β p (x * y) z β― hz) (mul_right : β (x y z : A) (hx : x β NonUnitalAlgebra.adjoin R s) (hy : y β NonUnitalAlgebra.adjoin R s) (hz : z β NonUnitalAlgebra.adjoin R s), p x y hx hy β p x z hx hz β p x (y * z) hx β―) (smul_left : β (r : R) (x y : A) (hx : x β NonUnitalAlgebra.adjoin R s) (hy : y β NonUnitalAlgebra.adjoin R s), p x y hx hy β p (r β’ x) y β― hy) (smul_right : β (r : R) (x y : A) (hx : x β NonUnitalAlgebra.adjoin R s) (hy : y β NonUnitalAlgebra.adjoin R s), p x y hx hy β p x (r β’ y) hx β―) {x y : A} (hx : x β NonUnitalAlgebra.adjoin R s) (hy : y β NonUnitalAlgebra.adjoin R s) : p x y hx hy - Algebra.adjoin_induction π Mathlib.Algebra.Algebra.Subalgebra.Lattice
{R : Type uR} {A : Type uA} [CommSemiring R] [Semiring A] [Algebra R A] {s : Set A} {p : (x : A) β x β Algebra.adjoin R s β Prop} (mem : β (x : A) (hx : x β s), p x β―) (algebraMap : β (r : R), p ((algebraMap R A) r) β―) (add : β (x y : A) (hx : x β Algebra.adjoin R s) (hy : y β Algebra.adjoin R s), p x hx β p y hy β p (x + y) β―) (mul : β (x y : A) (hx : x β Algebra.adjoin R s) (hy : y β Algebra.adjoin R s), p x hx β p y hy β p (x * y) β―) {x : A} (hx : x β Algebra.adjoin R s) : p x hx - Algebra.iSup_induction' π Mathlib.Algebra.Algebra.Subalgebra.Lattice
{R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] {ΞΉ : Sort u_1} (S : ΞΉ β Subalgebra R A) {motive : (x : A) β x β β¨ i, S i β Prop} {x : A} (mem : x β β¨ i, S i) (basic : β (i : ΞΉ) (x : A) (hx : x β S i), motive x β―) (add : β (x y : A) (hx : x β β¨ i, S i) (hy : y β β¨ i, S i), motive x hx β motive y hy β motive (x + y) β―) (mul : β (x y : A) (hx : x β β¨ i, S i) (hy : y β β¨ i, S i), motive x hx β motive y hy β motive (x * y) β―) (algebraMap : β (r : R), motive ((algebraMap R A) r) β―) : motive x mem - Algebra.adjoin_inductionβ π Mathlib.Algebra.Algebra.Subalgebra.Lattice
{R : Type uR} {A : Type uA} [CommSemiring R] [Semiring A] [Algebra R A] {s : Set A} {p : (x y : A) β x β Algebra.adjoin R s β y β Algebra.adjoin R s β Prop} (mem_mem : β (x y : A) (hx : x β s) (hy : y β s), p x y β― β―) (algebraMap_both : β (rβ rβ : R), p ((algebraMap R A) rβ) ((algebraMap R A) rβ) β― β―) (algebraMap_left : β (r : R) (x : A) (hx : x β s), p ((algebraMap R A) r) x β― β―) (algebraMap_right : β (r : R) (x : A) (hx : x β s), p x ((algebraMap R A) r) β― β―) (add_left : β (x y z : A) (hx : x β Algebra.adjoin R s) (hy : y β Algebra.adjoin R s) (hz : z β Algebra.adjoin R s), p x z hx hz β p y z hy hz β p (x + y) z β― hz) (add_right : β (x y z : A) (hx : x β Algebra.adjoin R s) (hy : y β Algebra.adjoin R s) (hz : z β Algebra.adjoin R s), p x y hx hy β p x z hx hz β p x (y + z) hx β―) (mul_left : β (x y z : A) (hx : x β Algebra.adjoin R s) (hy : y β Algebra.adjoin R s) (hz : z β Algebra.adjoin R s), p x z hx hz β p y z hy hz β p (x * y) z β― hz) (mul_right : β (x y z : A) (hx : x β Algebra.adjoin R s) (hy : y β Algebra.adjoin R s) (hz : z β Algebra.adjoin R s), p x y hx hy β p x z hx hz β p x (y * z) hx β―) {x y : A} (hx : x β Algebra.adjoin R s) (hy : y β Algebra.adjoin R s) : p x y hx hy - Subfield.closure_induction π Mathlib.Algebra.Field.Subfield.Basic
{K : Type u} [DivisionRing K] {s : Set K} {p : (x : K) β x β Subfield.closure s β Prop} (mem : β (x : K) (hx : x β s), p x β―) (one : p 1 β―) (add : β (x y : K) (hx : x β Subfield.closure s) (hy : y β Subfield.closure s), p x hx β p y hy β p (x + y) β―) (neg : β (x : K) (hx : x β Subfield.closure s), p x hx β p (-x) β―) (inv : β (x : K) (hx : x β Subfield.closure s), p x hx β p xβ»ΒΉ β―) (mul : β (x y : K) (hx : x β Subfield.closure s) (hy : y β Subfield.closure s), p x hx β p y hy β p (x * y) β―) {x : K} (h : x β Subfield.closure s) : p x h - NonUnitalStarAlgebra.adjoin_induction π Mathlib.Algebra.Star.NonUnitalSubalgebra
(R : Type u) {A : Type v} [CommSemiring R] [StarRing R] [NonUnitalSemiring A] [StarRing A] [Module R A] [IsScalarTower R A A] [SMulCommClass R A A] [StarModule R A] {s : Set A} {p : (x : A) β x β NonUnitalStarAlgebra.adjoin R s β Prop} (mem : β (x : A) (hx : x β s), p x β―) (add : β (x y : A) (hx : x β NonUnitalStarAlgebra.adjoin R s) (hy : y β NonUnitalStarAlgebra.adjoin R s), p x hx β p y hy β p (x + y) β―) (zero : p 0 β―) (mul : β (x y : A) (hx : x β NonUnitalStarAlgebra.adjoin R s) (hy : y β NonUnitalStarAlgebra.adjoin R s), p x hx β p y hy β p (x * y) β―) (smul : β (r : R) (x : A) (hx : x β NonUnitalStarAlgebra.adjoin R s), p x hx β p (r β’ x) β―) (star : β (x : A) (hx : x β NonUnitalStarAlgebra.adjoin R s), p x hx β p (star x) β―) {a : A} (ha : a β NonUnitalStarAlgebra.adjoin R s) : p a ha - StarAlgebra.adjoin_induction π Mathlib.Algebra.Star.Subalgebra
{R : Type u_1} {A : Type u_2} [CommSemiring R] [StarRing R] [Semiring A] [Algebra R A] [StarRing A] [StarModule R A] {s : Set A} {p : (x : A) β x β StarAlgebra.adjoin R s β Prop} (mem : β (x : A) (h : x β s), p x β―) (algebraMap : β (r : R), p ((algebraMap R A) r) β―) (add : β (x y : A) (hx : x β StarAlgebra.adjoin R s) (hy : y β StarAlgebra.adjoin R s), p x hx β p y hy β p (x + y) β―) (mul : β (x y : A) (hx : x β StarAlgebra.adjoin R s) (hy : y β StarAlgebra.adjoin R s), p x hx β p y hy β p (x * y) β―) (star : β (x : A) (hx : x β StarAlgebra.adjoin R s), p x hx β p (star x) β―) {a : A} (ha : a β StarAlgebra.adjoin R s) : p a ha - StarAlgebra.adjoin_inductionβ π Mathlib.Algebra.Star.Subalgebra
{R : Type u_1} {A : Type u_2} [CommSemiring R] [StarRing R] [Semiring A] [Algebra R A] [StarRing A] [StarModule R A] {s : Set A} {p : (x y : A) β x β StarAlgebra.adjoin R s β y β StarAlgebra.adjoin R s β Prop} (mem_mem : β (x y : A) (hx : x β s) (hy : y β s), p x y β― β―) (algebraMap_both : β (rβ rβ : R), p ((algebraMap R A) rβ) ((algebraMap R A) rβ) β― β―) (algebraMap_left : β (r : R) (x : A) (hx : x β s), p ((algebraMap R A) r) x β― β―) (algebraMap_right : β (r : R) (x : A) (hx : x β s), p x ((algebraMap R A) r) β― β―) (add_left : β (x y z : A) (hx : x β StarAlgebra.adjoin R s) (hy : y β StarAlgebra.adjoin R s) (hz : z β StarAlgebra.adjoin R s), p x z hx hz β p y z hy hz β p (x + y) z β― hz) (add_right : β (x y z : A) (hx : x β StarAlgebra.adjoin R s) (hy : y β StarAlgebra.adjoin R s) (hz : z β StarAlgebra.adjoin R s), p x y hx hy β p x z hx hz β p x (y + z) hx β―) (mul_left : β (x y z : A) (hx : x β StarAlgebra.adjoin R s) (hy : y β StarAlgebra.adjoin R s) (hz : z β StarAlgebra.adjoin R s), p x z hx hz β p y z hy hz β p (x * y) z β― hz) (mul_right : β (x y z : A) (hx : x β StarAlgebra.adjoin R s) (hy : y β StarAlgebra.adjoin R s) (hz : z β StarAlgebra.adjoin R s), p x y hx hy β p x z hx hz β p x (y * z) hx β―) (star_left : β (x y : A) (hx : x β StarAlgebra.adjoin R s) (hy : y β StarAlgebra.adjoin R s), p x y hx hy β p (star x) y β― hy) (star_right : β (x y : A) (hx : x β StarAlgebra.adjoin R s) (hy : y β StarAlgebra.adjoin R s), p x y hx hy β p x (star y) hx β―) {a b : A} (ha : a β StarAlgebra.adjoin R s) (hb : b β StarAlgebra.adjoin R s) : p a b ha hb - AddSubmonoid.saturation_induction π Mathlib.Algebra.Group.Submonoid.Saturation
{M : Type u_1} [AddZeroClass M] {s : AddSubmonoid M} {p : (x : M) β x β s.saturation β Prop} (mem : β (x : M) (hx : x β s), p x β―) (add : β (x y : M) (hx : x β s.saturation) (hy : y β s.saturation), p x hx β p y hy β p (x + y) β―) (of_add : β (x y : M) (hxy : x + y β s.saturation), p (x + y) hxy β p x β― β§ p y β―) {x : M} (hx : x β s.saturation) : p x hx - LieSubmodule.iSup_induction' π Mathlib.Algebra.Lie.Submodule
{R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] {ΞΉ : Sort u_1} (N : ΞΉ β LieSubmodule R L M) {motive : (x : M) β x β β¨ i, N i β Prop} (mem : β (i : ΞΉ) (x : M) (hx : x β N i), motive x β―) (zero : motive 0 β―) (add : β (x y : M) (hx : x β β¨ i, N i) (hy : y β β¨ i, N i), motive x hx β motive y hy β motive (x + y) β―) {x : M} (hx : x β β¨ i, N i) : motive x hx - LieSubmodule.lieSpan_induction π Mathlib.Algebra.Lie.Submodule
(R : Type u) (L : Type v) {M : Type w} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] {s : Set M} {p : (x : M) β x β LieSubmodule.lieSpan R L s β Prop} (mem : β (x : M) (h : x β s), p x β―) (zero : p 0 β―) (add : β (x y : M) (hx : x β LieSubmodule.lieSpan R L s) (hy : y β LieSubmodule.lieSpan R L s), p x hx β p y hy β p (x + y) β―) (smul : β (a : R) (x : M) (hx : x β LieSubmodule.lieSpan R L s), p x hx β p (a β’ x) β―) {x : M} (lie : β (x : L) (y : M) (hy : y β LieSubmodule.lieSpan R L s), p y hy β p β x, yβ β―) (hx : x β LieSubmodule.lieSpan R L s) : p x hx - IntermediateField.adjoin_induction π Mathlib.FieldTheory.IntermediateField.Adjoin.Defs
(F : Type u_1) [Field F] {E : Type u_2} [Field E] [Algebra F E] {s : Set E} {p : (x : E) β x β IntermediateField.adjoin F s β Prop} (mem : β (x : E) (hx : x β s), p x β―) (algebraMap : β (x : F), p ((algebraMap F E) x) β―) (add : β (x y : E) (hx : x β IntermediateField.adjoin F s) (hy : y β IntermediateField.adjoin F s), p x hx β p y hy β p (x + y) β―) (inv : β (x : E) (hx : x β IntermediateField.adjoin F s), p x hx β p xβ»ΒΉ β―) (mul : β (x y : E) (hx : x β IntermediateField.adjoin F s) (hy : y β IntermediateField.adjoin F s), p x hx β p y hy β p (x * y) β―) {x : E} (h : x β IntermediateField.adjoin F s) : p x h - NumberField.RingOfIntegers.mk_add_mk π Mathlib.NumberTheory.NumberField.Basic
{K : Type u_1} [Field K] (x y : K) (hx : x β integralClosure β€ K) (hy : y β integralClosure β€ K) : β¨x, hxβ© + β¨y, hyβ© = β¨x + y, β―β© - StarAlgebra.elemental.induction_on π Mathlib.Topology.Algebra.StarSubalgebra
(R : Type u_1) {A : Type u_2} [CommSemiring R] [StarRing R] [TopologicalSpace A] [Semiring A] [StarRing A] [IsSemitopologicalSemiring A] [ContinuousStar A] [Algebra R A] [StarModule R A] {x y : A} (hy : y β StarAlgebra.elemental R x) {P : (u : A) β u β StarAlgebra.elemental R x β Prop} (self : P x β―) (star_self : P (star x) β―) (algebraMap : β (r : R), P ((algebraMap R A) r) β―) (add : β (u : A) (hu : u β StarAlgebra.elemental R x) (v : A) (hv : v β StarAlgebra.elemental R x), P u hu β P v hv β P (u + v) β―) (mul : β (u : A) (hu : u β StarAlgebra.elemental R x) (v : A) (hv : v β StarAlgebra.elemental R x), P u hu β P v hv β P (u * v) β―) (closure : β (s : Set A) (hs : s β β(StarAlgebra.elemental R x)), (β (u : A) (hu : u β s), P u β―) β β (v : A) (hv : v β closure s), P v β―) : P y hy - solvableByRad.induction π Mathlib.FieldTheory.AbelRuffini
{F : Type u_1} {E : Type u_2} [Field F] [Field E] [Algebra F E] (motive : (x : E) β x β solvableByRad F E β Prop) (mem : β (x : F), motive ((algebraMap F E) x) β―) (add : β (x y : E) (hx : x β solvableByRad F E) (hy : y β solvableByRad F E), motive x hx β motive y hy β motive (x + y) β―) (mul : β (x y : E) (hx : x β solvableByRad F E) (hy : y β solvableByRad F E), motive x hx β motive y hy β motive (x * y) β―) (rad : β (n : β) (x : E) (hn : n β 0) (hx : x ^ n β solvableByRad F E), motive (x ^ n) hx β motive x β―) {x : E} (hx : x β solvableByRad F E) : motive x hx
About
Loogle searches Lean and Mathlib definitions and theorems.
You can use Loogle from within the Lean4 VSCode language extension
using the Loogle command from the command palette. 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. Please review the Lean FRO Terms of Use and Privacy Policy.
This is Loogle revision 9f11169 serving mathlib revision 69fae59