Step | Hyp | Ref
| Expression |
1 | | prodmo.1 |
. . 3
        |
2 | | prodmo.2 |
. . 3
 
   |
3 | | prodmolem2.7 |
. . . 4

      |
4 | | prodmolem2.9 |
. . . . . . 7

             |
5 | | prodmolem2.8 |
. . . . . . . . . . . 12
           |
6 | | ovex 6678 |
. . . . . . . . . . . . 13
     |
7 | 6 | f1oen 7976 |
. . . . . . . . . . . 12
        
      |
8 | 5, 7 | syl 17 |
. . . . . . . . . . 11
    
  |
9 | | fzfid 12772 |
. . . . . . . . . . . 12
       |
10 | 8 | ensymd 8007 |
. . . . . . . . . . . . 13
       |
11 | | enfii 8177 |
. . . . . . . . . . . . 13
          
  |
12 | 9, 10, 11 | syl2anc 693 |
. . . . . . . . . . . 12
   |
13 | | hashen 13135 |
. . . . . . . . . . . 12
     
                     |
14 | 9, 12, 13 | syl2anc 693 |
. . . . . . . . . . 11
                     |
15 | 8, 14 | mpbird 247 |
. . . . . . . . . 10
               |
16 | | prodmolem2.5 |
. . . . . . . . . . . 12
   |
17 | 16 | nnnn0d 11351 |
. . . . . . . . . . 11
   |
18 | | hashfz1 13134 |
. . . . . . . . . . 11

          |
19 | 17, 18 | syl 17 |
. . . . . . . . . 10
           |
20 | 15, 19 | eqtr3d 2658 |
. . . . . . . . 9
       |
21 | 20 | oveq2d 6666 |
. . . . . . . 8
               |
22 | | isoeq4 6570 |
. . . . . . . 8
            
           
          |
23 | 21, 22 | syl 17 |
. . . . . . 7
            
          |
24 | 4, 23 | mpbid 222 |
. . . . . 6

         |
25 | | isof1o 6573 |
. . . . . 6
                  |
26 | | f1of 6137 |
. . . . . 6
        
          |
27 | 24, 25, 26 | 3syl 18 |
. . . . 5
           |
28 | | nnuz 11723 |
. . . . . . 7
     |
29 | 16, 28 | syl6eleq 2711 |
. . . . . 6
       |
30 | | eluzfz2 12349 |
. . . . . 6
    
      |
31 | 29, 30 | syl 17 |
. . . . 5
       |
32 | 27, 31 | ffvelrnd 6360 |
. . . 4
       |
33 | 3, 32 | sseldd 3604 |
. . 3
           |
34 | 3 | sselda 3603 |
. . . . . 6
 
       |
35 | 24, 25 | syl 17 |
. . . . . . . . 9
           |
36 | | f1ocnvfv2 6533 |
. . . . . . . . 9
         
            |
37 | 35, 36 | sylan 488 |
. . . . . . . 8
 
            |
38 | | f1ocnv 6149 |
. . . . . . . . . . . 12
        
           |
39 | | f1of 6137 |
. . . . . . . . . . . 12
                     |
40 | 35, 38, 39 | 3syl 18 |
. . . . . . . . . . 11
            |
41 | 40 | ffvelrnda 6359 |
. . . . . . . . . 10
 
            |
42 | | elfzle2 12345 |
. . . . . . . . . 10
                 |
43 | 41, 42 | syl 17 |
. . . . . . . . 9
 
        |
44 | 24 | adantr 481 |
. . . . . . . . . 10
 
          |
45 | | fzssuz 12382 |
. . . . . . . . . . . . 13
         |
46 | | uzssz 11707 |
. . . . . . . . . . . . . 14
     |
47 | | zssre 11384 |
. . . . . . . . . . . . . 14
 |
48 | 46, 47 | sstri 3612 |
. . . . . . . . . . . . 13
     |
49 | 45, 48 | sstri 3612 |
. . . . . . . . . . . 12
     |
50 | | ressxr 10083 |
. . . . . . . . . . . 12
 |
51 | 49, 50 | sstri 3612 |
. . . . . . . . . . 11
     |
52 | 51 | a1i 11 |
. . . . . . . . . 10
 
       |
53 | | uzssz 11707 |
. . . . . . . . . . . . . 14
     |
54 | 53, 47 | sstri 3612 |
. . . . . . . . . . . . 13
     |
55 | 54, 50 | sstri 3612 |
. . . . . . . . . . . 12
     |
56 | 3, 55 | syl6ss 3615 |
. . . . . . . . . . 11

  |
57 | 56 | adantr 481 |
. . . . . . . . . 10
 
   |
58 | 31 | adantr 481 |
. . . . . . . . . 10
 
       |
59 | | leisorel 13244 |
. . . . . . . . . 10
 
                                           
       |
60 | 44, 52, 57, 41, 58, 59 | syl122anc 1335 |
. . . . . . . . 9
 
               
       |
61 | 43, 60 | mpbid 222 |
. . . . . . . 8
 
         
      |
62 | 37, 61 | eqbrtrrd 4677 |
. . . . . . 7
 
       |
63 | 3, 53 | syl6ss 3615 |
. . . . . . . . 9

  |
64 | 63 | sselda 3603 |
. . . . . . . 8
 
   |
65 | | eluzelz 11697 |
. . . . . . . . . 10
        
      |
66 | 33, 65 | syl 17 |
. . . . . . . . 9
       |
67 | 66 | adantr 481 |
. . . . . . . 8
 
       |
68 | | eluz 11701 |
. . . . . . . 8
               
       |
69 | 64, 67, 68 | syl2anc 693 |
. . . . . . 7
 
         
       |
70 | 62, 69 | mpbird 247 |
. . . . . 6
 
           |
71 | | elfzuzb 12336 |
. . . . . 6
                         |
72 | 34, 70, 71 | sylanbrc 698 |
. . . . 5
 
           |
73 | 72 | ex 450 |
. . . 4
             |
74 | 73 | ssrdv 3609 |
. . 3

          |
75 | 1, 2, 33, 74 | fprodcvg 14660 |
. 2
                |
76 | | mulid2 10038 |
. . . . 5
     |
77 | 76 | adantl 482 |
. . . 4
 

    |
78 | | mulid1 10037 |
. . . . 5
     |
79 | 78 | adantl 482 |
. . . 4
 

    |
80 | | mulcl 10020 |
. . . . 5
 
     |
81 | 80 | adantl 482 |
. . . 4
 
       |
82 | | 1cnd 10056 |
. . . 4
   |
83 | 31, 21 | eleqtrrd 2704 |
. . . 4
           |
84 | | iftrue 4092 |
. . . . . . . . . . 11
        |
85 | 84 | adantl 482 |
. . . . . . . . . 10
 
        |
86 | 85, 2 | eqeltrd 2701 |
. . . . . . . . 9
 
        |
87 | 86 | ex 450 |
. . . . . . . 8
          |
88 | | iffalse 4095 |
. . . . . . . . 9
        |
89 | | ax-1cn 9994 |
. . . . . . . . 9
 |
90 | 88, 89 | syl6eqel 2709 |
. . . . . . . 8
        |
91 | 87, 90 | pm2.61d1 171 |
. . . . . . 7
        |
92 | 91 | adantr 481 |
. . . . . 6
 

   
   |
93 | 92, 1 | fmptd 6385 |
. . . . 5
       |
94 | | elfzelz 12342 |
. . . . 5
               |
95 | | ffvelrn 6357 |
. . . . 5
     
       |
96 | 93, 94, 95 | syl2an 494 |
. . . 4
 
                   |
97 | | fveq2 6191 |
. . . . . . 7
           |
98 | 97 | eqeq1d 2624 |
. . . . . 6
             |
99 | | fzssuz 12382 |
. . . . . . . . . 10
                 |
100 | 99, 53 | sstri 3612 |
. . . . . . . . 9
             |
101 | | eldifi 3732 |
. . . . . . . . 9
              
              |
102 | 100, 101 | sseldi 3601 |
. . . . . . . 8
              
  |
103 | | eldifn 3733 |
. . . . . . . . . 10
              
  |
104 | 103, 88 | syl 17 |
. . . . . . . . 9
              
   
   |
105 | 104, 89 | syl6eqel 2709 |
. . . . . . . 8
              
   
   |
106 | 1 | fvmpt2 6291 |
. . . . . . . 8
               
   |
107 | 102, 105,
106 | syl2anc 693 |
. . . . . . 7
              
           |
108 | 107, 104 | eqtrd 2656 |
. . . . . 6
              
      |
109 | 98, 108 | vtoclga 3272 |
. . . . 5
              
      |
110 | 109 | adantl 482 |
. . . 4
 
                     |
111 | | isof1o 6573 |
. . . . . . . 8
                          |
112 | | f1of 6137 |
. . . . . . . 8
            
              |
113 | 4, 111, 112 | 3syl 18 |
. . . . . . 7
               |
114 | 113 | ffvelrnda 6359 |
. . . . . 6
 
        
      |
115 | 114 | iftrued 4094 |
. . . . 5
 
        
             ![]_ ]_](_urbrack.gif) 
       ![]_ ]_](_urbrack.gif)   |
116 | 63 | adantr 481 |
. . . . . . 7
 
        
  |
117 | 116, 114 | sseldd 3604 |
. . . . . 6
 
        
      |
118 | | nfv 1843 |
. . . . . . . . 9
   |
119 | | nfv 1843 |
. . . . . . . . . . 11
       |
120 | | nfcsb1v 3549 |
. . . . . . . . . . 11
        ![]_ ]_](_urbrack.gif)  |
121 | | nfcv 2764 |
. . . . . . . . . . 11
   |
122 | 119, 120,
121 | nfif 4115 |
. . . . . . . . . 10
               ![]_ ]_](_urbrack.gif)    |
123 | 122 | nfel1 2779 |
. . . . . . . . 9
               ![]_ ]_](_urbrack.gif)    |
124 | 118, 123 | nfim 1825 |
. . . . . . . 8
                ![]_ ]_](_urbrack.gif)     |
125 | | fvex 6201 |
. . . . . . . 8
     |
126 | | eleq1 2689 |
. . . . . . . . . . 11
     
       |
127 | | csbeq1a 3542 |
. . . . . . . . . . 11
           ![]_ ]_](_urbrack.gif)   |
128 | 126, 127 | ifbieq1d 4109 |
. . . . . . . . . 10
                       ![]_ ]_](_urbrack.gif)     |
129 | 128 | eleq1d 2686 |
. . . . . . . . 9
          
             ![]_ ]_](_urbrack.gif) 
    |
130 | 129 | imbi2d 330 |
. . . . . . . 8
      
   
 
              ![]_ ]_](_urbrack.gif)       |
131 | 124, 125,
130, 91 | vtoclf 3258 |
. . . . . . 7
              ![]_ ]_](_urbrack.gif)     |
132 | 131 | adantr 481 |
. . . . . 6
 
        
             ![]_ ]_](_urbrack.gif) 
   |
133 | | eleq1 2689 |
. . . . . . . 8
     
       |
134 | | csbeq1 3536 |
. . . . . . . 8
       ![]_ ]_](_urbrack.gif)       ![]_ ]_](_urbrack.gif)   |
135 | 133, 134 | ifbieq1d 4109 |
. . . . . . 7
      
   ![]_ ]_](_urbrack.gif)                ![]_ ]_](_urbrack.gif)     |
136 | | nfcv 2764 |
. . . . . . . . 9
        |
137 | | nfv 1843 |
. . . . . . . . . 10
  |
138 | | nfcsb1v 3549 |
. . . . . . . . . 10
  
 ![]_ ]_](_urbrack.gif)  |
139 | 137, 138,
121 | nfif 4115 |
. . . . . . . . 9
       ![]_ ]_](_urbrack.gif)    |
140 | | eleq1 2689 |
. . . . . . . . . 10
 
   |
141 | | csbeq1a 3542 |
. . . . . . . . . 10
   ![]_ ]_](_urbrack.gif)   |
142 | 140, 141 | ifbieq1d 4109 |
. . . . . . . . 9
           ![]_ ]_](_urbrack.gif)     |
143 | 136, 139,
142 | cbvmpt 4749 |
. . . . . . . 8
    
      
 ![]_ ]_](_urbrack.gif)     |
144 | 1, 143 | eqtri 2644 |
. . . . . . 7
      ![]_ ]_](_urbrack.gif)     |
145 | 135, 144 | fvmptg 6280 |
. . . . . 6
                   ![]_ ]_](_urbrack.gif)                         ![]_ ]_](_urbrack.gif) 
   |
146 | 117, 132,
145 | syl2anc 693 |
. . . . 5
 
        
                     ![]_ ]_](_urbrack.gif)     |
147 | | elfznn 12370 |
. . . . . . 7
           |
148 | 147 | adantl 482 |
. . . . . 6
 
        
  |
149 | 115, 132 | eqeltrrd 2702 |
. . . . . 6
 
        
      ![]_ ]_](_urbrack.gif)   |
150 | | fveq2 6191 |
. . . . . . . 8
           |
151 | 150 | csbeq1d 3540 |
. . . . . . 7
       ![]_ ]_](_urbrack.gif)       ![]_ ]_](_urbrack.gif)   |
152 | | prodmolem2.4 |
. . . . . . 7
       ![]_ ]_](_urbrack.gif)   |
153 | 151, 152 | fvmptg 6280 |
. . . . . 6
        ![]_ ]_](_urbrack.gif)
           ![]_ ]_](_urbrack.gif)   |
154 | 148, 149,
153 | syl2anc 693 |
. . . . 5
 
        
          ![]_ ]_](_urbrack.gif)   |
155 | 115, 146,
154 | 3eqtr4rd 2667 |
. . . 4
 
        
              |
156 | 77, 79, 81, 82, 4, 83, 3, 96, 110, 155 | seqcoll 13248 |
. . 3
                   |
157 | | prodmo.3 |
. . . 4
       ![]_ ]_](_urbrack.gif)   |
158 | 16, 16 | jca 554 |
. . . 4
     |
159 | 1, 2, 157, 152, 158, 5, 35 | prodmolem3 14663 |
. . 3
               |
160 | 156, 159 | eqtr4d 2659 |
. 2
                   |
161 | 75, 160 | breqtrd 4679 |
1
            |