ILE Home Intuitionistic Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >  frecabcl GIF version

Theorem frecabcl 6226
Description: The class abstraction from df-frec 6218 exists. Unlike frecabex 6225 the function 𝐹 only needs to be defined on 𝑆, not all sets. This is a lemma for other finite recursion proofs. (Contributed by Jim Kingdon, 21-Mar-2022.)
Hypotheses
Ref Expression
frecabcl.n (𝜑𝑁 ∈ ω)
frecabcl.g (𝜑𝐺:𝑁𝑆)
frecabcl.fs (𝜑 → ∀𝑦𝑆 (𝐹𝑦) ∈ 𝑆)
frecabcl.as (𝜑𝐴𝑆)
Assertion
Ref Expression
frecabcl (𝜑 → {𝑥 ∣ (∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ∨ (dom 𝐺 = ∅ ∧ 𝑥𝐴))} ∈ 𝑆)
Distinct variable groups:   𝐴,𝑚,𝑥   𝑚,𝐹,𝑥,𝑦   𝑚,𝐺,𝑥,𝑦   𝑚,𝑁,𝑥,𝑦   𝑥,𝑆,𝑦   𝜑,𝑚,𝑥,𝑦
Allowed substitution hints:   𝐴(𝑦)   𝑆(𝑚)

Proof of Theorem frecabcl
Dummy variables 𝑘 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 frecabcl.as . . . . 5 (𝜑𝐴𝑆)
21adantr 272 . . . 4 ((𝜑𝑁 = ∅) → 𝐴𝑆)
3 peano1 4446 . . . . . . . . 9 ∅ ∈ ω
4 elex2 2657 . . . . . . . . 9 (∅ ∈ ω → ∃𝑎 𝑎 ∈ ω)
5 r19.9rmv 3401 . . . . . . . . 9 (∃𝑎 𝑎 ∈ ω → (𝑥𝐴 ↔ ∃𝑚 ∈ ω 𝑥𝐴))
63, 4, 5mp2b 8 . . . . . . . 8 (𝑥𝐴 ↔ ∃𝑚 ∈ ω 𝑥𝐴)
7 frecabcl.g . . . . . . . . . . . . . . 15 (𝜑𝐺:𝑁𝑆)
8 fdm 5214 . . . . . . . . . . . . . . 15 (𝐺:𝑁𝑆 → dom 𝐺 = 𝑁)
97, 8syl 14 . . . . . . . . . . . . . 14 (𝜑 → dom 𝐺 = 𝑁)
109adantr 272 . . . . . . . . . . . . 13 ((𝜑𝑁 = ∅) → dom 𝐺 = 𝑁)
11 eqeq2 2109 . . . . . . . . . . . . . 14 (𝑁 = ∅ → (dom 𝐺 = 𝑁 ↔ dom 𝐺 = ∅))
1211adantl 273 . . . . . . . . . . . . 13 ((𝜑𝑁 = ∅) → (dom 𝐺 = 𝑁 ↔ dom 𝐺 = ∅))
1310, 12mpbid 146 . . . . . . . . . . . 12 ((𝜑𝑁 = ∅) → dom 𝐺 = ∅)
1413adantr 272 . . . . . . . . . . 11 (((𝜑𝑁 = ∅) ∧ 𝑚 ∈ ω) → dom 𝐺 = ∅)
1514biantrurd 301 . . . . . . . . . 10 (((𝜑𝑁 = ∅) ∧ 𝑚 ∈ ω) → (𝑥𝐴 ↔ (dom 𝐺 = ∅ ∧ 𝑥𝐴)))
16 peano3 4448 . . . . . . . . . . . . . . . 16 (𝑚 ∈ ω → suc 𝑚 ≠ ∅)
1716adantl 273 . . . . . . . . . . . . . . 15 (((𝜑𝑁 = ∅) ∧ 𝑚 ∈ ω) → suc 𝑚 ≠ ∅)
1817, 14neeqtrrd 2297 . . . . . . . . . . . . . 14 (((𝜑𝑁 = ∅) ∧ 𝑚 ∈ ω) → suc 𝑚 ≠ dom 𝐺)
1918necomd 2353 . . . . . . . . . . . . 13 (((𝜑𝑁 = ∅) ∧ 𝑚 ∈ ω) → dom 𝐺 ≠ suc 𝑚)
2019neneqd 2288 . . . . . . . . . . . 12 (((𝜑𝑁 = ∅) ∧ 𝑚 ∈ ω) → ¬ dom 𝐺 = suc 𝑚)
2120intnanrd 885 . . . . . . . . . . 11 (((𝜑𝑁 = ∅) ∧ 𝑚 ∈ ω) → ¬ (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))))
22 biorf 704 . . . . . . . . . . 11 (¬ (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) → ((dom 𝐺 = ∅ ∧ 𝑥𝐴) ↔ ((dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ∨ (dom 𝐺 = ∅ ∧ 𝑥𝐴))))
2321, 22syl 14 . . . . . . . . . 10 (((𝜑𝑁 = ∅) ∧ 𝑚 ∈ ω) → ((dom 𝐺 = ∅ ∧ 𝑥𝐴) ↔ ((dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ∨ (dom 𝐺 = ∅ ∧ 𝑥𝐴))))
2415, 23bitrd 187 . . . . . . . . 9 (((𝜑𝑁 = ∅) ∧ 𝑚 ∈ ω) → (𝑥𝐴 ↔ ((dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ∨ (dom 𝐺 = ∅ ∧ 𝑥𝐴))))
2524rexbidva 2393 . . . . . . . 8 ((𝜑𝑁 = ∅) → (∃𝑚 ∈ ω 𝑥𝐴 ↔ ∃𝑚 ∈ ω ((dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ∨ (dom 𝐺 = ∅ ∧ 𝑥𝐴))))
266, 25syl5bb 191 . . . . . . 7 ((𝜑𝑁 = ∅) → (𝑥𝐴 ↔ ∃𝑚 ∈ ω ((dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ∨ (dom 𝐺 = ∅ ∧ 𝑥𝐴))))
27 r19.44mv 3404 . . . . . . . 8 (∃𝑎 𝑎 ∈ ω → (∃𝑚 ∈ ω ((dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ∨ (dom 𝐺 = ∅ ∧ 𝑥𝐴)) ↔ (∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ∨ (dom 𝐺 = ∅ ∧ 𝑥𝐴))))
283, 4, 27mp2b 8 . . . . . . 7 (∃𝑚 ∈ ω ((dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ∨ (dom 𝐺 = ∅ ∧ 𝑥𝐴)) ↔ (∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ∨ (dom 𝐺 = ∅ ∧ 𝑥𝐴)))
2926, 28syl6bb 195 . . . . . 6 ((𝜑𝑁 = ∅) → (𝑥𝐴 ↔ (∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ∨ (dom 𝐺 = ∅ ∧ 𝑥𝐴))))
3029alrimiv 1813 . . . . 5 ((𝜑𝑁 = ∅) → ∀𝑥(𝑥𝐴 ↔ (∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ∨ (dom 𝐺 = ∅ ∧ 𝑥𝐴))))
312, 30jca 302 . . . 4 ((𝜑𝑁 = ∅) → (𝐴𝑆 ∧ ∀𝑥(𝑥𝐴 ↔ (∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ∨ (dom 𝐺 = ∅ ∧ 𝑥𝐴)))))
32 eleq1 2162 . . . . . 6 (𝑧 = 𝐴 → (𝑧𝑆𝐴𝑆))
33 eleq2 2163 . . . . . . . 8 (𝑧 = 𝐴 → (𝑥𝑧𝑥𝐴))
3433bibi1d 232 . . . . . . 7 (𝑧 = 𝐴 → ((𝑥𝑧 ↔ (∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ∨ (dom 𝐺 = ∅ ∧ 𝑥𝐴))) ↔ (𝑥𝐴 ↔ (∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ∨ (dom 𝐺 = ∅ ∧ 𝑥𝐴)))))
3534albidv 1763 . . . . . 6 (𝑧 = 𝐴 → (∀𝑥(𝑥𝑧 ↔ (∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ∨ (dom 𝐺 = ∅ ∧ 𝑥𝐴))) ↔ ∀𝑥(𝑥𝐴 ↔ (∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ∨ (dom 𝐺 = ∅ ∧ 𝑥𝐴)))))
3632, 35anbi12d 460 . . . . 5 (𝑧 = 𝐴 → ((𝑧𝑆 ∧ ∀𝑥(𝑥𝑧 ↔ (∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ∨ (dom 𝐺 = ∅ ∧ 𝑥𝐴)))) ↔ (𝐴𝑆 ∧ ∀𝑥(𝑥𝐴 ↔ (∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ∨ (dom 𝐺 = ∅ ∧ 𝑥𝐴))))))
3736spcegv 2729 . . . 4 (𝐴𝑆 → ((𝐴𝑆 ∧ ∀𝑥(𝑥𝐴 ↔ (∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ∨ (dom 𝐺 = ∅ ∧ 𝑥𝐴)))) → ∃𝑧(𝑧𝑆 ∧ ∀𝑥(𝑥𝑧 ↔ (∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ∨ (dom 𝐺 = ∅ ∧ 𝑥𝐴))))))
382, 31, 37sylc 62 . . 3 ((𝜑𝑁 = ∅) → ∃𝑧(𝑧𝑆 ∧ ∀𝑥(𝑥𝑧 ↔ (∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ∨ (dom 𝐺 = ∅ ∧ 𝑥𝐴)))))
39 fveq2 5353 . . . . . . . . 9 (𝑦 = (𝐺𝑘) → (𝐹𝑦) = (𝐹‘(𝐺𝑘)))
4039eleq1d 2168 . . . . . . . 8 (𝑦 = (𝐺𝑘) → ((𝐹𝑦) ∈ 𝑆 ↔ (𝐹‘(𝐺𝑘)) ∈ 𝑆))
41 frecabcl.fs . . . . . . . . 9 (𝜑 → ∀𝑦𝑆 (𝐹𝑦) ∈ 𝑆)
4241ad2antrr 475 . . . . . . . 8 (((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) → ∀𝑦𝑆 (𝐹𝑦) ∈ 𝑆)
437ad2antrr 475 . . . . . . . . 9 (((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) → 𝐺:𝑁𝑆)
44 vex 2644 . . . . . . . . . . . 12 𝑘 ∈ V
4544sucid 4277 . . . . . . . . . . 11 𝑘 ∈ suc 𝑘
46 eleq2 2163 . . . . . . . . . . 11 (𝑁 = suc 𝑘 → (𝑘𝑁𝑘 ∈ suc 𝑘))
4745, 46mpbiri 167 . . . . . . . . . 10 (𝑁 = suc 𝑘𝑘𝑁)
4847adantl 273 . . . . . . . . 9 (((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) → 𝑘𝑁)
4943, 48ffvelrnd 5488 . . . . . . . 8 (((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) → (𝐺𝑘) ∈ 𝑆)
5040, 42, 49rspcdva 2749 . . . . . . 7 (((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) → (𝐹‘(𝐺𝑘)) ∈ 𝑆)
51 simpllr 504 . . . . . . . . . . . . 13 ((((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) ∧ 𝑥 ∈ (𝐹‘(𝐺𝑘))) → 𝑘 ∈ ω)
5243, 8syl 14 . . . . . . . . . . . . . . . 16 (((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) → dom 𝐺 = 𝑁)
5352adantr 272 . . . . . . . . . . . . . . 15 ((((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) ∧ 𝑥 ∈ (𝐹‘(𝐺𝑘))) → dom 𝐺 = 𝑁)
54 simplr 500 . . . . . . . . . . . . . . 15 ((((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) ∧ 𝑥 ∈ (𝐹‘(𝐺𝑘))) → 𝑁 = suc 𝑘)
5553, 54eqtrd 2132 . . . . . . . . . . . . . 14 ((((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) ∧ 𝑥 ∈ (𝐹‘(𝐺𝑘))) → dom 𝐺 = suc 𝑘)
56 simpr 109 . . . . . . . . . . . . . 14 ((((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) ∧ 𝑥 ∈ (𝐹‘(𝐺𝑘))) → 𝑥 ∈ (𝐹‘(𝐺𝑘)))
5755, 56jca 302 . . . . . . . . . . . . 13 ((((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) ∧ 𝑥 ∈ (𝐹‘(𝐺𝑘))) → (dom 𝐺 = suc 𝑘𝑥 ∈ (𝐹‘(𝐺𝑘))))
58 suceq 4262 . . . . . . . . . . . . . . . 16 (𝑚 = 𝑘 → suc 𝑚 = suc 𝑘)
5958eqeq2d 2111 . . . . . . . . . . . . . . 15 (𝑚 = 𝑘 → (dom 𝐺 = suc 𝑚 ↔ dom 𝐺 = suc 𝑘))
60 fveq2 5353 . . . . . . . . . . . . . . . . 17 (𝑚 = 𝑘 → (𝐺𝑚) = (𝐺𝑘))
6160fveq2d 5357 . . . . . . . . . . . . . . . 16 (𝑚 = 𝑘 → (𝐹‘(𝐺𝑚)) = (𝐹‘(𝐺𝑘)))
6261eleq2d 2169 . . . . . . . . . . . . . . 15 (𝑚 = 𝑘 → (𝑥 ∈ (𝐹‘(𝐺𝑚)) ↔ 𝑥 ∈ (𝐹‘(𝐺𝑘))))
6359, 62anbi12d 460 . . . . . . . . . . . . . 14 (𝑚 = 𝑘 → ((dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ↔ (dom 𝐺 = suc 𝑘𝑥 ∈ (𝐹‘(𝐺𝑘)))))
6463rspcev 2744 . . . . . . . . . . . . 13 ((𝑘 ∈ ω ∧ (dom 𝐺 = suc 𝑘𝑥 ∈ (𝐹‘(𝐺𝑘)))) → ∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))))
6551, 57, 64syl2anc 406 . . . . . . . . . . . 12 ((((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) ∧ 𝑥 ∈ (𝐹‘(𝐺𝑘))) → ∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))))
6665ex 114 . . . . . . . . . . 11 (((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) → (𝑥 ∈ (𝐹‘(𝐺𝑘)) → ∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚)))))
67 simpr 109 . . . . . . . . . . . . . . 15 ((dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) → 𝑥 ∈ (𝐹‘(𝐺𝑚)))
6867adantl 273 . . . . . . . . . . . . . 14 (((((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) ∧ 𝑚 ∈ ω) ∧ (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚)))) → 𝑥 ∈ (𝐹‘(𝐺𝑚)))
6952ad2antrr 475 . . . . . . . . . . . . . . . . . . 19 (((((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) ∧ 𝑚 ∈ ω) ∧ (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚)))) → dom 𝐺 = 𝑁)
70 simprl 501 . . . . . . . . . . . . . . . . . . 19 (((((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) ∧ 𝑚 ∈ ω) ∧ (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚)))) → dom 𝐺 = suc 𝑚)
71 simpllr 504 . . . . . . . . . . . . . . . . . . 19 (((((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) ∧ 𝑚 ∈ ω) ∧ (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚)))) → 𝑁 = suc 𝑘)
7269, 70, 713eqtr3rd 2141 . . . . . . . . . . . . . . . . . 18 (((((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) ∧ 𝑚 ∈ ω) ∧ (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚)))) → suc 𝑘 = suc 𝑚)
73 simplr 500 . . . . . . . . . . . . . . . . . . . 20 (((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) → 𝑘 ∈ ω)
7473ad2antrr 475 . . . . . . . . . . . . . . . . . . 19 (((((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) ∧ 𝑚 ∈ ω) ∧ (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚)))) → 𝑘 ∈ ω)
75 simplr 500 . . . . . . . . . . . . . . . . . . 19 (((((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) ∧ 𝑚 ∈ ω) ∧ (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚)))) → 𝑚 ∈ ω)
76 peano4 4449 . . . . . . . . . . . . . . . . . . 19 ((𝑘 ∈ ω ∧ 𝑚 ∈ ω) → (suc 𝑘 = suc 𝑚𝑘 = 𝑚))
7774, 75, 76syl2anc 406 . . . . . . . . . . . . . . . . . 18 (((((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) ∧ 𝑚 ∈ ω) ∧ (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚)))) → (suc 𝑘 = suc 𝑚𝑘 = 𝑚))
7872, 77mpbid 146 . . . . . . . . . . . . . . . . 17 (((((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) ∧ 𝑚 ∈ ω) ∧ (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚)))) → 𝑘 = 𝑚)
7978fveq2d 5357 . . . . . . . . . . . . . . . 16 (((((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) ∧ 𝑚 ∈ ω) ∧ (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚)))) → (𝐺𝑘) = (𝐺𝑚))
8079fveq2d 5357 . . . . . . . . . . . . . . 15 (((((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) ∧ 𝑚 ∈ ω) ∧ (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚)))) → (𝐹‘(𝐺𝑘)) = (𝐹‘(𝐺𝑚)))
8180eleq2d 2169 . . . . . . . . . . . . . 14 (((((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) ∧ 𝑚 ∈ ω) ∧ (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚)))) → (𝑥 ∈ (𝐹‘(𝐺𝑘)) ↔ 𝑥 ∈ (𝐹‘(𝐺𝑚))))
8268, 81mpbird 166 . . . . . . . . . . . . 13 (((((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) ∧ 𝑚 ∈ ω) ∧ (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚)))) → 𝑥 ∈ (𝐹‘(𝐺𝑘)))
8382ex 114 . . . . . . . . . . . 12 ((((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) ∧ 𝑚 ∈ ω) → ((dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) → 𝑥 ∈ (𝐹‘(𝐺𝑘))))
8483rexlimdva 2508 . . . . . . . . . . 11 (((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) → (∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) → 𝑥 ∈ (𝐹‘(𝐺𝑘))))
8566, 84impbid 128 . . . . . . . . . 10 (((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) → (𝑥 ∈ (𝐹‘(𝐺𝑘)) ↔ ∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚)))))
8685alrimiv 1813 . . . . . . . . 9 (((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) → ∀𝑥(𝑥 ∈ (𝐹‘(𝐺𝑘)) ↔ ∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚)))))
87 peano3 4448 . . . . . . . . . . . . . . . . . 18 (𝑘 ∈ ω → suc 𝑘 ≠ ∅)
8873, 87syl 14 . . . . . . . . . . . . . . . . 17 (((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) → suc 𝑘 ≠ ∅)
89 neeq1 2280 . . . . . . . . . . . . . . . . . 18 (𝑁 = suc 𝑘 → (𝑁 ≠ ∅ ↔ suc 𝑘 ≠ ∅))
9089adantl 273 . . . . . . . . . . . . . . . . 17 (((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) → (𝑁 ≠ ∅ ↔ suc 𝑘 ≠ ∅))
9188, 90mpbird 166 . . . . . . . . . . . . . . . 16 (((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) → 𝑁 ≠ ∅)
9252, 91eqnetrd 2291 . . . . . . . . . . . . . . 15 (((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) → dom 𝐺 ≠ ∅)
9392neneqd 2288 . . . . . . . . . . . . . 14 (((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) → ¬ dom 𝐺 = ∅)
9493intnanrd 885 . . . . . . . . . . . . 13 (((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) → ¬ (dom 𝐺 = ∅ ∧ 𝑥𝐴))
95 biorf 704 . . . . . . . . . . . . 13 (¬ (dom 𝐺 = ∅ ∧ 𝑥𝐴) → (∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ↔ ((dom 𝐺 = ∅ ∧ 𝑥𝐴) ∨ ∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))))))
9694, 95syl 14 . . . . . . . . . . . 12 (((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) → (∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ↔ ((dom 𝐺 = ∅ ∧ 𝑥𝐴) ∨ ∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))))))
97 orcom 688 . . . . . . . . . . . 12 (((dom 𝐺 = ∅ ∧ 𝑥𝐴) ∨ ∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚)))) ↔ (∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ∨ (dom 𝐺 = ∅ ∧ 𝑥𝐴)))
9896, 97syl6bb 195 . . . . . . . . . . 11 (((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) → (∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ↔ (∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ∨ (dom 𝐺 = ∅ ∧ 𝑥𝐴))))
9998bibi2d 231 . . . . . . . . . 10 (((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) → ((𝑥 ∈ (𝐹‘(𝐺𝑘)) ↔ ∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚)))) ↔ (𝑥 ∈ (𝐹‘(𝐺𝑘)) ↔ (∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ∨ (dom 𝐺 = ∅ ∧ 𝑥𝐴)))))
10099albidv 1763 . . . . . . . . 9 (((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) → (∀𝑥(𝑥 ∈ (𝐹‘(𝐺𝑘)) ↔ ∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚)))) ↔ ∀𝑥(𝑥 ∈ (𝐹‘(𝐺𝑘)) ↔ (∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ∨ (dom 𝐺 = ∅ ∧ 𝑥𝐴)))))
10186, 100mpbid 146 . . . . . . . 8 (((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) → ∀𝑥(𝑥 ∈ (𝐹‘(𝐺𝑘)) ↔ (∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ∨ (dom 𝐺 = ∅ ∧ 𝑥𝐴))))
10250, 101jca 302 . . . . . . 7 (((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) → ((𝐹‘(𝐺𝑘)) ∈ 𝑆 ∧ ∀𝑥(𝑥 ∈ (𝐹‘(𝐺𝑘)) ↔ (∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ∨ (dom 𝐺 = ∅ ∧ 𝑥𝐴)))))
103 eleq1 2162 . . . . . . . . 9 (𝑧 = (𝐹‘(𝐺𝑘)) → (𝑧𝑆 ↔ (𝐹‘(𝐺𝑘)) ∈ 𝑆))
104 eleq2 2163 . . . . . . . . . . 11 (𝑧 = (𝐹‘(𝐺𝑘)) → (𝑥𝑧𝑥 ∈ (𝐹‘(𝐺𝑘))))
105104bibi1d 232 . . . . . . . . . 10 (𝑧 = (𝐹‘(𝐺𝑘)) → ((𝑥𝑧 ↔ (∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ∨ (dom 𝐺 = ∅ ∧ 𝑥𝐴))) ↔ (𝑥 ∈ (𝐹‘(𝐺𝑘)) ↔ (∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ∨ (dom 𝐺 = ∅ ∧ 𝑥𝐴)))))
106105albidv 1763 . . . . . . . . 9 (𝑧 = (𝐹‘(𝐺𝑘)) → (∀𝑥(𝑥𝑧 ↔ (∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ∨ (dom 𝐺 = ∅ ∧ 𝑥𝐴))) ↔ ∀𝑥(𝑥 ∈ (𝐹‘(𝐺𝑘)) ↔ (∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ∨ (dom 𝐺 = ∅ ∧ 𝑥𝐴)))))
107103, 106anbi12d 460 . . . . . . . 8 (𝑧 = (𝐹‘(𝐺𝑘)) → ((𝑧𝑆 ∧ ∀𝑥(𝑥𝑧 ↔ (∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ∨ (dom 𝐺 = ∅ ∧ 𝑥𝐴)))) ↔ ((𝐹‘(𝐺𝑘)) ∈ 𝑆 ∧ ∀𝑥(𝑥 ∈ (𝐹‘(𝐺𝑘)) ↔ (∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ∨ (dom 𝐺 = ∅ ∧ 𝑥𝐴))))))
108107spcegv 2729 . . . . . . 7 ((𝐹‘(𝐺𝑘)) ∈ 𝑆 → (((𝐹‘(𝐺𝑘)) ∈ 𝑆 ∧ ∀𝑥(𝑥 ∈ (𝐹‘(𝐺𝑘)) ↔ (∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ∨ (dom 𝐺 = ∅ ∧ 𝑥𝐴)))) → ∃𝑧(𝑧𝑆 ∧ ∀𝑥(𝑥𝑧 ↔ (∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ∨ (dom 𝐺 = ∅ ∧ 𝑥𝐴))))))
10950, 102, 108sylc 62 . . . . . 6 (((𝜑𝑘 ∈ ω) ∧ 𝑁 = suc 𝑘) → ∃𝑧(𝑧𝑆 ∧ ∀𝑥(𝑥𝑧 ↔ (∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ∨ (dom 𝐺 = ∅ ∧ 𝑥𝐴)))))
110109ex 114 . . . . 5 ((𝜑𝑘 ∈ ω) → (𝑁 = suc 𝑘 → ∃𝑧(𝑧𝑆 ∧ ∀𝑥(𝑥𝑧 ↔ (∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ∨ (dom 𝐺 = ∅ ∧ 𝑥𝐴))))))
111110rexlimdva 2508 . . . 4 (𝜑 → (∃𝑘 ∈ ω 𝑁 = suc 𝑘 → ∃𝑧(𝑧𝑆 ∧ ∀𝑥(𝑥𝑧 ↔ (∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ∨ (dom 𝐺 = ∅ ∧ 𝑥𝐴))))))
112111imp 123 . . 3 ((𝜑 ∧ ∃𝑘 ∈ ω 𝑁 = suc 𝑘) → ∃𝑧(𝑧𝑆 ∧ ∀𝑥(𝑥𝑧 ↔ (∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ∨ (dom 𝐺 = ∅ ∧ 𝑥𝐴)))))
113 frecabcl.n . . . 4 (𝜑𝑁 ∈ ω)
114 nn0suc 4456 . . . 4 (𝑁 ∈ ω → (𝑁 = ∅ ∨ ∃𝑘 ∈ ω 𝑁 = suc 𝑘))
115113, 114syl 14 . . 3 (𝜑 → (𝑁 = ∅ ∨ ∃𝑘 ∈ ω 𝑁 = suc 𝑘))
11638, 112, 115mpjaodan 753 . 2 (𝜑 → ∃𝑧(𝑧𝑆 ∧ ∀𝑥(𝑥𝑧 ↔ (∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ∨ (dom 𝐺 = ∅ ∧ 𝑥𝐴)))))
117 clabel 2225 . 2 ({𝑥 ∣ (∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ∨ (dom 𝐺 = ∅ ∧ 𝑥𝐴))} ∈ 𝑆 ↔ ∃𝑧(𝑧𝑆 ∧ ∀𝑥(𝑥𝑧 ↔ (∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ∨ (dom 𝐺 = ∅ ∧ 𝑥𝐴)))))
118116, 117sylibr 133 1 (𝜑 → {𝑥 ∣ (∃𝑚 ∈ ω (dom 𝐺 = suc 𝑚𝑥 ∈ (𝐹‘(𝐺𝑚))) ∨ (dom 𝐺 = ∅ ∧ 𝑥𝐴))} ∈ 𝑆)
Colors of variables: wff set class
Syntax hints:  ¬ wn 3  wi 4  wa 103  wb 104  wo 670  wal 1297   = wceq 1299  wex 1436  wcel 1448  {cab 2086  wne 2267  wral 2375  wrex 2376  c0 3310  suc csuc 4225  ωcom 4442  dom cdm 4477  wf 5055  cfv 5059
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-mp 7  ax-ia1 105  ax-ia2 106  ax-ia3 107  ax-in1 584  ax-in2 585  ax-io 671  ax-5 1391  ax-7 1392  ax-gen 1393  ax-ie1 1437  ax-ie2 1438  ax-8 1450  ax-10 1451  ax-11 1452  ax-i12 1453  ax-bndl 1454  ax-4 1455  ax-13 1459  ax-14 1460  ax-17 1474  ax-i9 1478  ax-ial 1482  ax-i5r 1483  ax-ext 2082  ax-sep 3986  ax-nul 3994  ax-pow 4038  ax-pr 4069  ax-un 4293  ax-setind 4390  ax-iinf 4440
This theorem depends on definitions:  df-bi 116  df-3an 932  df-tru 1302  df-nf 1405  df-sb 1704  df-eu 1963  df-mo 1964  df-clab 2087  df-cleq 2093  df-clel 2096  df-nfc 2229  df-ne 2268  df-ral 2380  df-rex 2381  df-v 2643  df-sbc 2863  df-dif 3023  df-un 3025  df-in 3027  df-ss 3034  df-nul 3311  df-pw 3459  df-sn 3480  df-pr 3481  df-op 3483  df-uni 3684  df-int 3719  df-br 3876  df-opab 3930  df-id 4153  df-suc 4231  df-iom 4443  df-xp 4483  df-rel 4484  df-cnv 4485  df-co 4486  df-dm 4487  df-rn 4488  df-iota 5024  df-fun 5061  df-fn 5062  df-f 5063  df-fv 5067
This theorem is referenced by:  freccllem  6229  frecfcllem  6231  frecsuclem  6233
  Copyright terms: Public domain W3C validator