Using Abstract Stobjs in ACL2 to Compute Matrix Normal Forms

  • Laureano Lambán
  • Francisco J. Martín-MateosEmail author
  • Julio Rubio
  • José-Luis Ruiz-Reina
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10499)


We present here an application of abstract single threaded objects (abstract stobjs) in the ACL2 theorem prover, to define a formally verified algorithm that given a matrix with elements in the ring of integers, computes an equivalent matrix in column echelon form. Abstract stobjs allow us to define a sound logical interface between matrices defined as lists of lists, convenient for reasoning but inefficient, and matrices represented as unidimensional stobjs arrays, which implement accesses and (destructive) updates in constant time. Also, by means of the abstract stobjs mechanism, we use a more convenient logical representation of the transformation matrix, as a sequence of elemental transformations. Although we describe here a particular normalization algorithm, we think this approach could be useful to obtain formally verified and efficient executable implementations of a number of matrix normal form algorithms.


Matrices ACL2 Abstract stobjs Matrix normal forms 


  1. 1.
  2. 2.
    Aransay, J., Divasón, J.: Formalisation in higher-order logic and code generation to functional languages of the Gauss-Jordan algorithm. J. Funct. Program. 25(9), 1–21 (2015)MathSciNetzbMATHGoogle Scholar
  3. 3.
    Aransay, J., Divasón, J.: Formalization of the computation of the echelon form of a matrix in Isabelle/HOL. Form. Asp. Comput. 28, 1005–1026 (2016)MathSciNetCrossRefzbMATHGoogle Scholar
  4. 4.
    Cano, G., Cohen, C., Dénès, M., Mörtberg, A., Siles, V.: Formalized linear algebra over elementary divisor rings in Coq logical methods in computer. Science 12(2), 1–29 (2016)zbMATHGoogle Scholar
  5. 5.
    Cowles, J., Gamboa, R., Van Baalen, J.: Using ACL2 arrays to formalize matrix algebra. In: Proceedings of ACL2 2003 (2003)Google Scholar
  6. 6.
    Domich, P.D., Kannan, R., Trotter Jr., L.E.: Hermite normal form computation using modulo determinant arithmetic. Math. Oper. Res. 12, 50–69 (1987)MathSciNetCrossRefzbMATHGoogle Scholar
  7. 7.
    Goel, S., Hunt Jr., W.A., Kaufmann, M.: Abstract stobjs and their application to ISA modeling. In: Proceedings of ACL2 2013, pp. 54–69 (2013)Google Scholar
  8. 8.
    Gonthier, G.: Point-free, set-free concrete linear algebra. In: van Eekelen, M., Geuvers, H., Schmaltz, J., Wiedijk, F. (eds.) ITP 2011. LNCS, vol. 6898, pp. 103–118. Springer, Heidelberg (2011). doi: 10.1007/978-3-642-22863-6_10 CrossRefGoogle Scholar
  9. 9.
    Heras, J., Coquand, T., Mörtberg, A., Siles, V.: Computing persistent homology within Coq/SSReflect. ACM Trans. Comput. Log. 14(4), 1–26 (2013)MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Lambán, L., Martín-Mateos, F.-J., Rubio, J., Ruiz-Reina, J.-L.: Towards a verifiable topology of data. In: Proceedings of EACA-2016, pp. 113–116 (2016)Google Scholar
  11. 11.
    Newman, M.: The Smith normal form. Linear Algebra Appl. 254, 367–381 (1997)MathSciNetCrossRefzbMATHGoogle Scholar
  12. 12.
    Storjohann, A.: Algorithms for matrix canonical forms. Ph.D. thesis, Swiss Federal Institute of Technology, Zurich (2013)Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Laureano Lambán
    • 1
  • Francisco J. Martín-Mateos
    • 2
    Email author
  • Julio Rubio
    • 1
  • José-Luis Ruiz-Reina
    • 2
  1. 1.Department of Mathematics and ComputationUniversity of La RiojaLogroñoSpain
  2. 2.Department of Computer Science and Artificial IntelligenceUniversity of SevillaSevilleSpain

Personalised recommendations