HomeHome Metamath Proof Explorer < Previous   Next >
Related theorems
Unicode version

Theorem dfrdg2 3933
Description: Alternate definition of a recursive definition generator. (This was the original definition, but it was later replaced with the slightly shorter df-rdg 3932.)
Assertion
Ref Expression
dfrdg2 |- rec(F, A) = U.{f | E.x e. On (f Fn x /\ A.y e. x (f` y) = ({<.g, z>. | ((g = (/) /\ z = A) \/ (-. (g = (/) \/ Lim dom g) /\ z = (F` (g` U.dom g))) \/ (Lim dom g /\ z = U.ran g))}` (f |` y)))}
Distinct variable groups:   x,y,z,f,g,F   x,A,y,z,f,g

Proof of Theorem dfrdg2
StepHypRef Expression
1 df-rdg 3932 . 2 |- rec(F, A) = U.{f | E.x e. On (f Fn x /\ A.y e. x (f` y) = ({<.g, z>. | z = if(g = (/), A, if(Lim dom g, U.ran g, (F` (g` U.dom g))))}` (f |` y)))}
2 eqif 2377 . . . . . . . . . . . . . 14 |- (z = if(Lim dom g, U.ran g, (F` (g` U.dom g))) <-> ((Lim dom g /\ z = U.ran g) \/ (-. Lim dom g /\ z = (F` (g` U.dom g)))))
32anbi2i 480 . . . . . . . . . . . . 13 |- ((-. g = (/) /\ z = if(Lim dom g, U.ran g, (F` (g` U.dom g)))) <-> (-. g = (/) /\ ((Lim dom g /\ z = U.ran g) \/ (-. Lim dom g /\ z = (F` (g` U.dom g))))))
4 orcom 246 . . . . . . . . . . . . . 14 |- (((Lim dom g /\ z = U.ran g) \/ (-. Lim dom g /\ z = (F` (g` U.dom g)))) <-> ((-. Lim dom g /\ z = (F` (g` U.dom g))) \/ (Lim dom g /\ z = U.ran g)))
54anbi2i 480 . . . . . . . . . . . . 13 |- ((-. g = (/) /\ ((Lim dom g /\ z = U.ran g) \/ (-. Lim dom g /\ z = (F` (g` U.dom g))))) <-> (-. g = (/) /\ ((-. Lim dom g /\ z = (F` (g` U.dom g))) \/ (Lim dom g /\ z = U.ran g))))
6 andi 604 . . . . . . . . . . . . . 14 |- ((-. g = (/) /\ ((-. Lim dom g /\ z = (F` (g` U.dom g))) \/ (Lim dom g /\ z = U.ran g))) <-> ((-. g = (/) /\ (-. Lim dom g /\ z = (F` (g` U.dom g)))) \/ (-. g = (/) /\ (Lim dom g /\ z = U.ran g))))
7 ioran 306 . . . . . . . . . . . . . . . . 17 |- (-. (g = (/) \/ Lim dom g) <-> (-. g = (/) /\ -. Lim dom g))
87anbi1i 481 . . . . . . . . . . . . . . . 16 |- ((-. (g = (/) \/ Lim dom g) /\ z = (F` (g` U.dom g))) <-> ((-. g = (/) /\ -. Lim dom g) /\ z = (F` (g` U.dom g))))
9 anass 439 . . . . . . . . . . . . . . . 16 |- (((-. g = (/) /\ -. Lim dom g) /\ z = (F` (g` U.dom g))) <-> (-. g = (/) /\ (-. Lim dom g /\ z = (F` (g` U.dom g)))))
108, 9bitr 173 . . . . . . . . . . . . . . 15 |- ((-. (g = (/) \/ Lim dom g) /\ z = (F` (g` U.dom g))) <-> (-. g = (/) /\ (-. Lim dom g /\ z = (F` (g` U.dom g)))))
11 dmeq 3311 . . . . . . . . . . . . . . . . . . . . 21 |- (g = (/) -> dom g = dom (/))
12 dm0 3323 . . . . . . . . . . . . . . . . . . . . 21 |- dom (/) = (/)
1311, 12syl6eq 1523 . . . . . . . . . . . . . . . . . . . 20 |- (g = (/) -> dom g = (/))
14 nlim0 3027 . . . . . . . . . . . . . . . . . . . . 21 |- -. Lim (/)
15 limeq 2960 . . . . . . . . . . . . . . . . . . . . 21 |- (dom g = (/) -> (Lim dom g <-> Lim (/)))
1614, 15mtbiri 717 . . . . . . . . . . . . . . . . . . . 20 |- (dom g = (/) -> -. Lim dom g)
1713, 16syl 10 . . . . . . . . . . . . . . . . . . 19 |- (g = (/) -> -. Lim dom g)
1817con2i 97 . . . . . . . . . . . . . . . . . 18 |- (Lim dom g -> -. g = (/))
1918pm4.71ri 638 . . . . . . . . . . . . . . . . 17 |- (Lim dom g <-> (-. g = (/) /\ Lim dom g))
2019anbi1i 481 . . . . . . . . . . . . . . . 16 |- ((Lim dom g /\ z = U.ran g) <-> ((-. g = (/) /\ Lim dom g) /\ z = U.ran g))
21 anass 439 . . . . . . . . . . . . . . . 16 |- (((-. g = (/) /\ Lim dom g) /\ z = U.ran g) <-> (-. g = (/) /\ (Lim dom g /\ z = U.ran g)))
2220, 21bitr 173 . . . . . . . . . . . . . . 15 |- ((Lim dom g /\ z = U.ran g) <-> (-. g = (/) /\ (Lim dom g /\ z = U.ran g)))
2310, 22orbi12i 257 . . . . . . . . . . . . . 14 |- (((-. (g = (/) \/ Lim dom g) /\ z = (F` (g` U.dom g))) \/ (Lim dom g /\ z = U.ran g)) <-> ((-. g = (/) /\ (-. Lim dom g /\ z = (F` (g` U.dom g)))) \/ (-. g = (/) /\ (Lim dom g /\ z = U.ran g))))
246, 23bitr4 176 . . . . . . . . . . . . 13 |- ((-. g = (/) /\ ((-. Lim dom g /\ z = (F` (g` U.dom g))) \/ (Lim dom g /\ z = U.ran g))) <-> ((-. (g = (/) \/ Lim dom g) /\ z = (F` (g` U.dom g))) \/ (Lim dom g /\ z = U.ran g)))
253, 5, 243bitr 177 . . . . . . . . . . . 12 |- ((-. g = (/) /\ z = if(Lim dom g, U.ran g, (F` (g` U.dom g)))) <-> ((-. (g = (/) \/ Lim dom g) /\ z = (F` (g` U.dom g))) \/ (Lim dom g /\ z = U.ran g)))
2625orbi2i 255 . . . . . . . . . . 11 |- (((g = (/) /\ z = A) \/ (-. g = (/) /\ z = if(Lim dom g, U.ran g, (F` (g` U.dom g))))) <-> ((g = (/) /\ z = A) \/ ((-. (g = (/) \/ Lim dom g) /\ z = (F` (g` U.dom g))) \/ (Lim dom g /\ z = U.ran g))))
27 eqif 2377 . . . . . . . . . . 11 |- (z = if(g = (/), A, if(Lim dom g, U.ran g, (F` (g` U.dom g)))) <-> ((g = (/) /\ z = A) \/ (-. g = (/) /\ z = if(Lim dom g, U.ran g, (F` (g` U.dom g))))))
28 3orass 778 . . . . . . . . . . 11 |- (((g = (/) /\ z = A) \/ (-. (g = (/) \/ Lim dom g) /\ z = (F` (g` U.dom g))) \/ (Lim dom g /\ z = U.ran g)) <-> ((g = (/) /\ z = A) \/ ((-. (g = (/) \/ Lim dom g) /\ z = (F` (g` U.dom g))) \/ (Lim dom g /\ z = U.ran g))))
2926, 27, 283bitr4 183 . . . . . . . . . 10 |- (z = if(g = (/), A, if(Lim dom g, U.ran g, (F` (g` U.dom g)))) <-> ((g = (/) /\ z = A) \/ (-. (g = (/) \/ Lim dom g) /\ z = (F` (g` U.dom g))) \/ (Lim dom g /\ z = U.ran g)))
3029opabbii 2671 . . . . . . . . 9 |- {<.g, z>. | z = if(g = (/), A, if(Lim dom g, U.ran g, (F` (g` U.dom g))))} = {<.g, z>. | ((g = (/) /\ z = A) \/ (-. (g = (/) \/ Lim dom g) /\ z = (F` (g` U.dom g))) \/ (Lim dom g /\ z = U.ran g))}
3130fveq1i 3725 . . . . . . . 8 |- ({<.g, z>. | z = if(g = (/), A, if(Lim dom g, U.ran g, (F` (g` U.dom g))))}` (f |` y)) = ({<.g, z>. | ((g = (/) /\ z = A) \/ (-. (g = (/) \/ Lim dom g) /\ z = (F` (g` U.dom g))) \/ (Lim dom g /\ z = U.ran g))}` (f |` y))
3231eqeq2i 1485 . . . . . . 7 |- ((f` y) = ({<.g, z>. | z = if(g = (/), A, if(Lim dom g, U.ran g, (F` (g` U.dom g))))}` (f |` y)) <-> (f` y) = ({<.g, z>. | ((g = (/) /\ z = A) \/ (-. (g = (/) \/ Lim dom g) /\ z = (F` (g` U.dom g))) \/ (Lim dom g /\ z = U.ran g))}` (f |` y)))
3332ralbii 1667 . . . . . 6 |- (A.y e. x (f` y) = ({<.g, z>. | z = if(g = (/), A, if(Lim dom g, U.ran g, (F` (g` U.dom g))))}` (f |` y)) <-> A.y e. x (f` y) = ({<.g, z>. | ((g = (/) /\ z = A) \/ (-. (g = (/) \/ Lim dom g) /\ z = (F` (g` U.dom g))) \/ (Lim dom g /\ z = U.ran g))}` (f