Metamath Proof Explorer


Theorem cramer

Description: Cramer's rule. According to Wikipedia "Cramer's rule", 21-Feb-2019, https://en.wikipedia.org/wiki/Cramer%27s_rule : "[Cramer's rule] ... expresses the [unique solution [of a system of linear equations] in terms of the determinants of the (square) coefficient matrix and of matrices obtained from it by replacing one column by the column vector of right-hand sides of the equations." If it is assumed that a (unique) solution exists, it can be obtained by Cramer's rule (see also cramerimp ). On the other hand, if a vector can be constructed by Cramer's rule, it is a solution of the system of linear equations, so at least one solution exists. The uniqueness is ensured by considering only systems of linear equations whose matrix has a unit (of the underlying ring) as determinant, see matunit or slesolinv . For fields as underlying rings, this requirement is equivalent to the determinant not being 0. Theorem 4.4 in Lang p. 513. This is Metamath 100 proof #97. (Contributed by Alexander van der Vekens, 21-Feb-2019) (Revised by Alexander van der Vekens, 1-Mar-2019)

Ref Expression
Hypotheses cramer.a โŠข ๐ด = ( ๐‘ Mat ๐‘… )
cramer.b โŠข ๐ต = ( Base โ€˜ ๐ด )
cramer.v โŠข ๐‘‰ = ( ( Base โ€˜ ๐‘… ) โ†‘m ๐‘ )
cramer.d โŠข ๐ท = ( ๐‘ maDet ๐‘… )
cramer.x โŠข ยท = ( ๐‘… maVecMul โŸจ ๐‘ , ๐‘ โŸฉ )
cramer.q โŠข / = ( /r โ€˜ ๐‘… )
Assertion cramer ( ( ( ๐‘… โˆˆ CRing โˆง ๐‘ โ‰  โˆ… ) โˆง ( ๐‘‹ โˆˆ ๐ต โˆง ๐‘Œ โˆˆ ๐‘‰ ) โˆง ( ๐ท โ€˜ ๐‘‹ ) โˆˆ ( Unit โ€˜ ๐‘… ) ) โ†’ ( ๐‘ = ( ๐‘– โˆˆ ๐‘ โ†ฆ ( ( ๐ท โ€˜ ( ( ๐‘‹ ( ๐‘ matRepV ๐‘… ) ๐‘Œ ) โ€˜ ๐‘– ) ) / ( ๐ท โ€˜ ๐‘‹ ) ) ) โ†” ( ๐‘‹ ยท ๐‘ ) = ๐‘Œ ) )

Proof

Step Hyp Ref Expression
1 cramer.a โŠข ๐ด = ( ๐‘ Mat ๐‘… )
2 cramer.b โŠข ๐ต = ( Base โ€˜ ๐ด )
3 cramer.v โŠข ๐‘‰ = ( ( Base โ€˜ ๐‘… ) โ†‘m ๐‘ )
4 cramer.d โŠข ๐ท = ( ๐‘ maDet ๐‘… )
5 cramer.x โŠข ยท = ( ๐‘… maVecMul โŸจ ๐‘ , ๐‘ โŸฉ )
6 cramer.q โŠข / = ( /r โ€˜ ๐‘… )
7 pm3.22 โŠข ( ( ๐‘… โˆˆ CRing โˆง ๐‘ โ‰  โˆ… ) โ†’ ( ๐‘ โ‰  โˆ… โˆง ๐‘… โˆˆ CRing ) )
8 1 2 3 4 5 6 cramerlem3 โŠข ( ( ( ๐‘ โ‰  โˆ… โˆง ๐‘… โˆˆ CRing ) โˆง ( ๐‘‹ โˆˆ ๐ต โˆง ๐‘Œ โˆˆ ๐‘‰ ) โˆง ( ๐ท โ€˜ ๐‘‹ ) โˆˆ ( Unit โ€˜ ๐‘… ) ) โ†’ ( ๐‘ = ( ๐‘– โˆˆ ๐‘ โ†ฆ ( ( ๐ท โ€˜ ( ( ๐‘‹ ( ๐‘ matRepV ๐‘… ) ๐‘Œ ) โ€˜ ๐‘– ) ) / ( ๐ท โ€˜ ๐‘‹ ) ) ) โ†’ ( ๐‘‹ ยท ๐‘ ) = ๐‘Œ ) )
9 7 8 syl3an1 โŠข ( ( ( ๐‘… โˆˆ CRing โˆง ๐‘ โ‰  โˆ… ) โˆง ( ๐‘‹ โˆˆ ๐ต โˆง ๐‘Œ โˆˆ ๐‘‰ ) โˆง ( ๐ท โ€˜ ๐‘‹ ) โˆˆ ( Unit โ€˜ ๐‘… ) ) โ†’ ( ๐‘ = ( ๐‘– โˆˆ ๐‘ โ†ฆ ( ( ๐ท โ€˜ ( ( ๐‘‹ ( ๐‘ matRepV ๐‘… ) ๐‘Œ ) โ€˜ ๐‘– ) ) / ( ๐ท โ€˜ ๐‘‹ ) ) ) โ†’ ( ๐‘‹ ยท ๐‘ ) = ๐‘Œ ) )
10 simpl1l โŠข ( ( ( ( ๐‘… โˆˆ CRing โˆง ๐‘ โ‰  โˆ… ) โˆง ( ๐‘‹ โˆˆ ๐ต โˆง ๐‘Œ โˆˆ ๐‘‰ ) โˆง ( ๐ท โ€˜ ๐‘‹ ) โˆˆ ( Unit โ€˜ ๐‘… ) ) โˆง ( ๐‘‹ ยท ๐‘ ) = ๐‘Œ ) โ†’ ๐‘… โˆˆ CRing )
11 simpl2 โŠข ( ( ( ( ๐‘… โˆˆ CRing โˆง ๐‘ โ‰  โˆ… ) โˆง ( ๐‘‹ โˆˆ ๐ต โˆง ๐‘Œ โˆˆ ๐‘‰ ) โˆง ( ๐ท โ€˜ ๐‘‹ ) โˆˆ ( Unit โ€˜ ๐‘… ) ) โˆง ( ๐‘‹ ยท ๐‘ ) = ๐‘Œ ) โ†’ ( ๐‘‹ โˆˆ ๐ต โˆง ๐‘Œ โˆˆ ๐‘‰ ) )
12 simpl3 โŠข ( ( ( ( ๐‘… โˆˆ CRing โˆง ๐‘ โ‰  โˆ… ) โˆง ( ๐‘‹ โˆˆ ๐ต โˆง ๐‘Œ โˆˆ ๐‘‰ ) โˆง ( ๐ท โ€˜ ๐‘‹ ) โˆˆ ( Unit โ€˜ ๐‘… ) ) โˆง ( ๐‘‹ ยท ๐‘ ) = ๐‘Œ ) โ†’ ( ๐ท โ€˜ ๐‘‹ ) โˆˆ ( Unit โ€˜ ๐‘… ) )
13 crngring โŠข ( ๐‘… โˆˆ CRing โ†’ ๐‘… โˆˆ Ring )
14 13 anim1ci โŠข ( ( ๐‘… โˆˆ CRing โˆง ๐‘ โ‰  โˆ… ) โ†’ ( ๐‘ โ‰  โˆ… โˆง ๐‘… โˆˆ Ring ) )
15 14 anim1i โŠข ( ( ( ๐‘… โˆˆ CRing โˆง ๐‘ โ‰  โˆ… ) โˆง ( ๐‘‹ โˆˆ ๐ต โˆง ๐‘Œ โˆˆ ๐‘‰ ) ) โ†’ ( ( ๐‘ โ‰  โˆ… โˆง ๐‘… โˆˆ Ring ) โˆง ( ๐‘‹ โˆˆ ๐ต โˆง ๐‘Œ โˆˆ ๐‘‰ ) ) )
16 15 3adant3 โŠข ( ( ( ๐‘… โˆˆ CRing โˆง ๐‘ โ‰  โˆ… ) โˆง ( ๐‘‹ โˆˆ ๐ต โˆง ๐‘Œ โˆˆ ๐‘‰ ) โˆง ( ๐ท โ€˜ ๐‘‹ ) โˆˆ ( Unit โ€˜ ๐‘… ) ) โ†’ ( ( ๐‘ โ‰  โˆ… โˆง ๐‘… โˆˆ Ring ) โˆง ( ๐‘‹ โˆˆ ๐ต โˆง ๐‘Œ โˆˆ ๐‘‰ ) ) )
17 1 2 3 5 slesolvec โŠข ( ( ( ๐‘ โ‰  โˆ… โˆง ๐‘… โˆˆ Ring ) โˆง ( ๐‘‹ โˆˆ ๐ต โˆง ๐‘Œ โˆˆ ๐‘‰ ) ) โ†’ ( ( ๐‘‹ ยท ๐‘ ) = ๐‘Œ โ†’ ๐‘ โˆˆ ๐‘‰ ) )
18 17 imp โŠข ( ( ( ( ๐‘ โ‰  โˆ… โˆง ๐‘… โˆˆ Ring ) โˆง ( ๐‘‹ โˆˆ ๐ต โˆง ๐‘Œ โˆˆ ๐‘‰ ) ) โˆง ( ๐‘‹ ยท ๐‘ ) = ๐‘Œ ) โ†’ ๐‘ โˆˆ ๐‘‰ )
19 16 18 sylan โŠข ( ( ( ( ๐‘… โˆˆ CRing โˆง ๐‘ โ‰  โˆ… ) โˆง ( ๐‘‹ โˆˆ ๐ต โˆง ๐‘Œ โˆˆ ๐‘‰ ) โˆง ( ๐ท โ€˜ ๐‘‹ ) โˆˆ ( Unit โ€˜ ๐‘… ) ) โˆง ( ๐‘‹ ยท ๐‘ ) = ๐‘Œ ) โ†’ ๐‘ โˆˆ ๐‘‰ )
20 simpr โŠข ( ( ( ( ๐‘… โˆˆ CRing โˆง ๐‘ โ‰  โˆ… ) โˆง ( ๐‘‹ โˆˆ ๐ต โˆง ๐‘Œ โˆˆ ๐‘‰ ) โˆง ( ๐ท โ€˜ ๐‘‹ ) โˆˆ ( Unit โ€˜ ๐‘… ) ) โˆง ( ๐‘‹ ยท ๐‘ ) = ๐‘Œ ) โ†’ ( ๐‘‹ ยท ๐‘ ) = ๐‘Œ )
21 1 2 3 4 5 6 cramerlem1 โŠข ( ( ๐‘… โˆˆ CRing โˆง ( ๐‘‹ โˆˆ ๐ต โˆง ๐‘Œ โˆˆ ๐‘‰ ) โˆง ( ( ๐ท โ€˜ ๐‘‹ ) โˆˆ ( Unit โ€˜ ๐‘… ) โˆง ๐‘ โˆˆ ๐‘‰ โˆง ( ๐‘‹ ยท ๐‘ ) = ๐‘Œ ) ) โ†’ ๐‘ = ( ๐‘– โˆˆ ๐‘ โ†ฆ ( ( ๐ท โ€˜ ( ( ๐‘‹ ( ๐‘ matRepV ๐‘… ) ๐‘Œ ) โ€˜ ๐‘– ) ) / ( ๐ท โ€˜ ๐‘‹ ) ) ) )
22 10 11 12 19 20 21 syl113anc โŠข ( ( ( ( ๐‘… โˆˆ CRing โˆง ๐‘ โ‰  โˆ… ) โˆง ( ๐‘‹ โˆˆ ๐ต โˆง ๐‘Œ โˆˆ ๐‘‰ ) โˆง ( ๐ท โ€˜ ๐‘‹ ) โˆˆ ( Unit โ€˜ ๐‘… ) ) โˆง ( ๐‘‹ ยท ๐‘ ) = ๐‘Œ ) โ†’ ๐‘ = ( ๐‘– โˆˆ ๐‘ โ†ฆ ( ( ๐ท โ€˜ ( ( ๐‘‹ ( ๐‘ matRepV ๐‘… ) ๐‘Œ ) โ€˜ ๐‘– ) ) / ( ๐ท โ€˜ ๐‘‹ ) ) ) )
23 22 ex โŠข ( ( ( ๐‘… โˆˆ CRing โˆง ๐‘ โ‰  โˆ… ) โˆง ( ๐‘‹ โˆˆ ๐ต โˆง ๐‘Œ โˆˆ ๐‘‰ ) โˆง ( ๐ท โ€˜ ๐‘‹ ) โˆˆ ( Unit โ€˜ ๐‘… ) ) โ†’ ( ( ๐‘‹ ยท ๐‘ ) = ๐‘Œ โ†’ ๐‘ = ( ๐‘– โˆˆ ๐‘ โ†ฆ ( ( ๐ท โ€˜ ( ( ๐‘‹ ( ๐‘ matRepV ๐‘… ) ๐‘Œ ) โ€˜ ๐‘– ) ) / ( ๐ท โ€˜ ๐‘‹ ) ) ) ) )
24 9 23 impbid โŠข ( ( ( ๐‘… โˆˆ CRing โˆง ๐‘ โ‰  โˆ… ) โˆง ( ๐‘‹ โˆˆ ๐ต โˆง ๐‘Œ โˆˆ ๐‘‰ ) โˆง ( ๐ท โ€˜ ๐‘‹ ) โˆˆ ( Unit โ€˜ ๐‘… ) ) โ†’ ( ๐‘ = ( ๐‘– โˆˆ ๐‘ โ†ฆ ( ( ๐ท โ€˜ ( ( ๐‘‹ ( ๐‘ matRepV ๐‘… ) ๐‘Œ ) โ€˜ ๐‘– ) ) / ( ๐ท โ€˜ ๐‘‹ ) ) ) โ†” ( ๐‘‹ ยท ๐‘ ) = ๐‘Œ ) )