« Home

Proposition. Every element can be cancelled [group-0003]

module group-0003 where

open import MLTT.Spartan hiding (_∙_) renaming (_⁻¹ to sym)

open import group-0000
open Group {{...}}

這個命題在說每個元素都可以取消,這是一個非常好用的事實,而且完全不必感到陌生,我等一下再解釋這點。我們先來看它的具體描述

  1. 如果 g • a = h • a,則 g = h
  2. 如果 a • g = a • h,則 g = h
proposition-3 : {G : 𝓤 ̇} {{_ : Group G}} {g h a : G}  (g  a  h  a  g  h) × (a  g  a  h  g  h)
proposition-3 {G}{_} {g}{h}{a} = I , II
  where
  I : g  a  h  a  g  h
  I fact =
    g              =⟨ sym (neu-r g) 
    g  e          =⟨ ap (g ∙_) (sym (cancel .pr₂)) 
    g  (a  a ⁻¹) =⟨ sym (∙-assoc g a (a ⁻¹)) 
    g  a  a ⁻¹   =⟨ ap (_∙ a ⁻¹) fact 
    h  a  a ⁻¹   =⟨ ∙-assoc h a (a ⁻¹) 
    h  (a  a ⁻¹) =⟨ ap (h ∙_) (cancel .pr₂) 
    h  e          =⟨ neu-r h 
    h 

  II : a  g  a  h  g  h
  II fact =
    g              =⟨ sym (neu-l g) 
    e  g          =⟨ ap (_∙ g) (sym (cancel .pr₁)) 
    a ⁻¹  a  g   =⟨ ∙-assoc (a ⁻¹) a g 
    a ⁻¹  (a  g) =⟨ ap (a ⁻¹ ∙_) fact 
    a ⁻¹  (a  h) =⟨ sym (∙-assoc (a ⁻¹) a h) 
    a ⁻¹  a  h   =⟨ ap (_∙ h) (cancel .pr₁) 
    e  h          =⟨ neu-l h 
    h 

為什麼不必對這個命題感到陌生呢?因為這其實是我們日常也很容易遇到的算術事實:如果 2x = 2yx = y