Metamath Proof Explorer


Theorem modexp

Description: Exponentiation property of the modulo operation, see theorem 5.2(c) in ApostolNT p. 107. (Contributed by Mario Carneiro, 28-Feb-2014)

Ref Expression
Assertion modexp ABC0D+AmodD=BmodDACmodD=BCmodD

Proof

Step Hyp Ref Expression
1 simp2l ABC0D+AmodD=BmodDC0
2 id ABD+AmodD=BmodDABD+AmodD=BmodD
3 2 3adant2l ABC0D+AmodD=BmodDABD+AmodD=BmodD
4 oveq2 x=0Ax=A0
5 4 oveq1d x=0AxmodD=A0modD
6 oveq2 x=0Bx=B0
7 6 oveq1d x=0BxmodD=B0modD
8 5 7 eqeq12d x=0AxmodD=BxmodDA0modD=B0modD
9 8 imbi2d x=0ABD+AmodD=BmodDAxmodD=BxmodDABD+AmodD=BmodDA0modD=B0modD
10 oveq2 x=kAx=Ak
11 10 oveq1d x=kAxmodD=AkmodD
12 oveq2 x=kBx=Bk
13 12 oveq1d x=kBxmodD=BkmodD
14 11 13 eqeq12d x=kAxmodD=BxmodDAkmodD=BkmodD
15 14 imbi2d x=kABD+AmodD=BmodDAxmodD=BxmodDABD+AmodD=BmodDAkmodD=BkmodD
16 oveq2 x=k+1Ax=Ak+1
17 16 oveq1d x=k+1AxmodD=Ak+1modD
18 oveq2 x=k+1Bx=Bk+1
19 18 oveq1d x=k+1BxmodD=Bk+1modD
20 17 19 eqeq12d x=k+1AxmodD=BxmodDAk+1modD=Bk+1modD
21 20 imbi2d x=k+1ABD+AmodD=BmodDAxmodD=BxmodDABD+AmodD=BmodDAk+1modD=Bk+1modD
22 oveq2 x=CAx=AC
23 22 oveq1d x=CAxmodD=ACmodD
24 oveq2 x=CBx=BC
25 24 oveq1d x=CBxmodD=BCmodD
26 23 25 eqeq12d x=CAxmodD=BxmodDACmodD=BCmodD
27 26 imbi2d x=CABD+AmodD=BmodDAxmodD=BxmodDABD+AmodD=BmodDACmodD=BCmodD
28 zcn AA
29 exp0 AA0=1
30 28 29 syl AA0=1
31 zcn BB
32 exp0 BB0=1
33 31 32 syl BB0=1
34 33 eqcomd B1=B0
35 30 34 sylan9eq ABA0=B0
36 35 oveq1d ABA0modD=B0modD
37 36 3ad2ant1 ABD+AmodD=BmodDA0modD=B0modD
38 simp21l k0ABD+AmodD=BmodDAkmodD=BkmodDA
39 simp1 k0ABD+AmodD=BmodDAkmodD=BkmodDk0
40 zexpcl Ak0Ak
41 38 39 40 syl2anc k0ABD+AmodD=BmodDAkmodD=BkmodDAk
42 simp21r k0ABD+AmodD=BmodDAkmodD=BkmodDB
43 zexpcl Bk0Bk
44 42 39 43 syl2anc k0ABD+AmodD=BmodDAkmodD=BkmodDBk
45 simp22 k0ABD+AmodD=BmodDAkmodD=BkmodDD+
46 simp3 k0ABD+AmodD=BmodDAkmodD=BkmodDAkmodD=BkmodD
47 simp23 k0ABD+AmodD=BmodDAkmodD=BkmodDAmodD=BmodD
48 41 44 38 42 45 46 47 modmul12d k0ABD+AmodD=BmodDAkmodD=BkmodDAkAmodD=BkBmodD
49 38 zcnd k0ABD+AmodD=BmodDAkmodD=BkmodDA
50 expp1 Ak0Ak+1=AkA
51 49 39 50 syl2anc k0ABD+AmodD=BmodDAkmodD=BkmodDAk+1=AkA
52 51 oveq1d k0ABD+AmodD=BmodDAkmodD=BkmodDAk+1modD=AkAmodD
53 42 zcnd k0ABD+AmodD=BmodDAkmodD=BkmodDB
54 expp1 Bk0Bk+1=BkB
55 53 39 54 syl2anc k0ABD+AmodD=BmodDAkmodD=BkmodDBk+1=BkB
56 55 oveq1d k0ABD+AmodD=BmodDAkmodD=BkmodDBk+1modD=BkBmodD
57 48 52 56 3eqtr4d k0ABD+AmodD=BmodDAkmodD=BkmodDAk+1modD=Bk+1modD
58 57 3exp k0ABD+AmodD=BmodDAkmodD=BkmodDAk+1modD=Bk+1modD
59 58 a2d k0ABD+AmodD=BmodDAkmodD=BkmodDABD+AmodD=BmodDAk+1modD=Bk+1modD
60 9 15 21 27 37 59 nn0ind C0ABD+AmodD=BmodDACmodD=BCmodD
61 1 3 60 sylc ABC0D+AmodD=BmodDACmodD=BCmodD