Bilinear maps on left modules over rings

Content created by Louis Wasserman.

Created on 2026-02-13.
Last modified on 2026-02-13.

module linear-algebra.bilinear-maps-left-modules-rings where
Imports
open import foundation.conjunction
open import foundation.dependent-pair-types
open import foundation.identity-types
open import foundation.propositions
open import foundation.subtypes
open import foundation.universe-levels

open import linear-algebra.left-modules-rings
open import linear-algebra.linear-maps-left-modules-rings

open import ring-theory.rings

Idea

A bilinear map from two left modules X and Y over a ring R to a third module Z is a map f : X → Y → Z which is linear in each argument.

Definition

module _
  {l1 l2 l3 l4 : Level}
  (R : Ring l1)
  (X : left-module-Ring l2 R)
  (Y : left-module-Ring l3 R)
  (Z : left-module-Ring l4 R)
  (f :
    type-left-module-Ring R X  type-left-module-Ring R Y 
    type-left-module-Ring R Z)
  where

  is-linear-on-left-prop-binary-map-left-module-Ring : Prop (l1  l2  l3  l4)
  is-linear-on-left-prop-binary-map-left-module-Ring =
    Π-Prop
      ( type-left-module-Ring R Y)
      ( λ y  is-linear-map-prop-left-module-Ring R X Z  x  f x y))

  is-linear-on-left-binary-map-left-module-Ring : UU (l1  l2  l3  l4)
  is-linear-on-left-binary-map-left-module-Ring =
    type-Prop is-linear-on-left-prop-binary-map-left-module-Ring

  is-linear-on-right-prop-binary-map-left-module-Ring : Prop (l1  l2  l3  l4)
  is-linear-on-right-prop-binary-map-left-module-Ring =
    Π-Prop
      ( type-left-module-Ring R X)
      ( λ x  is-linear-map-prop-left-module-Ring R Y Z (f x))

  is-linear-on-right-binary-map-left-module-Ring : UU (l1  l2  l3  l4)
  is-linear-on-right-binary-map-left-module-Ring =
    type-Prop is-linear-on-right-prop-binary-map-left-module-Ring

  is-bilinear-map-prop-left-module-Ring : Prop (l1  l2  l3  l4)
  is-bilinear-map-prop-left-module-Ring =
    is-linear-on-left-prop-binary-map-left-module-Ring 
    is-linear-on-right-prop-binary-map-left-module-Ring

  is-bilinear-map-left-module-Ring : UU (l1  l2  l3  l4)
  is-bilinear-map-left-module-Ring =
    type-Prop is-bilinear-map-prop-left-module-Ring

bilinear-map-left-module-Ring :
  {l1 l2 l3 l4 : Level} (R : Ring l1) 
  left-module-Ring l2 R  left-module-Ring l3 R  left-module-Ring l4 R 
  UU (l1  l2  l3  l4)
bilinear-map-left-module-Ring R X Y Z =
  type-subtype (is-bilinear-map-prop-left-module-Ring R X Y Z)

Properties

module _
  {l1 l2 l3 l4 : Level}
  (R : Ring l1)
  (X : left-module-Ring l2 R)
  (Y : left-module-Ring l3 R)
  (Z : left-module-Ring l4 R)
  (f : bilinear-map-left-module-Ring R X Y Z)
  where

  map-bilinear-map-left-module-Ring :
    type-left-module-Ring R X 
    type-left-module-Ring R Y 
    type-left-module-Ring R Z
  map-bilinear-map-left-module-Ring = pr1 f

Linear maps from bilinear maps

module _
  {l1 l2 l3 l4 : Level}
  (R : Ring l1)
  (X : left-module-Ring l2 R)
  (Y : left-module-Ring l3 R)
  (Z : left-module-Ring l4 R)
  (f : bilinear-map-left-module-Ring R X Y Z)
  where

  linear-map-ev-right-bilinear-map-left-module-Ring :
    (y : type-left-module-Ring R Y) 
    linear-map-left-module-Ring R X Z
  linear-map-ev-right-bilinear-map-left-module-Ring y =
    ( ( λ x  map-bilinear-map-left-module-Ring R X Y Z f x y) ,
      pr1 (pr2 f) y)

  linear-map-ev-left-bilinear-map-left-module-Ring :
    (x : type-left-module-Ring R X) 
    linear-map-left-module-Ring R Y Z
  linear-map-ev-left-bilinear-map-left-module-Ring x =
    ( map-bilinear-map-left-module-Ring R X Y Z f x ,
      pr2 (pr2 f) x)

Zero laws of bilinear maps

module _
  {l1 l2 l3 l4 : Level}
  (R : Ring l1)
  (X : left-module-Ring l2 R)
  (Y : left-module-Ring l3 R)
  (Z : left-module-Ring l4 R)
  (f : bilinear-map-left-module-Ring R X Y Z)
  where

  abstract
    left-zero-law-bilinear-map-left-module-Ring :
      (y : type-left-module-Ring R Y) 
      map-bilinear-map-left-module-Ring R X Y Z f
        ( zero-left-module-Ring R X)
        ( y) 
      zero-left-module-Ring R Z
    left-zero-law-bilinear-map-left-module-Ring y =
      is-zero-map-zero-linear-map-left-module-Ring R X Z
        ( linear-map-ev-right-bilinear-map-left-module-Ring R X Y Z f y)

    right-zero-law-bilinear-map-left-module-Ring :
      (x : type-left-module-Ring R X) 
      map-bilinear-map-left-module-Ring R X Y Z f
        ( x)
        ( zero-left-module-Ring R Y) 
      zero-left-module-Ring R Z
    right-zero-law-bilinear-map-left-module-Ring x =
      is-zero-map-zero-linear-map-left-module-Ring R Y Z
        ( linear-map-ev-left-bilinear-map-left-module-Ring R X Y Z f x)

See also

Recent changes