Loogle!
Result
Found 28 declarations mentioning ZeroMemClass.zero_mem.
- ZeroMemClass.zero_mem π Mathlib.Algebra.Group.Submonoid.Defs
{S : Type u_3} {M : outParam (Type u_4)} {instβ : Zero M} {instβΒΉ : SetLike S M} [self : ZeroMemClass S M] (s : S) : 0 β s - ZeroMemClass.zero_def π Mathlib.Algebra.Group.Submonoid.Defs
{A : Type u_3} {Mβ : Type u_4} [SetLike A Mβ] [Zero Mβ] [hA : ZeroMemClass A Mβ] (S' : A) : 0 = β¨0, β―β© - 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 - 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 - 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 - 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 - 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 - NumberField.RingOfIntegers.mk_zero π Mathlib.NumberTheory.NumberField.Basic
{K : Type u_1} [Field K] : β¨0, β―β© = 0
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 ce5dd8c