Metamath Proof Explorer


Theorem relexpsucnnl

Description: A reduction for relation exponentiation to the left. (Contributed by RP, 23-May-2020)

Ref Expression
Assertion relexpsucnnl ( ( 𝑅𝑉𝑁 ∈ ℕ ) → ( 𝑅𝑟 ( 𝑁 + 1 ) ) = ( 𝑅 ∘ ( 𝑅𝑟 𝑁 ) ) )

Proof

Step Hyp Ref Expression
1 oveq1 ( 𝑛 = 1 → ( 𝑛 + 1 ) = ( 1 + 1 ) )
2 1 oveq2d ( 𝑛 = 1 → ( 𝑅𝑟 ( 𝑛 + 1 ) ) = ( 𝑅𝑟 ( 1 + 1 ) ) )
3 oveq2 ( 𝑛 = 1 → ( 𝑅𝑟 𝑛 ) = ( 𝑅𝑟 1 ) )
4 3 coeq2d ( 𝑛 = 1 → ( 𝑅 ∘ ( 𝑅𝑟 𝑛 ) ) = ( 𝑅 ∘ ( 𝑅𝑟 1 ) ) )
5 2 4 eqeq12d ( 𝑛 = 1 → ( ( 𝑅𝑟 ( 𝑛 + 1 ) ) = ( 𝑅 ∘ ( 𝑅𝑟 𝑛 ) ) ↔ ( 𝑅𝑟 ( 1 + 1 ) ) = ( 𝑅 ∘ ( 𝑅𝑟 1 ) ) ) )
6 5 imbi2d ( 𝑛 = 1 → ( ( 𝑅𝑉 → ( 𝑅𝑟 ( 𝑛 + 1 ) ) = ( 𝑅 ∘ ( 𝑅𝑟 𝑛 ) ) ) ↔ ( 𝑅𝑉 → ( 𝑅𝑟 ( 1 + 1 ) ) = ( 𝑅 ∘ ( 𝑅𝑟 1 ) ) ) ) )
7 oveq1 ( 𝑛 = 𝑚 → ( 𝑛 + 1 ) = ( 𝑚 + 1 ) )
8 7 oveq2d ( 𝑛 = 𝑚 → ( 𝑅𝑟 ( 𝑛 + 1 ) ) = ( 𝑅𝑟 ( 𝑚 + 1 ) ) )
9 oveq2 ( 𝑛 = 𝑚 → ( 𝑅𝑟 𝑛 ) = ( 𝑅𝑟 𝑚 ) )
10 9 coeq2d ( 𝑛 = 𝑚 → ( 𝑅 ∘ ( 𝑅𝑟 𝑛 ) ) = ( 𝑅 ∘ ( 𝑅𝑟 𝑚 ) ) )
11 8 10 eqeq12d ( 𝑛 = 𝑚 → ( ( 𝑅𝑟 ( 𝑛 + 1 ) ) = ( 𝑅 ∘ ( 𝑅𝑟 𝑛 ) ) ↔ ( 𝑅𝑟 ( 𝑚 + 1 ) ) = ( 𝑅 ∘ ( 𝑅𝑟 𝑚 ) ) ) )
12 11 imbi2d ( 𝑛 = 𝑚 → ( ( 𝑅𝑉 → ( 𝑅𝑟 ( 𝑛 + 1 ) ) = ( 𝑅 ∘ ( 𝑅𝑟 𝑛 ) ) ) ↔ ( 𝑅𝑉 → ( 𝑅𝑟 ( 𝑚 + 1 ) ) = ( 𝑅 ∘ ( 𝑅𝑟 𝑚 ) ) ) ) )
13 oveq1 ( 𝑛 = ( 𝑚 + 1 ) → ( 𝑛 + 1 ) = ( ( 𝑚 + 1 ) + 1 ) )
14 13 oveq2d ( 𝑛 = ( 𝑚 + 1 ) → ( 𝑅𝑟 ( 𝑛 + 1 ) ) = ( 𝑅𝑟 ( ( 𝑚 + 1 ) + 1 ) ) )
15 oveq2 ( 𝑛 = ( 𝑚 + 1 ) → ( 𝑅𝑟 𝑛 ) = ( 𝑅𝑟 ( 𝑚 + 1 ) ) )
16 15 coeq2d ( 𝑛 = ( 𝑚 + 1 ) → ( 𝑅 ∘ ( 𝑅𝑟 𝑛 ) ) = ( 𝑅 ∘ ( 𝑅𝑟 ( 𝑚 + 1 ) ) ) )
17 14 16 eqeq12d ( 𝑛 = ( 𝑚 + 1 ) → ( ( 𝑅𝑟 ( 𝑛 + 1 ) ) = ( 𝑅 ∘ ( 𝑅𝑟 𝑛 ) ) ↔ ( 𝑅𝑟 ( ( 𝑚 + 1 ) + 1 ) ) = ( 𝑅 ∘ ( 𝑅𝑟 ( 𝑚 + 1 ) ) ) ) )
18 17 imbi2d ( 𝑛 = ( 𝑚 + 1 ) → ( ( 𝑅𝑉 → ( 𝑅𝑟 ( 𝑛 + 1 ) ) = ( 𝑅 ∘ ( 𝑅𝑟 𝑛 ) ) ) ↔ ( 𝑅𝑉 → ( 𝑅𝑟 ( ( 𝑚 + 1 ) + 1 ) ) = ( 𝑅 ∘ ( 𝑅𝑟 ( 𝑚 + 1 ) ) ) ) ) )
19 oveq1 ( 𝑛 = 𝑁 → ( 𝑛 + 1 ) = ( 𝑁 + 1 ) )
20 19 oveq2d ( 𝑛 = 𝑁 → ( 𝑅𝑟 ( 𝑛 + 1 ) ) = ( 𝑅𝑟 ( 𝑁 + 1 ) ) )
21 oveq2 ( 𝑛 = 𝑁 → ( 𝑅𝑟 𝑛 ) = ( 𝑅𝑟 𝑁 ) )
22 21 coeq2d ( 𝑛 = 𝑁 → ( 𝑅 ∘ ( 𝑅𝑟 𝑛 ) ) = ( 𝑅 ∘ ( 𝑅𝑟 𝑁 ) ) )
23 20 22 eqeq12d ( 𝑛 = 𝑁 → ( ( 𝑅𝑟 ( 𝑛 + 1 ) ) = ( 𝑅 ∘ ( 𝑅𝑟 𝑛 ) ) ↔ ( 𝑅𝑟 ( 𝑁 + 1 ) ) = ( 𝑅 ∘ ( 𝑅𝑟 𝑁 ) ) ) )
24 23 imbi2d ( 𝑛 = 𝑁 → ( ( 𝑅𝑉 → ( 𝑅𝑟 ( 𝑛 + 1 ) ) = ( 𝑅 ∘ ( 𝑅𝑟 𝑛 ) ) ) ↔ ( 𝑅𝑉 → ( 𝑅𝑟 ( 𝑁 + 1 ) ) = ( 𝑅 ∘ ( 𝑅𝑟 𝑁 ) ) ) ) )
25 relexp1g ( 𝑅𝑉 → ( 𝑅𝑟 1 ) = 𝑅 )
26 25 coeq1d ( 𝑅𝑉 → ( ( 𝑅𝑟 1 ) ∘ 𝑅 ) = ( 𝑅𝑅 ) )
27 1nn 1 ∈ ℕ
28 relexpsucnnr ( ( 𝑅𝑉 ∧ 1 ∈ ℕ ) → ( 𝑅𝑟 ( 1 + 1 ) ) = ( ( 𝑅𝑟 1 ) ∘ 𝑅 ) )
29 27 28 mpan2 ( 𝑅𝑉 → ( 𝑅𝑟 ( 1 + 1 ) ) = ( ( 𝑅𝑟 1 ) ∘ 𝑅 ) )
30 25 coeq2d ( 𝑅𝑉 → ( 𝑅 ∘ ( 𝑅𝑟 1 ) ) = ( 𝑅𝑅 ) )
31 26 29 30 3eqtr4d ( 𝑅𝑉 → ( 𝑅𝑟 ( 1 + 1 ) ) = ( 𝑅 ∘ ( 𝑅𝑟 1 ) ) )
32 coeq1 ( ( 𝑅𝑟 ( 𝑚 + 1 ) ) = ( 𝑅 ∘ ( 𝑅𝑟 𝑚 ) ) → ( ( 𝑅𝑟 ( 𝑚 + 1 ) ) ∘ 𝑅 ) = ( ( 𝑅 ∘ ( 𝑅𝑟 𝑚 ) ) ∘ 𝑅 ) )
33 coass ( ( 𝑅 ∘ ( 𝑅𝑟 𝑚 ) ) ∘ 𝑅 ) = ( 𝑅 ∘ ( ( 𝑅𝑟 𝑚 ) ∘ 𝑅 ) )
34 32 33 eqtrdi ( ( 𝑅𝑟 ( 𝑚 + 1 ) ) = ( 𝑅 ∘ ( 𝑅𝑟 𝑚 ) ) → ( ( 𝑅𝑟 ( 𝑚 + 1 ) ) ∘ 𝑅 ) = ( 𝑅 ∘ ( ( 𝑅𝑟 𝑚 ) ∘ 𝑅 ) ) )
35 34 adantl ( ( ( 𝑅𝑉𝑚 ∈ ℕ ) ∧ ( 𝑅𝑟 ( 𝑚 + 1 ) ) = ( 𝑅 ∘ ( 𝑅𝑟 𝑚 ) ) ) → ( ( 𝑅𝑟 ( 𝑚 + 1 ) ) ∘ 𝑅 ) = ( 𝑅 ∘ ( ( 𝑅𝑟 𝑚 ) ∘ 𝑅 ) ) )
36 simpl ( ( ( 𝑅𝑉𝑚 ∈ ℕ ) ∧ ( 𝑅𝑟 ( 𝑚 + 1 ) ) = ( 𝑅 ∘ ( 𝑅𝑟 𝑚 ) ) ) → ( 𝑅𝑉𝑚 ∈ ℕ ) )
37 peano2nn ( 𝑚 ∈ ℕ → ( 𝑚 + 1 ) ∈ ℕ )
38 37 anim2i ( ( 𝑅𝑉𝑚 ∈ ℕ ) → ( 𝑅𝑉 ∧ ( 𝑚 + 1 ) ∈ ℕ ) )
39 relexpsucnnr ( ( 𝑅𝑉 ∧ ( 𝑚 + 1 ) ∈ ℕ ) → ( 𝑅𝑟 ( ( 𝑚 + 1 ) + 1 ) ) = ( ( 𝑅𝑟 ( 𝑚 + 1 ) ) ∘ 𝑅 ) )
40 36 38 39 3syl ( ( ( 𝑅𝑉𝑚 ∈ ℕ ) ∧ ( 𝑅𝑟 ( 𝑚 + 1 ) ) = ( 𝑅 ∘ ( 𝑅𝑟 𝑚 ) ) ) → ( 𝑅𝑟 ( ( 𝑚 + 1 ) + 1 ) ) = ( ( 𝑅𝑟 ( 𝑚 + 1 ) ) ∘ 𝑅 ) )
41 relexpsucnnr ( ( 𝑅𝑉𝑚 ∈ ℕ ) → ( 𝑅𝑟 ( 𝑚 + 1 ) ) = ( ( 𝑅𝑟 𝑚 ) ∘ 𝑅 ) )
42 41 adantr ( ( ( 𝑅𝑉𝑚 ∈ ℕ ) ∧ ( 𝑅𝑟 ( 𝑚 + 1 ) ) = ( 𝑅 ∘ ( 𝑅𝑟 𝑚 ) ) ) → ( 𝑅𝑟 ( 𝑚 + 1 ) ) = ( ( 𝑅𝑟 𝑚 ) ∘ 𝑅 ) )
43 42 coeq2d ( ( ( 𝑅𝑉𝑚 ∈ ℕ ) ∧ ( 𝑅𝑟 ( 𝑚 + 1 ) ) = ( 𝑅 ∘ ( 𝑅𝑟 𝑚 ) ) ) → ( 𝑅 ∘ ( 𝑅𝑟 ( 𝑚 + 1 ) ) ) = ( 𝑅 ∘ ( ( 𝑅𝑟 𝑚 ) ∘ 𝑅 ) ) )
44 35 40 43 3eqtr4d ( ( ( 𝑅𝑉𝑚 ∈ ℕ ) ∧ ( 𝑅𝑟 ( 𝑚 + 1 ) ) = ( 𝑅 ∘ ( 𝑅𝑟 𝑚 ) ) ) → ( 𝑅𝑟 ( ( 𝑚 + 1 ) + 1 ) ) = ( 𝑅 ∘ ( 𝑅𝑟 ( 𝑚 + 1 ) ) ) )
45 44 ex ( ( 𝑅𝑉𝑚 ∈ ℕ ) → ( ( 𝑅𝑟 ( 𝑚 + 1 ) ) = ( 𝑅 ∘ ( 𝑅𝑟 𝑚 ) ) → ( 𝑅𝑟 ( ( 𝑚 + 1 ) + 1 ) ) = ( 𝑅 ∘ ( 𝑅𝑟 ( 𝑚 + 1 ) ) ) ) )
46 45 expcom ( 𝑚 ∈ ℕ → ( 𝑅𝑉 → ( ( 𝑅𝑟 ( 𝑚 + 1 ) ) = ( 𝑅 ∘ ( 𝑅𝑟 𝑚 ) ) → ( 𝑅𝑟 ( ( 𝑚 + 1 ) + 1 ) ) = ( 𝑅 ∘ ( 𝑅𝑟 ( 𝑚 + 1 ) ) ) ) ) )
47 46 a2d ( 𝑚 ∈ ℕ → ( ( 𝑅𝑉 → ( 𝑅𝑟 ( 𝑚 + 1 ) ) = ( 𝑅 ∘ ( 𝑅𝑟 𝑚 ) ) ) → ( 𝑅𝑉 → ( 𝑅𝑟 ( ( 𝑚 + 1 ) + 1 ) ) = ( 𝑅 ∘ ( 𝑅𝑟 ( 𝑚 + 1 ) ) ) ) ) )
48 6 12 18 24 31 47 nnind ( 𝑁 ∈ ℕ → ( 𝑅𝑉 → ( 𝑅𝑟 ( 𝑁 + 1 ) ) = ( 𝑅 ∘ ( 𝑅𝑟 𝑁 ) ) ) )
49 48 impcom ( ( 𝑅𝑉𝑁 ∈ ℕ ) → ( 𝑅𝑟 ( 𝑁 + 1 ) ) = ( 𝑅 ∘ ( 𝑅𝑟 𝑁 ) ) )