Metamath Proof Explorer


Theorem frr1

Description: Law of general well-founded recursion, part one. This theorem and the following two drop the partial order requirement from fpr1 , fpr2 , and fpr3 , which requires using the axiom of infinity (Contributed by Scott Fenton, 11-Sep-2023)

Ref Expression
Hypothesis frr.1 F = frecs R A G
Assertion frr1 R Fr A R Se A F Fn A

Proof

Step Hyp Ref Expression
1 frr.1 F = frecs R A G
2 eqid a | b a Fn b b A c b Pred R A c b c b a c = c G a Pred R A c = a | b a Fn b b A c b Pred R A c b c b a c = c G a Pred R A c
3 2 frrlem1 a | b a Fn b b A c b Pred R A c b c b a c = c G a Pred R A c = f | x f Fn x x A y x Pred R A y x y x f y = y G f Pred R A y
4 3 1 frrlem15 R Fr A R Se A g a | b a Fn b b A c b Pred R A c b c b a c = c G a Pred R A c h a | b a Fn b b A c b Pred R A c b c b a c = c G a Pred R A c x g u x h v u = v
5 3 1 4 frrlem9 R Fr A R Se A Fun F
6 eqid Could not format ( ( F |` Pred ( t++ ( R |` A ) , A , z ) ) u. { <. z , ( z G ( F |` Pred ( R , A , z ) ) ) >. } ) = ( ( F |` Pred ( t++ ( R |` A ) , A , z ) ) u. { <. z , ( z G ( F |` Pred ( R , A , z ) ) ) >. } ) : No typesetting found for |- ( ( F |` Pred ( t++ ( R |` A ) , A , z ) ) u. { <. z , ( z G ( F |` Pred ( R , A , z ) ) ) >. } ) = ( ( F |` Pred ( t++ ( R |` A ) , A , z ) ) u. { <. z , ( z G ( F |` Pred ( R , A , z ) ) ) >. } ) with typecode |-
7 simpl R Fr A R Se A R Fr A
8 predres Pred R A z = Pred R A A z
9 relres Rel R A
10 ssttrcl Could not format ( Rel ( R |` A ) -> ( R |` A ) C_ t++ ( R |` A ) ) : No typesetting found for |- ( Rel ( R |` A ) -> ( R |` A ) C_ t++ ( R |` A ) ) with typecode |-
11 predrelss Could not format ( ( R |` A ) C_ t++ ( R |` A ) -> Pred ( ( R |` A ) , A , z ) C_ Pred ( t++ ( R |` A ) , A , z ) ) : No typesetting found for |- ( ( R |` A ) C_ t++ ( R |` A ) -> Pred ( ( R |` A ) , A , z ) C_ Pred ( t++ ( R |` A ) , A , z ) ) with typecode |-
12 9 10 11 mp2b Could not format Pred ( ( R |` A ) , A , z ) C_ Pred ( t++ ( R |` A ) , A , z ) : No typesetting found for |- Pred ( ( R |` A ) , A , z ) C_ Pred ( t++ ( R |` A ) , A , z ) with typecode |-
13 8 12 eqsstri Could not format Pred ( R , A , z ) C_ Pred ( t++ ( R |` A ) , A , z ) : No typesetting found for |- Pred ( R , A , z ) C_ Pred ( t++ ( R |` A ) , A , z ) with typecode |-
14 13 a1i Could not format ( ( ( R Fr A /\ R Se A ) /\ z e. A ) -> Pred ( R , A , z ) C_ Pred ( t++ ( R |` A ) , A , z ) ) : No typesetting found for |- ( ( ( R Fr A /\ R Se A ) /\ z e. A ) -> Pred ( R , A , z ) C_ Pred ( t++ ( R |` A ) , A , z ) ) with typecode |-
15 frrlem16 Could not format ( ( ( R Fr A /\ R Se A ) /\ z e. A ) -> A. a e. Pred ( t++ ( R |` A ) , A , z ) Pred ( R , A , a ) C_ Pred ( t++ ( R |` A ) , A , z ) ) : No typesetting found for |- ( ( ( R Fr A /\ R Se A ) /\ z e. A ) -> A. a e. Pred ( t++ ( R |` A ) , A , z ) Pred ( R , A , a ) C_ Pred ( t++ ( R |` A ) , A , z ) ) with typecode |-
16 ttrclse Could not format ( R Se A -> t++ ( R |` A ) Se A ) : No typesetting found for |- ( R Se A -> t++ ( R |` A ) Se A ) with typecode |-
17 setlikespec Could not format ( ( z e. A /\ t++ ( R |` A ) Se A ) -> Pred ( t++ ( R |` A ) , A , z ) e. _V ) : No typesetting found for |- ( ( z e. A /\ t++ ( R |` A ) Se A ) -> Pred ( t++ ( R |` A ) , A , z ) e. _V ) with typecode |-
18 17 ancoms Could not format ( ( t++ ( R |` A ) Se A /\ z e. A ) -> Pred ( t++ ( R |` A ) , A , z ) e. _V ) : No typesetting found for |- ( ( t++ ( R |` A ) Se A /\ z e. A ) -> Pred ( t++ ( R |` A ) , A , z ) e. _V ) with typecode |-
19 16 18 sylan Could not format ( ( R Se A /\ z e. A ) -> Pred ( t++ ( R |` A ) , A , z ) e. _V ) : No typesetting found for |- ( ( R Se A /\ z e. A ) -> Pred ( t++ ( R |` A ) , A , z ) e. _V ) with typecode |-
20 19 adantll Could not format ( ( ( R Fr A /\ R Se A ) /\ z e. A ) -> Pred ( t++ ( R |` A ) , A , z ) e. _V ) : No typesetting found for |- ( ( ( R Fr A /\ R Se A ) /\ z e. A ) -> Pred ( t++ ( R |` A ) , A , z ) e. _V ) with typecode |-
21 predss Could not format Pred ( t++ ( R |` A ) , A , z ) C_ A : No typesetting found for |- Pred ( t++ ( R |` A ) , A , z ) C_ A with typecode |-
22 21 a1i Could not format ( ( ( R Fr A /\ R Se A ) /\ z e. A ) -> Pred ( t++ ( R |` A ) , A , z ) C_ A ) : No typesetting found for |- ( ( ( R Fr A /\ R Se A ) /\ z e. A ) -> Pred ( t++ ( R |` A ) , A , z ) C_ A ) with typecode |-
23 difss A dom F A
24 frmin R Fr A R Se A A dom F A A dom F z A dom F Pred R A dom F z =
25 23 24 mpanr1 R Fr A R Se A A dom F z A dom F Pred R A dom F z =
26 3 1 4 6 7 14 15 20 22 25 frrlem14 R Fr A R Se A dom F = A
27 df-fn F Fn A Fun F dom F = A
28 5 26 27 sylanbrc R Fr A R Se A F Fn A