Documentation

Mathlib.LinearAlgebra.AffineSpace.Restrict

Affine map restrictions #

This file defines restrictions of affine maps.

Main definitions #

Main theorems #

theorem AffineSubspace.nonempty_map {k : Type u_1} {V₁ : Type u_2} {P₁ : Type u_3} {V₂ : Type u_4} {P₂ : Type u_5} [Ring k] [AddCommGroup V₁] [AddCommGroup V₂] [Module k V₁] [Module k V₂] [AddTorsor V₁ P₁] [AddTorsor V₂ P₂] {E : AffineSubspace k P₁} [Ene : Nonempty { x // x E }] {φ : P₁ →ᵃ[k] P₂} :
def AffineMap.restrict {k : Type u_1} {V₁ : Type u_2} {P₁ : Type u_3} {V₂ : Type u_4} {P₂ : Type u_5} [Ring k] [AddCommGroup V₁] [AddCommGroup V₂] [Module k V₁] [Module k V₂] [AddTorsor V₁ P₁] [AddTorsor V₂ P₂] (φ : P₁ →ᵃ[k] P₂) {E : AffineSubspace k P₁} {F : AffineSubspace k P₂} [Nonempty { x // x E }] [Nonempty { x // x F }] (hEF : AffineSubspace.map φ E F) :
{ x // x E } →ᵃ[k] { x // x F }

Restrict domain and codomain of an affine map to the given subspaces.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    theorem AffineMap.restrict.coe_apply {k : Type u_1} {V₁ : Type u_2} {P₁ : Type u_3} {V₂ : Type u_4} {P₂ : Type u_5} [Ring k] [AddCommGroup V₁] [AddCommGroup V₂] [Module k V₁] [Module k V₂] [AddTorsor V₁ P₁] [AddTorsor V₂ P₂] (φ : P₁ →ᵃ[k] P₂) {E : AffineSubspace k P₁} {F : AffineSubspace k P₂} [Nonempty { x // x E }] [Nonempty { x // x F }] (hEF : AffineSubspace.map φ E F) (x : { x // x E }) :
    ↑(↑(AffineMap.restrict φ hEF) x) = φ x
    theorem AffineMap.restrict.linear_aux {k : Type u_1} {V₁ : Type u_2} {P₁ : Type u_3} {V₂ : Type u_4} {P₂ : Type u_5} [Ring k] [AddCommGroup V₁] [AddCommGroup V₂] [Module k V₁] [Module k V₂] [AddTorsor V₁ P₁] [AddTorsor V₂ P₂] {φ : P₁ →ᵃ[k] P₂} {E : AffineSubspace k P₁} {F : AffineSubspace k P₂} (hEF : AffineSubspace.map φ E F) :
    theorem AffineMap.restrict.linear {k : Type u_1} {V₁ : Type u_2} {P₁ : Type u_3} {V₂ : Type u_4} {P₂ : Type u_5} [Ring k] [AddCommGroup V₁] [AddCommGroup V₂] [Module k V₁] [Module k V₂] [AddTorsor V₁ P₁] [AddTorsor V₂ P₂] (φ : P₁ →ᵃ[k] P₂) {E : AffineSubspace k P₁} {F : AffineSubspace k P₂} [Nonempty { x // x E }] [Nonempty { x // x F }] (hEF : AffineSubspace.map φ E F) :
    theorem AffineMap.restrict.injective {k : Type u_1} {V₁ : Type u_2} {P₁ : Type u_3} {V₂ : Type u_4} {P₂ : Type u_5} [Ring k] [AddCommGroup V₁] [AddCommGroup V₂] [Module k V₁] [Module k V₂] [AddTorsor V₁ P₁] [AddTorsor V₂ P₂] {φ : P₁ →ᵃ[k] P₂} (hφ : Function.Injective φ) {E : AffineSubspace k P₁} {F : AffineSubspace k P₂} [Nonempty { x // x E }] [Nonempty { x // x F }] (hEF : AffineSubspace.map φ E F) :
    theorem AffineMap.restrict.surjective {k : Type u_1} {V₁ : Type u_2} {P₁ : Type u_3} {V₂ : Type u_4} {P₂ : Type u_5} [Ring k] [AddCommGroup V₁] [AddCommGroup V₂] [Module k V₁] [Module k V₂] [AddTorsor V₁ P₁] [AddTorsor V₂ P₂] (φ : P₁ →ᵃ[k] P₂) {E : AffineSubspace k P₁} {F : AffineSubspace k P₂} [Nonempty { x // x E }] [Nonempty { x // x F }] (h : AffineSubspace.map φ E = F) :
    theorem AffineMap.restrict.bijective {k : Type u_1} {V₁ : Type u_2} {P₁ : Type u_3} {V₂ : Type u_4} {P₂ : Type u_5} [Ring k] [AddCommGroup V₁] [AddCommGroup V₂] [Module k V₁] [Module k V₂] [AddTorsor V₁ P₁] [AddTorsor V₂ P₂] {E : AffineSubspace k P₁} [Nonempty { x // x E }] {φ : P₁ →ᵃ[k] P₂} (hφ : Function.Injective φ) :