open import Algebra.Apartness
open import Relation.Binary
open import Algebra.DecidableField

module MatrixDataNormalization.Base {c ℓ₁ ℓ₂} (dField : DecidableField c ℓ₁ ℓ₂) where

open import Algebra
open import Function
open import Data.Nat using ()

open import Algebra.MatrixData
import MatrixFuncNormalization.ElimZeros.Base as ElimZeros
import MatrixFuncNormalization.NormAfter.AppendIdentity as AppendIdentity

open DecidableField dField renaming (Carrier to F)
open module F = ElimZeros dField using ()
  renaming (normalizeData to normalize;
            normalizeAndDivideData to normalizeAndDivide) public
module AI = AppendIdentity dField

private variable
  m n : 

inverse : Matrix F n m  Matrix F n n
inverse = matrixFunc→Data  AI.inverse  matrixData→Fun