Theorems · Inductive type · order theory
SetLike
Type u_1 → outParam (Type u_2) → Type (max u_1 u_2)
A class to indicate that there is a canonical injection between A and Set B.
This has the effect of giving terms of A elements of type B (through a Membership
instance) and a compatible coercion to Type* as a subtype.
Note: if SetLike.coe is a projection, implementers should create a simp lemma such as
``
@[simp] lemma mem_carrier {p : MySubobject X} : x ∈ p.carrier ↔ x ∈ (p : Set X) := Iff.rfl
`
to normalize terms.
If you declare an unbundled subclass of SetLike, for example:
`
class MulMemClass (S : Type*) (M : Type*) [Mul M] [SetLike S M] where
...
`
Then you should *not* repeat the outParam declaration so SetLike will supply the value instead.
This ensures your subclass will not have issues with synthesis of the [Mul M] parameter starting
before the value of M` is known.
- Defined in
- Mathlib.Data.SetLike.Basic
- Cited by
- 1,084 results in Mathlib
- Foundations
- Depth 1 from the axioms, rests on 2 definitions · uses no axioms
Around this declaration
Dashed lines are statement dependencies; solid lines are citations in proofs.
Cites0
Mathlib declarations this one mentions in its statement or cites explicitly in its proof. Plumbing is filtered out.
Nothing in Mathlib beyond the foundations.
Cited by1,451
Results whose statement or proof uses this declaration.
- SetLike.coestatement and proof · cited by 8,199
- GradedRingstatement · cited by 424
- SetLike.coe_injectivestatement and proof · cited by 374
- AddSubmonoidClassstatement · cited by 346
- SetLike.mem_coestatement and proof · cited by 302
- AddSubgroupClassstatement · cited by 240
- AddMemClass.add_memstatement and proof · cited by 229
- MulMemClass.mul_memstatement and proof · cited by 173
- ZeroMemClass.zero_memstatement and proof · cited by 162
- HomogeneousIdealstatement and proof · cited by 115
- HomogeneousIdeal.toIdealstatement and proof · cited by 105
- HomogeneousLocalization.Awaystatement and proof · cited by 105
Showing the 200 most cited of 1,451.