FinMatrix.CoqExt.LogicExt
FinMatrix.CoqExt.MyExtrOCamlR
FinMatrix.CoqExt.Basic
- Basic libraries
- Reserved Notations
- Eliminate Warning.
- Customized tactics
- Repeat executing an unary function
- Extension for option type
- Extension for sig type
- Usually used scopes
FinMatrix.CoqExt.BoolExt
FinMatrix.CoqExt.StrExt
FinMatrix.CoqExt.ListExt
- list
- Properties of cons
- Properties of hd and tl
- Properties of nth
- nthFull : nth element with index-in-the-bound
- Properties of fold_left
- Properties of fold_right
- Print a list
- Set element of a list
- Swap two elements
- Properties of length
- List to elements
- Customized list induction
- list repeat properties
- Zero list
- Properties of map
- map two lists to a list
- map2 on dlist
- map2 properties with same base type
- concatenation of list
- Convert between list and natural-number-index-function
- Addition, Opposition and Subtraction of list
- constant multiplication of list
- product of two lists
- Generate special list for MatrixUnit
- Convert list to fixed-length list
- Find non-zero element from a list
- Sub list
- dlist (list of list)
- width of a dlist (dlist tA)
- nnth : that is nth of nth of dlist
- dlist to elements
- Properties of dlist
- Print a dlist
- a dlist with same element nil
- map2 for dlist
- Convert between dlist and function
- Convert between row and col. eg, 1;2;3 <-> [1];[2];[3]
- head column of a dlist
- tail columns of a dlist
- construct a dlist with a list and a dlist by column
- nth column of a dlist
- Append two objects of dlist type to one object of dlist
- Zero dlist
- transpose a dlist
- dlist unit, like a identity matrix
- map of dlist with f : tA -> tB
- Extra properties of dmap
- map of dlist with f : tA -> tA
- map2 of dlist
- dmap2 with same base type
- Square Zero dlist
- dmap2 is considered as dladd
- dmap2 is considered as dlsub
- list dot dlist, and dlist dot dlist
- Properties of dlcmul
- Set element with a constant value
- Set element with a generation function
- Set row with a constant value
- Set row with a generation function
- Row Transform
- dlist remove one row and/or one column
- Setoid equal of list
- Special search algorithm
FinMatrix.CoqExt.Hierarchy
- Small utilities
- <TEMPLATE structures>
- Equivalence relation
- Decidable relation
- Respect: an operation respect a relation (also known as "well-defined")
- Injective
- Surjective
- Bijective
- Homomorphic
- Homomorphism
- Isomorphism
- Subset
- Associative
- Commutative
- Identity Left/Right
- Inverse Left/Right
- Distributive
- Involution Law
- Semigroup 半群
- Abelian semigroup 交换半群
- Monoid 幺半群、独异点
- Abelian monoid
- Group
- Abelian Group
- SRing
- Ring
- ARing
- Field
- Total order relations
- Abelian-ring with total order
- Field with total order
- Convert to R type
- Metric space
FinMatrix.CoqExt.ElementType
- ElementType
- OrderedElementType
- Element with abelian-monoid structure
- Element with abelian-ring structure
- Element with abelian-ring structure and ordered relation
- Element with field structure
- Element with field structure and ordered relation
- Element with field structure and ordered relation and normed
FinMatrix.CoqExt.NatExt
- Algebraic Structures
- Instances for ElementType
- More properties for nat
- Loop shift
- Extension for nat from (Verified Quantum Computing).
- Useful bdestruct tactic with the help of reflection
- Lost or deprecated lemmas and new lemmas
- Properties for div and mod
FinMatrix.CoqExt.PositiveExt
FinMatrix.CoqExt.ZExt
- Algebraic Structures
- Instances for ElementType
- Conversion between Z and other types
- Properties for Zeqb and Zeq
- Other properties
FinMatrix.CoqExt.QExt
- Mathematical Structure
- Instances for ElementType
- Convertion between Q and other types
- Properties for Qeqb and Qeq
- Others
FinMatrix.CoqExt.QcExt
FinMatrix.CoqExt.RExt.RExtBase
FinMatrix.CoqExt.RExt.RExtCvt
- Conversion between Z and R
- R -> Z
- Rfloor and Rceiling for R -> Z
- Conversion between nat and R
- Conversion between Q and R
- Conversion between Qc and R
- Conversion between nat and R
FinMatrix.CoqExt.RExt.RExtStruct
FinMatrix.CoqExt.RExt.RExtBool
FinMatrix.CoqExt.RExt.RExtLt
FinMatrix.CoqExt.RExt.RExtPlus
FinMatrix.CoqExt.RExt.RExtOpp
FinMatrix.CoqExt.RExt.RExtMult
FinMatrix.CoqExt.RExt.RExtPow
FinMatrix.CoqExt.RExt.RExtInv
FinMatrix.CoqExt.RExt.RExtSqr
FinMatrix.CoqExt.RExt.RExtSqrt
FinMatrix.CoqExt.RExt.RExtAbs
FinMatrix.CoqExt.RExt.RExtSign
FinMatrix.CoqExt.RExt.RExtExp
FinMatrix.CoqExt.RExt.RExtLog
FinMatrix.CoqExt.RExt.RExtRpower
FinMatrix.CoqExt.RExt.RExtApprox
FinMatrix.CoqExt.RExt.RExtTrigo
- Basic automation
- Convert between degree and radian
- Trigonometric functions about sin and cos
- Trigonometric functions about tan and cot
- Trigonometric functions about asin and acos
- Trigonometric functions about atan and acot
- Trigonometric functions about atan2
- Trigonometric functions about atan2
- Trigonometric functions about sec and csc
- Additional properties for asin, acos, atan, and acot
FinMatrix.CoqExt.RExt.RExtAtan2
FinMatrix.CoqExt.RExt
FinMatrix.CoqExt.RFunExt
FinMatrix.CoqExt.RAnalysisExt
FinMatrix.CoqExt.Complex
- 1.1 Complex numbers and basic operations
- Definition of complex number
- Automation of compleax
- Injection from other type to complex
- Square of norm of complex number
- Norm of complex number
- Addition of complex numbers
- Opposition of complex numbers
- Subtraction of complex numbers
- Triangle Inequalities
- Scalar multiplication of complex numbers
- Multiplication of complex numbers
- Power on C
- Inversion of complex numbers
- Division of complex numbers
- Conjugate of complex numbers
- 1.2 Triangle Representation of Complex number (复数的三角表示)
- Algebraic Structures
- Instances for ElementType
FinMatrix.CoqExt.LinearSpace
FinMatrix.Matrix.Fin
- _fin type and basic operations
- Cast between fin terms
- Cast between two fin type with actual equal range
- 'I_n to 'I_m
- Fin n i + Fin n k -> Fin n (i+k)
- Fin n i + Fin n k -> Fin n (i-k)
- Fin n i -> Fin n (S i)
- Fin n i -> Fin n (pred i)
- Fin n i -> Fin n (loop-shift-left i with k)
- Fin n i -> Fin n (loop-shift-right i with k)
- Fin n i -> Fin n (n - i)
- Fin n i -> Fin (S n) i
- Fin (S n) i -> Fin n i
- Fin n i -> Fin (m + n) i
- Fin (m + n) i -> Fin n i
- Fin m i -> Fin (m + n) i
- Fin (m + n) i -> Fin m i
- Fin n i -> Fin (m + n) (m + i)
- Fin (m + n) (m + i) -> Fin n i
- Fin m i -> Fin (m + n) (i + n)
- Fin (m + n) (i + n) -> Fin m i
- Fin (S n) (S i) -> Fin n i
- Fin n i -> Fin (S n) (S i)
- Sequence of fin
FinMatrix.Matrix.Sequence
- Properties of sequence
- Folding of a sequence
- Sum/Product of a sequence
- Sum of a sequence with bounds
FinMatrix.Matrix.Vector
- vec type and basic operations
- Make a vector
- Vector with same elements
- Zero vector
- Convert between function and vector
- Convert between list and vector
- Convert vector to its elements
- Automation for vector operations
- vector with specific size
- Vector by mapping one vector
- Vector by mapping two vectors
- Vector with only one element is 1
- natural basis, 自然基(最常见的一种标准正交基)
- Get head, tail, slice of a vector
- Update a vector
- Predicate of vectors
- Folding of a vector
- Algebraic operations
- Geometric operations
FinMatrix.Matrix.Matrix
- Matrix type and basic operations
- Row vector and column vector
- Make a matrix
- Update a matrix
- Algebraic operations
- Elementary Row Transform
FinMatrix.Matrix.BMatrix
FinMatrix.Matrix.Permutation
FinMatrix.Matrix.MatrixDet
FinMatrix.Matrix.MatrixDet_test
FinMatrix.Matrix.MatrixGauss
FinMatrix.Matrix.MatrixGauss_test
FinMatrix.Matrix.MatrixInvertible
FinMatrix.Matrix.MatrixInvAM
FinMatrix.Matrix.MatrixInvGE
FinMatrix.Matrix.MatrixOrth
FinMatrix.Matrix.MatrixModule
- Basic matrix theory
- Definition of the vector type
- Equalities of the vector
- Convert between vector and function
- Convert between vector and list
- Make concrete vector
- Mapping of vector
- Constant vector and zero vector
- Set element of a vector
- Swap two element of a vector
- Insert element to a vector
- Remove one element
- Get head or tail element
- Get head or tail elements
- Remove exact one element at head or tail
- Remove some elements at head or tail
- Construct vector with one element at the head or tail position
- Construct vector with two vectors
- A proposition which all elements of the vector hold
- A proposition which at least one element of the vector holds
- An element belongs to the vector
- An vector belongs to another vector
- Two vectors are equivalent (i.e., contain each other)
- Folding of a vector
- Automation for vector equality proofs
- Definition of the matrix type
- Equalities of the matrix
- Convert between cvec and vec
- Convert between rvec and vec
- Convert between matrix and function
- Convert between matrix and list
- Convert between `list of vectors` and mat
- Make concrete matrix
- Get row and column of a matrix
- Construct matrix with two matrices
- Get head or tail row
- Get head or tail column
- Construct matrix from vector and matrix
- Remove exact one row or column at head or tail
- Mapping of matrix
- Set one row or one column of a matrix
- Matrix transposition
- Diagonal Matrix
- Zero matrix
- Conversion between block matrix and matrix
- Monoid matrix theory
- Ring matrix theory
- 自然基的基向量
- natural basis, 自然基(最常见的一种标准正交基)
- Vector opposition
- Vector subtraction
- Vector scalar multiplication
- Vector dot product
- Properties of vsum
- Unit vector
- Orthogonal vectors
- Identity matrix
- Matrix trace
- Monoid structure over {madd,mat0,meq}
- Matrix opposition
- Matrix subtraction
- Abelian group structure over {madd,mat0,mopp}
- Scalar multiplication of matrix
- Matrix multiplication
- Matrix multiply vector (treat vector as column vector)
- Vector multiply matrix (treat vector as row vector)
- Mixed properties about mmul, mmulv, mvmul
- skew-symmetric matrix
- Hardmard product
- minor of matrix 余子式,余因式,余因子展开式
- cofactor of matrix 代数余子式
- Determinant of a matrix over a ring
- Determinant on matrix of 1-,2-, or 3-dim
- Adjoint matrix (Adjugate matrix, adj(A), A* )
- Invertible matrix
- Algebraic operations of block matrices
- Ordered ring matrix theory
- Field matrix theory
- Properties about veye
- Properties about vscal
- Projection component of a vector onto another
- Perpendicular component of a vector respect to another
- un-sorted properties about vector
- Properties about zero or non-zero matrices
- Determinant of a matrix over a field
- Cramer rule
- Invertible matrix
- Gauss Elimination operations
- Check matrix invertibility by GE
- Inverse matrix (option version) by GE
- Inverse matrix (default value version) by GE
- Inverse matrix with lists for input and output by GE
- Solve equation with inverse matrix by GE
- Check matrix invertibility by AM
- Inverse matrix (option version) by AM
- Inverse matrix (default value version) by AM
- Inverse matrix with lists for input and output by AM
- Solve equation with inverse matrix by AM
- Direct formulas of inverse matrix by AM
- Orthonormal vectors 标准正交的向量组
- Orthogonal matrix
- O(n): General Orthogonal Group, General Linear Group
- SO(n): Special Orthogonal Group, Rotation Group
- Ordered field matrix theory
- Normed ordered field matrix theory
FinMatrix.Matrix.MatrixNat
FinMatrix.Matrix.MatrixZ
FinMatrix.Matrix.MatrixQ
FinMatrix.Matrix.MatrixQc
FinMatrix.Matrix.MatrixR
- Matrix theory come from common implementations
- OCaml Extraction of matrix inversion
- Matrix theory applied to this type
- Extension for R
- 去掉 a2r 以及 Aabs 的一些引理
- Vector normalization (only valid in R type)
- Angle between two vectors
- The cross product of 2D vectors
- 2D vector theory
- Standard base of 2-D vectors
- 2D vector angle from one to another
- Properties about parallel, orthogonal of 3D vectors
- The cross product (vector product) of two 3-dim vectors
- Skew-symmetric matrix of 3-dimensions
- 3D vector theory
- Standard base for Euclidean space (3-D vectors)
- Direction cosine of 3-D vectors
- The triple scalar product (or called Mixed products) of 3-D vectors
- Standard base for 4-D vectors
- matrix norm
- matrix F norm
- Orthogonal matrix
- SO2 and SO3
- Modules for notations to avoid name pollution
- Usage demo