Metamath Proof Explorer


Theorem itcoval2

Description: A function iterated twice. (Contributed by AV, 2-May-2024)

Ref Expression
Assertion itcoval2
|- ( ( Rel F /\ F e. V ) -> ( ( IterComp ` F ) ` 2 ) = ( F o. F ) )

Proof

Step Hyp Ref Expression
1 itcoval
 |-  ( F e. V -> ( IterComp ` F ) = seq 0 ( ( g e. _V , j e. _V |-> ( F o. g ) ) , ( i e. NN0 |-> if ( i = 0 , ( _I |` dom F ) , F ) ) ) )
2 1 fveq1d
 |-  ( F e. V -> ( ( IterComp ` F ) ` 2 ) = ( seq 0 ( ( g e. _V , j e. _V |-> ( F o. g ) ) , ( i e. NN0 |-> if ( i = 0 , ( _I |` dom F ) , F ) ) ) ` 2 ) )
3 2 adantl
 |-  ( ( Rel F /\ F e. V ) -> ( ( IterComp ` F ) ` 2 ) = ( seq 0 ( ( g e. _V , j e. _V |-> ( F o. g ) ) , ( i e. NN0 |-> if ( i = 0 , ( _I |` dom F ) , F ) ) ) ` 2 ) )
4 nn0uz
 |-  NN0 = ( ZZ>= ` 0 )
5 1nn0
 |-  1 e. NN0
6 5 a1i
 |-  ( ( Rel F /\ F e. V ) -> 1 e. NN0 )
7 df-2
 |-  2 = ( 1 + 1 )
8 1 eqcomd
 |-  ( F e. V -> seq 0 ( ( g e. _V , j e. _V |-> ( F o. g ) ) , ( i e. NN0 |-> if ( i = 0 , ( _I |` dom F ) , F ) ) ) = ( IterComp ` F ) )
9 8 fveq1d
 |-  ( F e. V -> ( seq 0 ( ( g e. _V , j e. _V |-> ( F o. g ) ) , ( i e. NN0 |-> if ( i = 0 , ( _I |` dom F ) , F ) ) ) ` 1 ) = ( ( IterComp ` F ) ` 1 ) )
10 9 adantl
 |-  ( ( Rel F /\ F e. V ) -> ( seq 0 ( ( g e. _V , j e. _V |-> ( F o. g ) ) , ( i e. NN0 |-> if ( i = 0 , ( _I |` dom F ) , F ) ) ) ` 1 ) = ( ( IterComp ` F ) ` 1 ) )
11 itcoval1
 |-  ( ( Rel F /\ F e. V ) -> ( ( IterComp ` F ) ` 1 ) = F )
12 10 11 eqtrd
 |-  ( ( Rel F /\ F e. V ) -> ( seq 0 ( ( g e. _V , j e. _V |-> ( F o. g ) ) , ( i e. NN0 |-> if ( i = 0 , ( _I |` dom F ) , F ) ) ) ` 1 ) = F )
13 eqidd
 |-  ( ( Rel F /\ F e. V ) -> ( i e. NN0 |-> if ( i = 0 , ( _I |` dom F ) , F ) ) = ( i e. NN0 |-> if ( i = 0 , ( _I |` dom F ) , F ) ) )
14 2ne0
 |-  2 =/= 0
15 neeq1
 |-  ( i = 2 -> ( i =/= 0 <-> 2 =/= 0 ) )
16 14 15 mpbiri
 |-  ( i = 2 -> i =/= 0 )
17 16 neneqd
 |-  ( i = 2 -> -. i = 0 )
18 17 iffalsed
 |-  ( i = 2 -> if ( i = 0 , ( _I |` dom F ) , F ) = F )
19 18 adantl
 |-  ( ( ( Rel F /\ F e. V ) /\ i = 2 ) -> if ( i = 0 , ( _I |` dom F ) , F ) = F )
20 2nn0
 |-  2 e. NN0
21 20 a1i
 |-  ( ( Rel F /\ F e. V ) -> 2 e. NN0 )
22 simpr
 |-  ( ( Rel F /\ F e. V ) -> F e. V )
23 13 19 21 22 fvmptd
 |-  ( ( Rel F /\ F e. V ) -> ( ( i e. NN0 |-> if ( i = 0 , ( _I |` dom F ) , F ) ) ` 2 ) = F )
24 4 6 7 12 23 seqp1d
 |-  ( ( Rel F /\ F e. V ) -> ( seq 0 ( ( g e. _V , j e. _V |-> ( F o. g ) ) , ( i e. NN0 |-> if ( i = 0 , ( _I |` dom F ) , F ) ) ) ` 2 ) = ( F ( g e. _V , j e. _V |-> ( F o. g ) ) F ) )
25 eqidd
 |-  ( F e. V -> ( g e. _V , j e. _V |-> ( F o. g ) ) = ( g e. _V , j e. _V |-> ( F o. g ) ) )
26 coeq2
 |-  ( g = F -> ( F o. g ) = ( F o. F ) )
27 26 ad2antrl
 |-  ( ( F e. V /\ ( g = F /\ j = F ) ) -> ( F o. g ) = ( F o. F ) )
28 elex
 |-  ( F e. V -> F e. _V )
29 coexg
 |-  ( ( F e. V /\ F e. V ) -> ( F o. F ) e. _V )
30 29 anidms
 |-  ( F e. V -> ( F o. F ) e. _V )
31 25 27 28 28 30 ovmpod
 |-  ( F e. V -> ( F ( g e. _V , j e. _V |-> ( F o. g ) ) F ) = ( F o. F ) )
32 31 adantl
 |-  ( ( Rel F /\ F e. V ) -> ( F ( g e. _V , j e. _V |-> ( F o. g ) ) F ) = ( F o. F ) )
33 3 24 32 3eqtrd
 |-  ( ( Rel F /\ F e. V ) -> ( ( IterComp ` F ) ` 2 ) = ( F o. F ) )