Constructor for matrices. The arguments are a list of rows in the matrix.
(<=> (Matrix-Of-Rows @Elements)
(And (Matrix ?M)
(= (Row-Dimension ?M) (Length (Listof @Elements)))
(= (Row ?I ?M) (Nth (Listof @Elements) ?I))
(=> (And (Item ?E1 (Listof @Elements))
(Item ?E2 (Listof @Elements)))
(= (Column-Dimension ?E1) (Column-Dimension ?E2)))))
(Undefined (Arity Matrix-Of-Rows))
(Instance-Of (Arity Matrix-Of-Rows) Undefined)
(=> (Matrix-Of-Rows $X $Y) (Matrix $Y))
(=> (= (Matrix-Of-Rows @Elements) ?M)
(=> (And (Item ?E1 (Listof @Elements))
(Item ?E2 (Listof @Elements)))
(= (Column-Dimension ?E1) (Column-Dimension ?E2))))
(=> (= (Matrix-Of-Rows @Elements) ?M)
(= (Row ?I ?M) (Nth (Listof @Elements) ?I)))
(=> (= (Matrix-Of-Rows @Elements) ?M)
(= (Row-Dimension ?M) (Length (Listof @Elements))))
(=> (= (Matrix-Of-Rows @Elements) ?M) (Matrix ?M))