# mathlibdocumentation

ring_theory.ring_invo

# Ring involutions #

This file defines a ring involution as a structure extending R ≃+* Rᵐᵒᵖ, with the additional fact f.involution : (f (f x).unop).unop = x.

## Notations #

We provide a coercion to a function R → Rᵐᵒᵖ.

## Tags #

Ring involution

structure ring_invo (R : Type u_1) [semiring R] :
Type u_1

A ring involution

Instances for ring_invo
def ring_invo.mk' {R : Type u_1} [semiring R] (f : R →+* Rᵐᵒᵖ) (involution : ∀ (r : R), mul_opposite.unop (f (mul_opposite.unop (f r))) = r) :

Construct a ring involution from a ring homomorphism.

Equations
@[protected, instance]
def ring_invo.has_coe_to_fun {R : Type u_1} [semiring R] :
(λ (_x : , R → Rᵐᵒᵖ)
Equations
@[simp]
theorem ring_invo.to_fun_eq_coe {R : Type u_1} [semiring R] (f : ring_invo R) :
@[simp]
theorem ring_invo.involution {R : Type u_1} [semiring R] (f : ring_invo R) (x : R) :
@[protected, instance]
Equations
@[norm_cast]
theorem ring_invo.coe_ring_equiv {R : Type u_1} [semiring R] (f : ring_invo R) (a : R) :
f a = f a
@[simp]
theorem ring_invo.map_eq_zero_iff {R : Type u_1} [semiring R] (f : ring_invo R) {x : R} :
f x = 0 x = 0
@[protected]
def ring_invo.id (R : Type u_1) [comm_ring R] :

The identity function of a comm_ring is a ring involution.

Equations
@[protected, instance]
def ring_invo.inhabited (R : Type u_1) [comm_ring R] :
Equations