Metamath Proof Explorer


Theorem madjusmdetlem2

Description: Lemma for madjusmdet . (Contributed by Thierry Arnoux, 26-Aug-2020)

Ref Expression
Hypotheses madjusmdet.b ⊢ B = Base A
madjusmdet.a ⊢ A = 1 … N Mat R
madjusmdet.d ⊢ D = 1 … N maDet R
madjusmdet.k ⊢ K = 1 … N maAdju R
madjusmdet.t ⊢ · ˙ = ⋅ R
madjusmdet.z ⊢ Z = ℤRHom ⁡ R
madjusmdet.e ⊢ E = 1 … N − 1 maDet R
madjusmdet.n ⊢ φ → N ∈ ℕ
madjusmdet.r ⊢ φ → R ∈ CRing
madjusmdet.i ⊢ φ → I ∈ 1 … N
madjusmdet.j ⊢ φ → J ∈ 1 … N
madjusmdet.m ⊢ φ → M ∈ B
madjusmdetlem2.p ⊢ P = i ∈ 1 … N ⟼ if i = 1 I if i ≤ I i − 1 i
madjusmdetlem2.s ⊢ S = i ∈ 1 … N ⟼ if i = 1 N if i ≤ N i − 1 i
Assertion madjusmdetlem2 ⊢ φ ∧ X ∈ 1 … N − 1 → if X < I X X + 1 = P ∘ S -1 ⁡ X

Proof

Step Hyp Ref Expression
1 madjusmdet.b ⊢ B = Base A
2 madjusmdet.a ⊢ A = 1 … N Mat R
3 madjusmdet.d ⊢ D = 1 … N maDet R
4 madjusmdet.k ⊢ K = 1 … N maAdju R
5 madjusmdet.t ⊢ · ˙ = ⋅ R
6 madjusmdet.z ⊢ Z = ℤRHom ⁡ R
7 madjusmdet.e ⊢ E = 1 … N − 1 maDet R
8 madjusmdet.n ⊢ φ → N ∈ ℕ
9 madjusmdet.r ⊢ φ → R ∈ CRing
10 madjusmdet.i ⊢ φ → I ∈ 1 … N
11 madjusmdet.j ⊢ φ → J ∈ 1 … N
12 madjusmdet.m ⊢ φ → M ∈ B
13 madjusmdetlem2.p ⊢ P = i ∈ 1 … N ⟼ if i = 1 I if i ≤ I i − 1 i
14 madjusmdetlem2.s ⊢ S = i ∈ 1 … N ⟼ if i = 1 N if i ≤ N i − 1 i
15 nnuz ⊢ ℕ = ℤ ≥ 1
16 8 15 eleqtrdi ⊢ φ → N ∈ ℤ ≥ 1
17 eluzfz2 ⊢ N ∈ ℤ ≥ 1 → N ∈ 1 … N
18 16 17 syl ⊢ φ → N ∈ 1 … N
19 eqid ⊢ 1 … N = 1 … N
20 eqid ⊢ SymGrp ⁡ 1 … N = SymGrp ⁡ 1 … N
21 eqid ⊢ Base SymGrp ⁡ 1 … N = Base SymGrp ⁡ 1 … N
22 19 14 20 21 fzto1st ⊢ N ∈ 1 … N → S ∈ Base SymGrp ⁡ 1 … N
23 18 22 syl ⊢ φ → S ∈ Base SymGrp ⁡ 1 … N
24 20 21 symgbasf1o ⊢ S ∈ Base SymGrp ⁡ 1 … N → S : 1 … N ⟶ 1-1 onto 1 … N
25 23 24 syl ⊢ φ → S : 1 … N ⟶ 1-1 onto 1 … N
26 25 adantr ⊢ φ ∧ X ∈ 1 … N − 1 → S : 1 … N ⟶ 1-1 onto 1 … N
27 fznatpl1 ⊢ N ∈ ℕ ∧ X ∈ 1 … N − 1 → X + 1 ∈ 1 … N
28 8 27 sylan ⊢ φ ∧ X ∈ 1 … N − 1 → X + 1 ∈ 1 … N
29 eqeq1 ⊢ i = x → i = 1 ↔ x = 1
30 breq1 ⊢ i = x → i ≤ N ↔ x ≤ N
31 oveq1 ⊢ i = x → i − 1 = x − 1
32 id ⊢ i = x → i = x
33 30 31 32 ifbieq12d ⊢ i = x → if i ≤ N i − 1 i = if x ≤ N x − 1 x
34 29 33 ifbieq2d ⊢ i = x → if i = 1 N if i ≤ N i − 1 i = if x = 1 N if x ≤ N x − 1 x
35 34 cbvmptv ⊢ i ∈ 1 … N ⟼ if i = 1 N if i ≤ N i − 1 i = x ∈ 1 … N ⟼ if x = 1 N if x ≤ N x − 1 x
36 14 35 eqtri ⊢ S = x ∈ 1 … N ⟼ if x = 1 N if x ≤ N x − 1 x
37 simpr ⊢ φ ∧ X ∈ 1 … N − 1 ∧ x = X + 1 → x = X + 1
38 1red ⊢ φ ∧ X ∈ 1 … N − 1 ∧ x = X + 1 → 1 ∈ ℝ
39 fz1ssnn ⊢ 1 … N − 1 ⊆ ℕ
40 simpr ⊢ φ ∧ X ∈ 1 … N − 1 → X ∈ 1 … N − 1
41 39 40 sselid ⊢ φ ∧ X ∈ 1 … N − 1 → X ∈ ℕ
42 41 nnrpd ⊢ φ ∧ X ∈ 1 … N − 1 → X ∈ ℝ +
43 42 adantr ⊢ φ ∧ X ∈ 1 … N − 1 ∧ x = X + 1 → X ∈ ℝ +
44 38 43 ltaddrp2d ⊢ φ ∧ X ∈ 1 … N − 1 ∧ x = X + 1 → 1 < X + 1
45 38 44 gtned ⊢ φ ∧ X ∈ 1 … N − 1 ∧ x = X + 1 → X + 1 ≠ 1
46 37 45 eqnetrd ⊢ φ ∧ X ∈ 1 … N − 1 ∧ x = X + 1 → x ≠ 1
47 46 neneqd ⊢ φ ∧ X ∈ 1 … N − 1 ∧ x = X + 1 → ¬ x = 1
48 47 iffalsed ⊢ φ ∧ X ∈ 1 … N − 1 ∧ x = X + 1 → if x = 1 N if x ≤ N x − 1 x = if x ≤ N x − 1 x
49 8 adantr ⊢ φ ∧ X ∈ 1 … N − 1 → N ∈ ℕ
50 41 nnnn0d ⊢ φ ∧ X ∈ 1 … N − 1 → X ∈ ℕ 0
51 49 nnnn0d ⊢ φ ∧ X ∈ 1 … N − 1 → N ∈ ℕ 0
52 elfzle2 ⊢ X ∈ 1 … N − 1 → X ≤ N − 1
53 40 52 syl ⊢ φ ∧ X ∈ 1 … N − 1 → X ≤ N − 1
54 nn0ltlem1 ⊢ X ∈ ℕ 0 ∧ N ∈ ℕ 0 → X < N ↔ X ≤ N − 1
55 54 biimpar ⊢ X ∈ ℕ 0 ∧ N ∈ ℕ 0 ∧ X ≤ N − 1 → X < N
56 50 51 53 55 syl21anc ⊢ φ ∧ X ∈ 1 … N − 1 → X < N
57 nnltp1le ⊢ X ∈ ℕ ∧ N ∈ ℕ → X < N ↔ X + 1 ≤ N
58 57 biimpa ⊢ X ∈ ℕ ∧ N ∈ ℕ ∧ X < N → X + 1 ≤ N
59 41 49 56 58 syl21anc ⊢ φ ∧ X ∈ 1 … N − 1 → X + 1 ≤ N
60 59 adantr ⊢ φ ∧ X ∈ 1 … N − 1 ∧ x = X + 1 → X + 1 ≤ N
61 37 60 eqbrtrd ⊢ φ ∧ X ∈ 1 … N − 1 ∧ x = X + 1 → x ≤ N
62 61 iftrued ⊢ φ ∧ X ∈ 1 … N − 1 ∧ x = X + 1 → if x ≤ N x − 1 x = x − 1
63 37 oveq1d ⊢ φ ∧ X ∈ 1 … N − 1 ∧ x = X + 1 → x − 1 = X + 1 - 1
64 41 nncnd ⊢ φ ∧ X ∈ 1 … N − 1 → X ∈ ℂ
65 1cnd ⊢ φ ∧ X ∈ 1 … N − 1 → 1 ∈ ℂ
66 64 65 pncand ⊢ φ ∧ X ∈ 1 … N − 1 → X + 1 - 1 = X
67 66 adantr ⊢ φ ∧ X ∈ 1 … N − 1 ∧ x = X + 1 → X + 1 - 1 = X
68 63 67 eqtrd ⊢ φ ∧ X ∈ 1 … N − 1 ∧ x = X + 1 → x − 1 = X
69 48 62 68 3eqtrd ⊢ φ ∧ X ∈ 1 … N − 1 ∧ x = X + 1 → if x = 1 N if x ≤ N x − 1 x = X
70 36 69 28 40 fvmptd2 ⊢ φ ∧ X ∈ 1 … N − 1 → S ⁡ X + 1 = X
71 f1ocnvfv ⊢ S : 1 … N ⟶ 1-1 onto 1 … N ∧ X + 1 ∈ 1 … N → S ⁡ X + 1 = X → S -1 ⁡ X = X + 1
72 71 imp ⊢ S : 1 … N ⟶ 1-1 onto 1 … N ∧ X + 1 ∈ 1 … N ∧ S ⁡ X + 1 = X → S -1 ⁡ X = X + 1
73 26 28 70 72 syl21anc ⊢ φ ∧ X ∈ 1 … N − 1 → S -1 ⁡ X = X + 1
74 73 fveq2d ⊢ φ ∧ X ∈ 1 … N − 1 → P ⁡ S -1 ⁡ X = P ⁡ X + 1
75 74 adantr ⊢ φ ∧ X ∈ 1 … N − 1 ∧ X < I → P ⁡ S -1 ⁡ X = P ⁡ X + 1
76 breq1 ⊢ i = x → i ≤ I ↔ x ≤ I
77 76 31 32 ifbieq12d ⊢ i = x → if i ≤ I i − 1 i = if x ≤ I x − 1 x
78 29 77 ifbieq2d ⊢ i = x → if i = 1 I if i ≤ I i − 1 i = if x = 1 I if x ≤ I x − 1 x
79 78 cbvmptv ⊢ i ∈ 1 … N ⟼ if i = 1 I if i ≤ I i − 1 i = x ∈ 1 … N ⟼ if x = 1 I if x ≤ I x − 1 x
80 13 79 eqtri ⊢ P = x ∈ 1 … N ⟼ if x = 1 I if x ≤ I x − 1 x
81 44 37 breqtrrd ⊢ φ ∧ X ∈ 1 … N − 1 ∧ x = X + 1 → 1 < x
82 38 81 gtned ⊢ φ ∧ X ∈ 1 … N − 1 ∧ x = X + 1 → x ≠ 1
83 82 neneqd ⊢ φ ∧ X ∈ 1 … N − 1 ∧ x = X + 1 → ¬ x = 1
84 83 iffalsed ⊢ φ ∧ X ∈ 1 … N − 1 ∧ x = X + 1 → if x = 1 I if x ≤ I x − 1 x = if x ≤ I x − 1 x
85 84 adantlr ⊢ φ ∧ X ∈ 1 … N − 1 ∧ X < I ∧ x = X + 1 → if x = 1 I if x ≤ I x − 1 x = if x ≤ I x − 1 x
86 simpr ⊢ φ ∧ X ∈ 1 … N − 1 ∧ X < I ∧ x = X + 1 → x = X + 1
87 41 ad2antrr ⊢ φ ∧ X ∈ 1 … N − 1 ∧ X < I ∧ x = X + 1 → X ∈ ℕ
88 fz1ssnn ⊢ 1 … N ⊆ ℕ
89 88 10 sselid ⊢ φ → I ∈ ℕ
90 89 ad3antrrr ⊢ φ ∧ X ∈ 1 … N − 1 ∧ X < I ∧ x = X + 1 → I ∈ ℕ
91 simplr ⊢ φ ∧ X ∈ 1 … N − 1 ∧ X < I ∧ x = X + 1 → X < I
92 nnltp1le ⊢ X ∈ ℕ ∧ I ∈ ℕ → X < I ↔ X + 1 ≤ I
93 92 biimpa ⊢ X ∈ ℕ ∧ I ∈ ℕ ∧ X < I → X + 1 ≤ I
94 87 90 91 93 syl21anc ⊢ φ ∧ X ∈ 1 … N − 1 ∧ X < I ∧ x = X + 1 → X + 1 ≤ I
95 86 94 eqbrtrd ⊢ φ ∧ X ∈ 1 … N − 1 ∧ X < I ∧ x = X + 1 → x ≤ I
96 95 iftrued ⊢ φ ∧ X ∈ 1 … N − 1 ∧ X < I ∧ x = X + 1 → if x ≤ I x − 1 x = x − 1
97 68 adantlr ⊢ φ ∧ X ∈ 1 … N − 1 ∧ X < I ∧ x = X + 1 → x − 1 = X
98 85 96 97 3eqtrd ⊢ φ ∧ X ∈ 1 … N − 1 ∧ X < I ∧ x = X + 1 → if x = 1 I if x ≤ I x − 1 x = X
99 28 adantr ⊢ φ ∧ X ∈ 1 … N − 1 ∧ X < I → X + 1 ∈ 1 … N
100 simplr ⊢ φ ∧ X ∈ 1 … N − 1 ∧ X < I → X ∈ 1 … N − 1
101 80 98 99 100 fvmptd2 ⊢ φ ∧ X ∈ 1 … N − 1 ∧ X < I → P ⁡ X + 1 = X
102 75 101 eqtr2d ⊢ φ ∧ X ∈ 1 … N − 1 ∧ X < I → X = P ⁡ S -1 ⁡ X
103 74 adantr ⊢ φ ∧ X ∈ 1 … N − 1 ∧ ¬ X < I → P ⁡ S -1 ⁡ X = P ⁡ X + 1
104 84 adantlr ⊢ φ ∧ X ∈ 1 … N − 1 ∧ ¬ X < I ∧ x = X + 1 → if x = 1 I if x ≤ I x − 1 x = if x ≤ I x − 1 x
105 41 ad2antrr ⊢ φ ∧ X ∈ 1 … N − 1 ∧ x = X + 1 ∧ x ≤ I → X ∈ ℕ
106 89 ad3antrrr ⊢ φ ∧ X ∈ 1 … N − 1 ∧ x = X + 1 ∧ x ≤ I → I ∈ ℕ
107 simplr ⊢ φ ∧ X ∈ 1 … N − 1 ∧ x = X + 1 ∧ x ≤ I → x = X + 1
108 simpr ⊢ φ ∧ X ∈ 1 … N − 1 ∧ x = X + 1 ∧ x ≤ I → x ≤ I
109 107 108 eqbrtrrd ⊢ φ ∧ X ∈ 1 … N − 1 ∧ x = X + 1 ∧ x ≤ I → X + 1 ≤ I
110 92 biimpar ⊢ X ∈ ℕ ∧ I ∈ ℕ ∧ X + 1 ≤ I → X < I
111 105 106 109 110 syl21anc ⊢ φ ∧ X ∈ 1 … N − 1 ∧ x = X + 1 ∧ x ≤ I → X < I
112 111 stoic1a ⊢ φ ∧ X ∈ 1 … N − 1 ∧ x = X + 1 ∧ ¬ X < I → ¬ x ≤ I
113 112 an32s ⊢ φ ∧ X ∈ 1 … N − 1 ∧ ¬ X < I ∧ x = X + 1 → ¬ x ≤ I
114 113 iffalsed ⊢ φ ∧ X ∈ 1 … N − 1 ∧ ¬ X < I ∧ x = X + 1 → if x ≤ I x − 1 x = x
115 simpr ⊢ φ ∧ X ∈ 1 … N − 1 ∧ ¬ X < I ∧ x = X + 1 → x = X + 1
116 104 114 115 3eqtrd ⊢ φ ∧ X ∈ 1 … N − 1 ∧ ¬ X < I ∧ x = X + 1 → if x = 1 I if x ≤ I x − 1 x = X + 1
117 28 adantr ⊢ φ ∧ X ∈ 1 … N − 1 ∧ ¬ X < I → X + 1 ∈ 1 … N
118 80 116 117 117 fvmptd2 ⊢ φ ∧ X ∈ 1 … N − 1 ∧ ¬ X < I → P ⁡ X + 1 = X + 1
119 103 118 eqtr2d ⊢ φ ∧ X ∈ 1 … N − 1 ∧ ¬ X < I → X + 1 = P ⁡ S -1 ⁡ X
120 102 119 ifeqda ⊢ φ ∧ X ∈ 1 … N − 1 → if X < I X X + 1 = P ⁡ S -1 ⁡ X
121 f1ocnv ⊢ S : 1 … N ⟶ 1-1 onto 1 … N → S -1 : 1 … N ⟶ 1-1 onto 1 … N
122 23 24 121 3syl ⊢ φ → S -1 : 1 … N ⟶ 1-1 onto 1 … N
123 f1ofun ⊢ S -1 : 1 … N ⟶ 1-1 onto 1 … N → Fun ⁡ S -1
124 122 123 syl ⊢ φ → Fun ⁡ S -1
125 fzdif2 ⊢ N ∈ ℤ ≥ 1 → 1 … N ∖ N = 1 … N − 1
126 16 125 syl ⊢ φ → 1 … N ∖ N = 1 … N − 1
127 difss ⊢ 1 … N ∖ N ⊆ 1 … N
128 126 127 eqsstrrdi ⊢ φ → 1 … N − 1 ⊆ 1 … N
129 f1odm ⊢ S -1 : 1 … N ⟶ 1-1 onto 1 … N → dom ⁡ S -1 = 1 … N
130 122 129 syl ⊢ φ → dom ⁡ S -1 = 1 … N
131 128 130 sseqtrrd ⊢ φ → 1 … N − 1 ⊆ dom ⁡ S -1
132 131 sselda ⊢ φ ∧ X ∈ 1 … N − 1 → X ∈ dom ⁡ S -1
133 fvco ⊢ Fun ⁡ S -1 ∧ X ∈ dom ⁡ S -1 → P ∘ S -1 ⁡ X = P ⁡ S -1 ⁡ X
134 124 132 133 syl2an2r ⊢ φ ∧ X ∈ 1 … N − 1 → P ∘ S -1 ⁡ X = P ⁡ S -1 ⁡ X
135 120 134 eqtr4d ⊢ φ ∧ X ∈ 1 … N − 1 → if X < I X X + 1 = P ∘ S -1 ⁡ X