Metamath Proof Explorer


Theorem frrlem15

Description: Lemma for general well-founded recursion. Two acceptable functions are compatible. (Contributed by Scott Fenton, 11-Sep-2023)

Ref Expression
Hypotheses frrlem15.1
|- B = { f | E. x ( f Fn x /\ ( x C_ A /\ A. y e. x Pred ( R , A , y ) C_ x ) /\ A. y e. x ( f ` y ) = ( y G ( f |` Pred ( R , A , y ) ) ) ) }
frrlem15.2
|- F = frecs ( R , A , G )
Assertion frrlem15
|- ( ( ( R Fr A /\ R Se A ) /\ ( g e. B /\ h e. B ) ) -> ( ( x g u /\ x h v ) -> u = v ) )

Proof

Step Hyp Ref Expression
1 frrlem15.1
 |-  B = { f | E. x ( f Fn x /\ ( x C_ A /\ A. y e. x Pred ( R , A , y ) C_ x ) /\ A. y e. x ( f ` y ) = ( y G ( f |` Pred ( R , A , y ) ) ) ) }
2 frrlem15.2
 |-  F = frecs ( R , A , G )
3 vex
 |-  x e. _V
4 vex
 |-  u e. _V
5 3 4 breldm
 |-  ( x g u -> x e. dom g )
6 5 adantr
 |-  ( ( x g u /\ x h v ) -> x e. dom g )
7 vex
 |-  v e. _V
8 3 7 breldm
 |-  ( x h v -> x e. dom h )
9 8 adantl
 |-  ( ( x g u /\ x h v ) -> x e. dom h )
10 6 9 elind
 |-  ( ( x g u /\ x h v ) -> x e. ( dom g i^i dom h ) )
11 id
 |-  ( ( x g u /\ x h v ) -> ( x g u /\ x h v ) )
12 4 brresi
 |-  ( x ( g |` ( dom g i^i dom h ) ) u <-> ( x e. ( dom g i^i dom h ) /\ x g u ) )
13 7 brresi
 |-  ( x ( h |` ( dom g i^i dom h ) ) v <-> ( x e. ( dom g i^i dom h ) /\ x h v ) )
14 12 13 anbi12i
 |-  ( ( x ( g |` ( dom g i^i dom h ) ) u /\ x ( h |` ( dom g i^i dom h ) ) v ) <-> ( ( x e. ( dom g i^i dom h ) /\ x g u ) /\ ( x e. ( dom g i^i dom h ) /\ x h v ) ) )
15 an4
 |-  ( ( ( x e. ( dom g i^i dom h ) /\ x g u ) /\ ( x e. ( dom g i^i dom h ) /\ x h v ) ) <-> ( ( x e. ( dom g i^i dom h ) /\ x e. ( dom g i^i dom h ) ) /\ ( x g u /\ x h v ) ) )
16 14 15 bitri
 |-  ( ( x ( g |` ( dom g i^i dom h ) ) u /\ x ( h |` ( dom g i^i dom h ) ) v ) <-> ( ( x e. ( dom g i^i dom h ) /\ x e. ( dom g i^i dom h ) ) /\ ( x g u /\ x h v ) ) )
17 10 10 11 16 syl21anbrc
 |-  ( ( x g u /\ x h v ) -> ( x ( g |` ( dom g i^i dom h ) ) u /\ x ( h |` ( dom g i^i dom h ) ) v ) )
18 inss1
 |-  ( dom g i^i dom h ) C_ dom g
19 1 frrlem3
 |-  ( g e. B -> dom g C_ A )
20 18 19 sstrid
 |-  ( g e. B -> ( dom g i^i dom h ) C_ A )
21 20 ad2antrl
 |-  ( ( ( R Fr A /\ R Se A ) /\ ( g e. B /\ h e. B ) ) -> ( dom g i^i dom h ) C_ A )
22 simpll
 |-  ( ( ( R Fr A /\ R Se A ) /\ ( g e. B /\ h e. B ) ) -> R Fr A )
23 frss
 |-  ( ( dom g i^i dom h ) C_ A -> ( R Fr A -> R Fr ( dom g i^i dom h ) ) )
24 21 22 23 sylc
 |-  ( ( ( R Fr A /\ R Se A ) /\ ( g e. B /\ h e. B ) ) -> R Fr ( dom g i^i dom h ) )
25 simplr
 |-  ( ( ( R Fr A /\ R Se A ) /\ ( g e. B /\ h e. B ) ) -> R Se A )
26 sess2
 |-  ( ( dom g i^i dom h ) C_ A -> ( R Se A -> R Se ( dom g i^i dom h ) ) )
27 21 25 26 sylc
 |-  ( ( ( R Fr A /\ R Se A ) /\ ( g e. B /\ h e. B ) ) -> R Se ( dom g i^i dom h ) )
28 1 frrlem4
 |-  ( ( g e. B /\ h e. B ) -> ( ( g |` ( dom g i^i dom h ) ) Fn ( dom g i^i dom h ) /\ A. a e. ( dom g i^i dom h ) ( ( g |` ( dom g i^i dom h ) ) ` a ) = ( a G ( ( g |` ( dom g i^i dom h ) ) |` Pred ( R , ( dom g i^i dom h ) , a ) ) ) ) )
29 28 adantl
 |-  ( ( ( R Fr A /\ R Se A ) /\ ( g e. B /\ h e. B ) ) -> ( ( g |` ( dom g i^i dom h ) ) Fn ( dom g i^i dom h ) /\ A. a e. ( dom g i^i dom h ) ( ( g |` ( dom g i^i dom h ) ) ` a ) = ( a G ( ( g |` ( dom g i^i dom h ) ) |` Pred ( R , ( dom g i^i dom h ) , a ) ) ) ) )
30 1 frrlem4
 |-  ( ( h e. B /\ g e. B ) -> ( ( h |` ( dom h i^i dom g ) ) Fn ( dom h i^i dom g ) /\ A. a e. ( dom h i^i dom g ) ( ( h |` ( dom h i^i dom g ) ) ` a ) = ( a G ( ( h |` ( dom h i^i dom g ) ) |` Pred ( R , ( dom h i^i dom g ) , a ) ) ) ) )
31 incom
 |-  ( dom g i^i dom h ) = ( dom h i^i dom g )
32 31 reseq2i
 |-  ( h |` ( dom g i^i dom h ) ) = ( h |` ( dom h i^i dom g ) )
33 fneq12
 |-  ( ( ( h |` ( dom g i^i dom h ) ) = ( h |` ( dom h i^i dom g ) ) /\ ( dom g i^i dom h ) = ( dom h i^i dom g ) ) -> ( ( h |` ( dom g i^i dom h ) ) Fn ( dom g i^i dom h ) <-> ( h |` ( dom h i^i dom g ) ) Fn ( dom h i^i dom g ) ) )
34 32 31 33 mp2an
 |-  ( ( h |` ( dom g i^i dom h ) ) Fn ( dom g i^i dom h ) <-> ( h |` ( dom h i^i dom g ) ) Fn ( dom h i^i dom g ) )
35 32 fveq1i
 |-  ( ( h |` ( dom g i^i dom h ) ) ` a ) = ( ( h |` ( dom h i^i dom g ) ) ` a )
36 predeq2
 |-  ( ( dom g i^i dom h ) = ( dom h i^i dom g ) -> Pred ( R , ( dom g i^i dom h ) , a ) = Pred ( R , ( dom h i^i dom g ) , a ) )
37 31 36 ax-mp
 |-  Pred ( R , ( dom g i^i dom h ) , a ) = Pred ( R , ( dom h i^i dom g ) , a )
38 32 37 reseq12i
 |-  ( ( h |` ( dom g i^i dom h ) ) |` Pred ( R , ( dom g i^i dom h ) , a ) ) = ( ( h |` ( dom h i^i dom g ) ) |` Pred ( R , ( dom h i^i dom g ) , a ) )
39 38 oveq2i
 |-  ( a G ( ( h |` ( dom g i^i dom h ) ) |` Pred ( R , ( dom g i^i dom h ) , a ) ) ) = ( a G ( ( h |` ( dom h i^i dom g ) ) |` Pred ( R , ( dom h i^i dom g ) , a ) ) )
40 35 39 eqeq12i
 |-  ( ( ( h |` ( dom g i^i dom h ) ) ` a ) = ( a G ( ( h |` ( dom g i^i dom h ) ) |` Pred ( R , ( dom g i^i dom h ) , a ) ) ) <-> ( ( h |` ( dom h i^i dom g ) ) ` a ) = ( a G ( ( h |` ( dom h i^i dom g ) ) |` Pred ( R , ( dom h i^i dom g ) , a ) ) ) )
41 31 40 raleqbii
 |-  ( A. a e. ( dom g i^i dom h ) ( ( h |` ( dom g i^i dom h ) ) ` a ) = ( a G ( ( h |` ( dom g i^i dom h ) ) |` Pred ( R , ( dom g i^i dom h ) , a ) ) ) <-> A. a e. ( dom h i^i dom g ) ( ( h |` ( dom h i^i dom g ) ) ` a ) = ( a G ( ( h |` ( dom h i^i dom g ) ) |` Pred ( R , ( dom h i^i dom g ) , a ) ) ) )
42 34 41 anbi12i
 |-  ( ( ( h |` ( dom g i^i dom h ) ) Fn ( dom g i^i dom h ) /\ A. a e. ( dom g i^i dom h ) ( ( h |` ( dom g i^i dom h ) ) ` a ) = ( a G ( ( h |` ( dom g i^i dom h ) ) |` Pred ( R , ( dom g i^i dom h ) , a ) ) ) ) <-> ( ( h |` ( dom h i^i dom g ) ) Fn ( dom h i^i dom g ) /\ A. a e. ( dom h i^i dom g ) ( ( h |` ( dom h i^i dom g ) ) ` a ) = ( a G ( ( h |` ( dom h i^i dom g ) ) |` Pred ( R , ( dom h i^i dom g ) , a ) ) ) ) )
43 30 42 sylibr
 |-  ( ( h e. B /\ g e. B ) -> ( ( h |` ( dom g i^i dom h ) ) Fn ( dom g i^i dom h ) /\ A. a e. ( dom g i^i dom h ) ( ( h |` ( dom g i^i dom h ) ) ` a ) = ( a G ( ( h |` ( dom g i^i dom h ) ) |` Pred ( R , ( dom g i^i dom h ) , a ) ) ) ) )
44 43 ancoms
 |-  ( ( g e. B /\ h e. B ) -> ( ( h |` ( dom g i^i dom h ) ) Fn ( dom g i^i dom h ) /\ A. a e. ( dom g i^i dom h ) ( ( h |` ( dom g i^i dom h ) ) ` a ) = ( a G ( ( h |` ( dom g i^i dom h ) ) |` Pred ( R , ( dom g i^i dom h ) , a ) ) ) ) )
45 44 adantl
 |-  ( ( ( R Fr A /\ R Se A ) /\ ( g e. B /\ h e. B ) ) -> ( ( h |` ( dom g i^i dom h ) ) Fn ( dom g i^i dom h ) /\ A. a e. ( dom g i^i dom h ) ( ( h |` ( dom g i^i dom h ) ) ` a ) = ( a G ( ( h |` ( dom g i^i dom h ) ) |` Pred ( R , ( dom g i^i dom h ) , a ) ) ) ) )
46 frr3g
 |-  ( ( ( R Fr ( dom g i^i dom h ) /\ R Se ( dom g i^i dom h ) ) /\ ( ( g |` ( dom g i^i dom h ) ) Fn ( dom g i^i dom h ) /\ A. a e. ( dom g i^i dom h ) ( ( g |` ( dom g i^i dom h ) ) ` a ) = ( a G ( ( g |` ( dom g i^i dom h ) ) |` Pred ( R , ( dom g i^i dom h ) , a ) ) ) ) /\ ( ( h |` ( dom g i^i dom h ) ) Fn ( dom g i^i dom h ) /\ A. a e. ( dom g i^i dom h ) ( ( h |` ( dom g i^i dom h ) ) ` a ) = ( a G ( ( h |` ( dom g i^i dom h ) ) |` Pred ( R , ( dom g i^i dom h ) , a ) ) ) ) ) -> ( g |` ( dom g i^i dom h ) ) = ( h |` ( dom g i^i dom h ) ) )
47 24 27 29 45 46 syl211anc
 |-  ( ( ( R Fr A /\ R Se A ) /\ ( g e. B /\ h e. B ) ) -> ( g |` ( dom g i^i dom h ) ) = ( h |` ( dom g i^i dom h ) ) )
48 47 breqd
 |-  ( ( ( R Fr A /\ R Se A ) /\ ( g e. B /\ h e. B ) ) -> ( x ( g |` ( dom g i^i dom h ) ) v <-> x ( h |` ( dom g i^i dom h ) ) v ) )
49 48 biimprd
 |-  ( ( ( R Fr A /\ R Se A ) /\ ( g e. B /\ h e. B ) ) -> ( x ( h |` ( dom g i^i dom h ) ) v -> x ( g |` ( dom g i^i dom h ) ) v ) )
50 1 frrlem2
 |-  ( g e. B -> Fun g )
51 50 funresd
 |-  ( g e. B -> Fun ( g |` ( dom g i^i dom h ) ) )
52 51 ad2antrl
 |-  ( ( ( R Fr A /\ R Se A ) /\ ( g e. B /\ h e. B ) ) -> Fun ( g |` ( dom g i^i dom h ) ) )
53 dffun2
 |-  ( Fun ( g |` ( dom g i^i dom h ) ) <-> ( Rel ( g |` ( dom g i^i dom h ) ) /\ A. x A. u A. v ( ( x ( g |` ( dom g i^i dom h ) ) u /\ x ( g |` ( dom g i^i dom h ) ) v ) -> u = v ) ) )
54 2sp
 |-  ( A. u A. v ( ( x ( g |` ( dom g i^i dom h ) ) u /\ x ( g |` ( dom g i^i dom h ) ) v ) -> u = v ) -> ( ( x ( g |` ( dom g i^i dom h ) ) u /\ x ( g |` ( dom g i^i dom h ) ) v ) -> u = v ) )
55 54 sps
 |-  ( A. x A. u A. v ( ( x ( g |` ( dom g i^i dom h ) ) u /\ x ( g |` ( dom g i^i dom h ) ) v ) -> u = v ) -> ( ( x ( g |` ( dom g i^i dom h ) ) u /\ x ( g |` ( dom g i^i dom h ) ) v ) -> u = v ) )
56 53 55 simplbiim
 |-  ( Fun ( g |` ( dom g i^i dom h ) ) -> ( ( x ( g |` ( dom g i^i dom h ) ) u /\ x ( g |` ( dom g i^i dom h ) ) v ) -> u = v ) )
57 52 56 syl
 |-  ( ( ( R Fr A /\ R Se A ) /\ ( g e. B /\ h e. B ) ) -> ( ( x ( g |` ( dom g i^i dom h ) ) u /\ x ( g |` ( dom g i^i dom h ) ) v ) -> u = v ) )
58 49 57 sylan2d
 |-  ( ( ( R Fr A /\ R Se A ) /\ ( g e. B /\ h e. B ) ) -> ( ( x ( g |` ( dom g i^i dom h ) ) u /\ x ( h |` ( dom g i^i dom h ) ) v ) -> u = v ) )
59 17 58 syl5
 |-  ( ( ( R Fr A /\ R Se A ) /\ ( g e. B /\ h e. B ) ) -> ( ( x g u /\ x h v ) -> u = v ) )