mathlib documentation


Algebraic quotients #

This file defines notation for algebraic quotients, e.g. quotient groups G ⧸ H, quotient modules M ⧸ N and ideal quotients R ⧸ I.

The actual quotient structures are defined in the following files:

Notations #

The following notation is introduced:

Tags #

quotient, group quotient, quotient group, module quotient, quotient module, ring quotient, ideal quotient, quotient ring

structure has_quotient (A : out_param (Type u)) (B : Type v) :
Type (max (u+1) (v+1))
  • quotient' : B → Type (max ? ?)

has_quotient A B is a notation typeclass that allows us to write A ⧸ b for b : B. This allows the usual notation for quotients of algebraic structures, such as groups, modules and rings.

A is a parameter, despite being unused in the definition below, so it appears in the notation.

def has_quotient.quotient (A : out_param (Type u)) {B : Type v} [has_quotient A B] (b : B) :
Type (max u v)

has_quotient.quotient A b (with notation A ⧸ b) is the quotient of the type A by b.

This differs from has_quotient.quotient' in that the A argument is explicit, which is necessary to make Lean show the notation in the goal state.