Large left modules over large rings

Content created by Louis Wasserman.

Created on 2025-11-21.
Last modified on 2025-11-21.

module linear-algebra.large-left-modules-large-rings where
Imports
open import foundation.action-on-identifications-binary-functions
open import foundation.action-on-identifications-functions
open import foundation.identity-types
open import foundation.propositions
open import foundation.sets
open import foundation.universe-levels

open import group-theory.large-abelian-groups

open import linear-algebra.left-modules-rings

open import ring-theory.large-rings

Idea

A large left module over a large ring R is a large abelian group M endowed with an action R → M → M such that

  r(x+y) = rx + ry
  (r+s)x = rx + sx
   (sr)x = s(rx)
      1x = x

which also imply

      0x = 0
      r0 = 0
   (-r)x = -(rx)
   r(-x) = -(rx)

Definition

record
  Large-Left-Module-Large-Ring
  {α : Level  Level}
  {β : Level  Level  Level}
  (δ : Level  Level)
  (γ : Level  Level  Level)
  (R : Large-Ring α β) :
  UUω
  where

  field
    large-ab-Large-Left-Module-Large-Ring : Large-Ab δ γ

  type-Large-Left-Module-Large-Ring : (l : Level)  UU (δ l)
  type-Large-Left-Module-Large-Ring =
    type-Large-Ab large-ab-Large-Left-Module-Large-Ring

  set-Large-Left-Module-Large-Ring : (l : Level)  Set (δ l)
  set-Large-Left-Module-Large-Ring =
    set-Large-Ab large-ab-Large-Left-Module-Large-Ring

  add-Large-Left-Module-Large-Ring :
    {l1 l2 : Level} 
    type-Large-Left-Module-Large-Ring l1 
    type-Large-Left-Module-Large-Ring l2 
    type-Large-Left-Module-Large-Ring (l1  l2)
  add-Large-Left-Module-Large-Ring =
    add-Large-Ab large-ab-Large-Left-Module-Large-Ring

  neg-Large-Left-Module-Large-Ring :
    {l : Level} 
    type-Large-Left-Module-Large-Ring l  type-Large-Left-Module-Large-Ring l
  neg-Large-Left-Module-Large-Ring =
    neg-Large-Ab large-ab-Large-Left-Module-Large-Ring

  diff-Large-Left-Module-Large-Ring :
    {l1 l2 : Level} 
    type-Large-Left-Module-Large-Ring l1 
    type-Large-Left-Module-Large-Ring l2 
    type-Large-Left-Module-Large-Ring (l1  l2)
  diff-Large-Left-Module-Large-Ring x y =
    add-Large-Left-Module-Large-Ring x (neg-Large-Left-Module-Large-Ring y)

  sim-prop-Large-Left-Module-Large-Ring :
    {l1 l2 : Level} 
    type-Large-Left-Module-Large-Ring l1 
    type-Large-Left-Module-Large-Ring l2 
    Prop (γ l1 l2)
  sim-prop-Large-Left-Module-Large-Ring =
    sim-prop-Large-Ab large-ab-Large-Left-Module-Large-Ring

  sim-Large-Left-Module-Large-Ring :
    {l1 l2 : Level} 
    type-Large-Left-Module-Large-Ring l1 
    type-Large-Left-Module-Large-Ring l2 
    UU (γ l1 l2)
  sim-Large-Left-Module-Large-Ring =
    sim-Large-Ab large-ab-Large-Left-Module-Large-Ring

  raise-Large-Left-Module-Large-Ring :
    {l0 : Level} (l : Level) 
    type-Large-Left-Module-Large-Ring l0 
    type-Large-Left-Module-Large-Ring (l0  l)
  raise-Large-Left-Module-Large-Ring =
    raise-Large-Ab large-ab-Large-Left-Module-Large-Ring

  zero-Large-Left-Module-Large-Ring : type-Large-Left-Module-Large-Ring lzero
  zero-Large-Left-Module-Large-Ring =
    zero-Large-Ab large-ab-Large-Left-Module-Large-Ring

  raise-zero-Large-Left-Module-Large-Ring :
    (l : Level)  type-Large-Left-Module-Large-Ring l
  raise-zero-Large-Left-Module-Large-Ring =
    raise-zero-Large-Ab large-ab-Large-Left-Module-Large-Ring

  left-unit-law-add-Large-Left-Module-Large-Ring :
    {l : Level} (x : type-Large-Left-Module-Large-Ring l) 
    add-Large-Left-Module-Large-Ring
      ( zero-Large-Left-Module-Large-Ring)
      ( x) 
    x
  left-unit-law-add-Large-Left-Module-Large-Ring =
    left-unit-law-add-Large-Ab large-ab-Large-Left-Module-Large-Ring

  right-unit-law-add-Large-Left-Module-Large-Ring :
    {l : Level} (x : type-Large-Left-Module-Large-Ring l) 
    add-Large-Left-Module-Large-Ring
      ( x)
      ( zero-Large-Left-Module-Large-Ring) 
    x
  right-unit-law-add-Large-Left-Module-Large-Ring =
    right-unit-law-add-Large-Ab large-ab-Large-Left-Module-Large-Ring

  left-inverse-law-add-Large-Left-Module-Large-Ring :
    {l : Level} (x : type-Large-Left-Module-Large-Ring l) 
    add-Large-Left-Module-Large-Ring (neg-Large-Left-Module-Large-Ring x) x 
    raise-zero-Large-Left-Module-Large-Ring l
  left-inverse-law-add-Large-Left-Module-Large-Ring =
    left-inverse-law-add-Large-Ab large-ab-Large-Left-Module-Large-Ring

  right-inverse-law-add-Large-Left-Module-Large-Ring :
    {l : Level} (x : type-Large-Left-Module-Large-Ring l) 
    add-Large-Left-Module-Large-Ring x (neg-Large-Left-Module-Large-Ring x) 
    raise-zero-Large-Left-Module-Large-Ring l
  right-inverse-law-add-Large-Left-Module-Large-Ring =
    right-inverse-law-add-Large-Ab large-ab-Large-Left-Module-Large-Ring

  commutative-add-Large-Left-Module-Large-Ring :
    {l1 l2 : Level} 
    (x : type-Large-Left-Module-Large-Ring l1) 
    (y : type-Large-Left-Module-Large-Ring l2) 
    add-Large-Left-Module-Large-Ring x y 
    add-Large-Left-Module-Large-Ring y x
  commutative-add-Large-Left-Module-Large-Ring =
    commutative-add-Large-Ab large-ab-Large-Left-Module-Large-Ring

  unique-right-neg-Large-Left-Module-Large-Ring :
    {l1 l2 : Level} 
    (x : type-Large-Left-Module-Large-Ring l1) 
    (y : type-Large-Left-Module-Large-Ring l2) 
    ( add-Large-Left-Module-Large-Ring x y 
      raise-zero-Large-Left-Module-Large-Ring (l1  l2)) 
    sim-Large-Left-Module-Large-Ring
      ( y)
      ( neg-Large-Left-Module-Large-Ring x)
  unique-right-neg-Large-Left-Module-Large-Ring =
    unique-right-neg-Large-Ab large-ab-Large-Left-Module-Large-Ring

  refl-sim-Large-Left-Module-Large-Ring :
    {l : Level} (x : type-Large-Left-Module-Large-Ring l) 
    sim-Large-Left-Module-Large-Ring x x
  refl-sim-Large-Left-Module-Large-Ring =
    refl-sim-Large-Ab large-ab-Large-Left-Module-Large-Ring

  eq-sim-Large-Left-Module-Large-Ring :
    {l : Level} {x y : type-Large-Left-Module-Large-Ring l} 
    sim-Large-Left-Module-Large-Ring x y  x  y
  eq-sim-Large-Left-Module-Large-Ring =
    eq-sim-Large-Ab large-ab-Large-Left-Module-Large-Ring

  sim-eq-Large-Left-Module-Large-Ring :
    {l : Level} {x y : type-Large-Left-Module-Large-Ring l} 
    x  y  sim-Large-Left-Module-Large-Ring x y
  sim-eq-Large-Left-Module-Large-Ring =
    sim-eq-Large-Ab large-ab-Large-Left-Module-Large-Ring

  sim-raise-Large-Left-Module-Large-Ring :
    {l0 : Level} (l : Level) (x : type-Large-Left-Module-Large-Ring l0) 
    sim-Large-Left-Module-Large-Ring x (raise-Large-Left-Module-Large-Ring l x)
  sim-raise-Large-Left-Module-Large-Ring =
    sim-raise-Large-Ab large-ab-Large-Left-Module-Large-Ring

  sim-raise-Large-Left-Module-Large-Ring' :
    {l0 : Level} (l : Level) (x : type-Large-Left-Module-Large-Ring l0) 
    sim-Large-Left-Module-Large-Ring (raise-Large-Left-Module-Large-Ring l x) x
  sim-raise-Large-Left-Module-Large-Ring' =
    sim-raise-Large-Ab' large-ab-Large-Left-Module-Large-Ring

  raise-raise-Large-Left-Module-Large-Ring :
    {l1 l2 l3 : Level} 
    (x : type-Large-Left-Module-Large-Ring l1) 
    raise-Large-Left-Module-Large-Ring
      ( l2)
      ( raise-Large-Left-Module-Large-Ring l3 x) 
    raise-Large-Left-Module-Large-Ring (l2  l3) x
  raise-raise-Large-Left-Module-Large-Ring =
    raise-raise-Large-Ab large-ab-Large-Left-Module-Large-Ring

  eq-raise-Large-Left-Module-Large-Ring :
    (l1 : Level) {l2 : Level} 
    (x : type-Large-Left-Module-Large-Ring (l1  l2)) 
    raise-Large-Left-Module-Large-Ring l2 x  x
  eq-raise-Large-Left-Module-Large-Ring =
    eq-raise-Large-Ab large-ab-Large-Left-Module-Large-Ring

  field
    mul-Large-Left-Module-Large-Ring :
      {l1 l2 : Level} 
      type-Large-Ring R l1 
      type-Large-Left-Module-Large-Ring l2 
      type-Large-Left-Module-Large-Ring (l1  l2)

    left-distributive-mul-add-Large-Left-Module-Large-Ring :
      {l1 l2 l3 : Level} 
      (a : type-Large-Ring R l1) 
      (x : type-Large-Left-Module-Large-Ring l2) 
      (y : type-Large-Left-Module-Large-Ring l3) 
      mul-Large-Left-Module-Large-Ring
        ( a)
        ( add-Large-Left-Module-Large-Ring x y) 
      add-Large-Left-Module-Large-Ring
        ( mul-Large-Left-Module-Large-Ring a x)
        ( mul-Large-Left-Module-Large-Ring a y)

    right-distributive-mul-add-Large-Left-Module-Large-Ring :
      {l1 l2 l3 : Level} 
      (a : type-Large-Ring R l1) 
      (b : type-Large-Ring R l2) 
      (x : type-Large-Left-Module-Large-Ring l3) 
      mul-Large-Left-Module-Large-Ring (add-Large-Ring R a b) x 
      add-Large-Left-Module-Large-Ring
        ( mul-Large-Left-Module-Large-Ring a x)
        ( mul-Large-Left-Module-Large-Ring b x)

    associative-mul-Large-Left-Module-Large-Ring :
      {l1 l2 l3 : Level} 
      (a : type-Large-Ring R l1) 
      (b : type-Large-Ring R l2) 
      (x : type-Large-Left-Module-Large-Ring l3) 
      mul-Large-Left-Module-Large-Ring (mul-Large-Ring R a b) x 
      mul-Large-Left-Module-Large-Ring a (mul-Large-Left-Module-Large-Ring b x)

    left-unit-law-mul-Large-Left-Module-Large-Ring :
      {l : Level} (x : type-Large-Left-Module-Large-Ring l) 
      mul-Large-Left-Module-Large-Ring (one-Large-Ring R) x  x

    preserves-sim-mul-Large-Left-Module-Ring :
      {l1 l2 l3 l4 : Level} 
      {a : type-Large-Ring R l1} {b : type-Large-Ring R l2} 
      sim-Large-Ring R a b 
      {x : type-Large-Left-Module-Large-Ring l3} 
      {y : type-Large-Left-Module-Large-Ring l4} 
      sim-Large-Left-Module-Large-Ring x y 
      sim-Large-Left-Module-Large-Ring
        ( mul-Large-Left-Module-Large-Ring a x)
        ( mul-Large-Left-Module-Large-Ring b y)

  ap-mul-Large-Left-Module-Large-Ring :
    {l1 l2 : Level} 
    {a a' : type-Large-Ring R l1} 
    {x x' : type-Large-Left-Module-Large-Ring l2} 
    a  a'  x  x' 
    mul-Large-Left-Module-Large-Ring a x 
    mul-Large-Left-Module-Large-Ring a' x'
  ap-mul-Large-Left-Module-Large-Ring a=a' x=x' =
    ap-binary mul-Large-Left-Module-Large-Ring a=a' x=x'

open Large-Left-Module-Large-Ring public

Properties

Similarity reasoning on large left modules

module
  similarity-reasoning-Large-Left-Module-Large-Ring
    {α : Level  Level}
    {β : Level  Level  Level}
    {δ : Level  Level}
    {γ : Level  Level  Level}
    {R : Large-Ring α β}
    (M : Large-Left-Module-Large-Ring δ γ R)
  where

  open
    similarity-reasoning-Large-Ab
      ( large-ab-Large-Left-Module-Large-Ring M)
    public

The raised left unit law

module _
  {α : Level  Level}
  {β : Level  Level  Level}
  {δ : Level  Level}
  {γ : Level  Level  Level}
  {R : Large-Ring α β}
  (M : Large-Left-Module-Large-Ring δ γ R)
  where

  abstract
    left-raise-unit-law-mul-Large-Left-Module-Large-Ring :
      {l1 l2 : Level} (x : type-Large-Left-Module-Large-Ring M l2) 
      mul-Large-Left-Module-Large-Ring M (raise-one-Large-Ring R l1) x 
      raise-Large-Left-Module-Large-Ring M l1 x
    left-raise-unit-law-mul-Large-Left-Module-Large-Ring {l1} {l2} x =
      let
        open similarity-reasoning-Large-Left-Module-Large-Ring M
      in
        eq-sim-Large-Left-Module-Large-Ring M
          ( similarity-reasoning
            mul-Large-Left-Module-Large-Ring M (raise-one-Large-Ring R l1) x
            ~ mul-Large-Left-Module-Large-Ring M (one-Large-Ring R) x
              by
                preserves-sim-mul-Large-Left-Module-Ring M
                  ( sim-raise-Large-Ring' R _ _)
                  ( refl-sim-Large-Left-Module-Large-Ring M x)
            ~ x
              by
                sim-eq-Large-Left-Module-Large-Ring M
                  ( left-unit-law-mul-Large-Left-Module-Large-Ring M x)
            ~ raise-Large-Left-Module-Large-Ring M l1 x
              by sim-raise-Large-Left-Module-Large-Ring M l1 x)

Zero laws of multiplication

module _
  {α : Level  Level}
  {β : Level  Level  Level}
  {δ : Level  Level}
  {γ : Level  Level  Level}
  {R : Large-Ring α β}
  (M : Large-Left-Module-Large-Ring δ γ R)
  where

  abstract
    left-zero-law-mul-Large-Left-Module-Large-Ring :
      {l : Level} 
      (x : type-Large-Left-Module-Large-Ring M l) 
      mul-Large-Left-Module-Large-Ring M (zero-Large-Ring R) x 
      raise-zero-Large-Left-Module-Large-Ring M l
    left-zero-law-mul-Large-Left-Module-Large-Ring x =
      eq-zero-is-idempotent-add-Large-Ab
        ( large-ab-Large-Left-Module-Large-Ring M)
        ( _)
        ( equational-reasoning
          add-Large-Left-Module-Large-Ring M
            ( mul-Large-Left-Module-Large-Ring M (zero-Large-Ring R) x)
            ( mul-Large-Left-Module-Large-Ring M (zero-Large-Ring R) x)
          
            mul-Large-Left-Module-Large-Ring M
              ( add-Large-Ring R (zero-Large-Ring R) (zero-Large-Ring R))
              ( x)
            by
              inv
                ( right-distributive-mul-add-Large-Left-Module-Large-Ring M
                  ( _)
                  ( _)
                  ( _))
           mul-Large-Left-Module-Large-Ring M (zero-Large-Ring R) x
            by
              ap-mul-Large-Left-Module-Large-Ring M
                ( left-unit-law-add-Large-Ring R _)
                ( refl))

    left-raise-zero-law-mul-Large-Left-Module-Large-Ring :
      {l1 l2 : Level} 
      (x : type-Large-Left-Module-Large-Ring M l2) 
      mul-Large-Left-Module-Large-Ring M (raise-zero-Large-Ring R l1) x 
      raise-zero-Large-Left-Module-Large-Ring M (l1  l2)
    left-raise-zero-law-mul-Large-Left-Module-Large-Ring {l1} {l2} x =
      let
        open similarity-reasoning-Large-Left-Module-Large-Ring M
      in
        eq-sim-Large-Left-Module-Large-Ring M
          ( similarity-reasoning
            mul-Large-Left-Module-Large-Ring M (raise-zero-Large-Ring R l1) x
            ~ mul-Large-Left-Module-Large-Ring M (zero-Large-Ring R) x
              by
                preserves-sim-mul-Large-Left-Module-Ring M
                  ( sim-raise-Large-Ring' R _ _)
                  ( refl-sim-Large-Left-Module-Large-Ring M x)
            ~ raise-zero-Large-Left-Module-Large-Ring M l2
              by
                sim-eq-Large-Left-Module-Large-Ring M
                  ( left-zero-law-mul-Large-Left-Module-Large-Ring x)
            ~ raise-Large-Left-Module-Large-Ring M
                ( l1)
                ( raise-zero-Large-Left-Module-Large-Ring M l2)
              by sim-raise-Large-Left-Module-Large-Ring M _ _
            ~ raise-zero-Large-Left-Module-Large-Ring M (l1  l2)
              by
                sim-eq-Large-Left-Module-Large-Ring M
                  ( raise-raise-Large-Left-Module-Large-Ring M _))

    right-zero-law-mul-Large-Left-Module-Large-Ring :
      {l : Level} 
      (a : type-Large-Ring R l) 
      mul-Large-Left-Module-Large-Ring M
        ( a)
        ( zero-Large-Left-Module-Large-Ring M) 
      raise-zero-Large-Left-Module-Large-Ring M l
    right-zero-law-mul-Large-Left-Module-Large-Ring a =
      eq-zero-is-idempotent-add-Large-Ab
        ( large-ab-Large-Left-Module-Large-Ring M)
        ( _)
        ( equational-reasoning
          add-Large-Left-Module-Large-Ring M
            ( mul-Large-Left-Module-Large-Ring M
              ( a)
              ( zero-Large-Left-Module-Large-Ring M))
            ( mul-Large-Left-Module-Large-Ring M
              ( a)
              ( zero-Large-Left-Module-Large-Ring M))
          
            mul-Large-Left-Module-Large-Ring M
              ( a)
              ( add-Large-Left-Module-Large-Ring M
                ( zero-Large-Left-Module-Large-Ring M)
                ( zero-Large-Left-Module-Large-Ring M))
            by
              inv
                ( left-distributive-mul-add-Large-Left-Module-Large-Ring M
                  ( _)
                  ( _)
                  ( _))
          
            mul-Large-Left-Module-Large-Ring M
              ( a)
              ( zero-Large-Left-Module-Large-Ring M)
            by
              ap-mul-Large-Left-Module-Large-Ring M
                ( refl)
                ( left-unit-law-add-Large-Left-Module-Large-Ring M _))

    right-raise-zero-law-mul-Large-Left-Module-Large-Ring :
      {l1 l2 : Level} 
      (a : type-Large-Ring R l1) 
      mul-Large-Left-Module-Large-Ring M
        ( a)
        ( raise-zero-Large-Left-Module-Large-Ring M l2) 
      raise-zero-Large-Left-Module-Large-Ring M (l1  l2)
    right-raise-zero-law-mul-Large-Left-Module-Large-Ring {l1} {l2} a =
      let
        open similarity-reasoning-Large-Left-Module-Large-Ring M
      in
        eq-sim-Large-Left-Module-Large-Ring M
          ( similarity-reasoning
            mul-Large-Left-Module-Large-Ring M
              ( a)
              ( raise-zero-Large-Left-Module-Large-Ring M l2)
            ~ mul-Large-Left-Module-Large-Ring M
                ( a)
                ( zero-Large-Left-Module-Large-Ring M)
              by
                preserves-sim-mul-Large-Left-Module-Ring M
                  ( refl-sim-Large-Ring R a)
                  ( sim-raise-Large-Left-Module-Large-Ring' M _ _)
            ~ raise-zero-Large-Left-Module-Large-Ring M l1
              by
                sim-eq-Large-Left-Module-Large-Ring M
                  ( right-zero-law-mul-Large-Left-Module-Large-Ring a)
            ~ raise-Large-Left-Module-Large-Ring M l2
                ( raise-zero-Large-Left-Module-Large-Ring M l1)
              by sim-raise-Large-Left-Module-Large-Ring M _ _
            ~ raise-zero-Large-Left-Module-Large-Ring M (l1  l2)
              by
                sim-eq-Large-Left-Module-Large-Ring M
                  ( raise-raise-Large-Left-Module-Large-Ring M _))

Negative laws of multiplication

module _
  {α : Level  Level}
  {β : Level  Level  Level}
  {δ : Level  Level}
  {γ : Level  Level  Level}
  {R : Large-Ring α β}
  (M : Large-Left-Module-Large-Ring δ γ R)
  where

  abstract
    left-negative-law-mul-Large-Left-Module-Large-Ring :
      {l1 l2 : Level} 
      (a : type-Large-Ring R l1) 
      (x : type-Large-Left-Module-Large-Ring M l2) 
      mul-Large-Left-Module-Large-Ring M (neg-Large-Ring R a) x 
      neg-Large-Left-Module-Large-Ring M
        ( mul-Large-Left-Module-Large-Ring M a x)
    left-negative-law-mul-Large-Left-Module-Large-Ring {l1} {l2} a x =
      eq-sim-Large-Left-Module-Large-Ring M
        ( unique-right-neg-Large-Left-Module-Large-Ring M _ _
          ( equational-reasoning
            add-Large-Left-Module-Large-Ring M
              ( mul-Large-Left-Module-Large-Ring M a x)
              ( mul-Large-Left-Module-Large-Ring M (neg-Large-Ring R a) x)
            
              mul-Large-Left-Module-Large-Ring M
                ( add-Large-Ring R a (neg-Large-Ring R a))
                ( x)
              by
                inv
                  ( right-distributive-mul-add-Large-Left-Module-Large-Ring M
                    ( _)
                    ( _)
                    ( _))
            
              mul-Large-Left-Module-Large-Ring M
                ( raise-zero-Large-Ring R l1)
                ( x)
              by
                ap-mul-Large-Left-Module-Large-Ring M
                  ( right-inverse-law-add-Large-Ring R a)
                  ( refl)
             raise-zero-Large-Left-Module-Large-Ring M (l1  l2)
              by left-raise-zero-law-mul-Large-Left-Module-Large-Ring M _))

    right-negative-law-mul-Large-Left-Module-Large-Ring :
      {l1 l2 : Level} 
      (a : type-Large-Ring R l1) 
      (x : type-Large-Left-Module-Large-Ring M l2) 
      mul-Large-Left-Module-Large-Ring M
        ( a)
        ( neg-Large-Left-Module-Large-Ring M x) 
      neg-Large-Left-Module-Large-Ring M
        ( mul-Large-Left-Module-Large-Ring M a x)
    right-negative-law-mul-Large-Left-Module-Large-Ring {l1} {l2} a x =
      eq-sim-Large-Left-Module-Large-Ring M
        ( unique-right-neg-Large-Left-Module-Large-Ring M _ _
          ( equational-reasoning
            add-Large-Left-Module-Large-Ring M
              ( mul-Large-Left-Module-Large-Ring M a x)
              ( mul-Large-Left-Module-Large-Ring M a
                ( neg-Large-Left-Module-Large-Ring M x))
            
              mul-Large-Left-Module-Large-Ring M
                ( a)
                ( add-Large-Left-Module-Large-Ring M
                  ( x)
                  ( neg-Large-Left-Module-Large-Ring M x))
              by
                inv
                  ( left-distributive-mul-add-Large-Left-Module-Large-Ring M
                    ( _)
                    ( _)
                    ( _))
            
              mul-Large-Left-Module-Large-Ring M
                ( a)
                ( raise-zero-Large-Left-Module-Large-Ring M l2)
              by
                ap-mul-Large-Left-Module-Large-Ring M
                  ( refl)
                  ( right-inverse-law-add-Large-Left-Module-Large-Ring M x)
             raise-zero-Large-Left-Module-Large-Ring M (l1  l2)
              by right-raise-zero-law-mul-Large-Left-Module-Large-Ring M a))

Multiplication by negative one is negation

module _
  {α : Level  Level}
  {β : Level  Level  Level}
  {δ : Level  Level}
  {γ : Level  Level  Level}
  {R : Large-Ring α β}
  (M : Large-Left-Module-Large-Ring δ γ R)
  where

  abstract
    mul-neg-one-Large-Left-Module-Large-Ring :
      {l : Level} 
      (x : type-Large-Left-Module-Large-Ring M l) 
      mul-Large-Left-Module-Large-Ring M
        ( neg-Large-Ring R (one-Large-Ring R))
        ( x) 
      neg-Large-Left-Module-Large-Ring M x
    mul-neg-one-Large-Left-Module-Large-Ring x =
      equational-reasoning
        mul-Large-Left-Module-Large-Ring M
          ( neg-Large-Ring R (one-Large-Ring R))
          ( x)
         neg-Large-Left-Module-Large-Ring M
            ( mul-Large-Left-Module-Large-Ring M (one-Large-Ring R) x)
          by left-negative-law-mul-Large-Left-Module-Large-Ring M _ _
         neg-Large-Left-Module-Large-Ring M x
          by
            ap
              ( neg-Large-Left-Module-Large-Ring M)
              ( left-unit-law-mul-Large-Left-Module-Large-Ring M x)

Properties

Small left modules from large left modules

module _
  {α : Level  Level}
  {β : Level  Level  Level}
  {δ : Level  Level}
  {γ : Level  Level  Level}
  {R : Large-Ring α β}
  (M : Large-Left-Module-Large-Ring δ γ R)
  where

  left-module-ring-Large-Left-Module-Large-Ring :
    (l1 l2 : Level) 
    left-module-Ring
      ( δ (l1  l2))
      ( ring-Large-Ring R l1)
  left-module-ring-Large-Left-Module-Large-Ring l1 l2 =
    let
      open similarity-reasoning-Large-Left-Module-Large-Ring M
    in
      make-left-module-Ring
        ( ring-Large-Ring R l1)
        ( ab-Large-Ab (large-ab-Large-Left-Module-Large-Ring M) (l1  l2))
        ( mul-Large-Left-Module-Large-Ring M)
        ( left-distributive-mul-add-Large-Left-Module-Large-Ring M)
        ( right-distributive-mul-add-Large-Left-Module-Large-Ring M)
        ( λ x 
          ( left-raise-unit-law-mul-Large-Left-Module-Large-Ring M x) 
          ( eq-raise-Large-Left-Module-Large-Ring M l2 x))
        ( associative-mul-Large-Left-Module-Large-Ring M)

Recent changes