MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  setrec2 Structured version   Visualization version   GIF version

Theorem setrec2 9980
Description: This is the second of two fundamental theorems about set recursion from which all other facts will be derived. It states that the class setrecs(𝐹) is a subclass of all classes 𝐶 that are closed under 𝐹. Taken together, Theorems setrec1 9975 and setrec2v 9981 uniquely determine setrecs(𝐹) to be the minimal class closed under 𝐹.

We express this by saying that if 𝐹 respects the ⊆ relation and 𝐶 is closed under 𝐹, then 𝐵 ⊆ 𝐶. By substituting strategically constructed classes for 𝐶, we can easily prove many useful properties. Although this theorem cannot show equality between 𝐵 and 𝐶, if we intend to prove equality between 𝐵 and some particular class (such as On), we first apply this theorem, then the relevant induction theorem (such as tfi 7864) to the other class.

(Contributed by Emmett Weisz, 2-Sep-2021.)

Hypotheses
Ref Expression
setrec2.1 Ⅎ𝑎𝐹
setrec2.2 𝐵 = setrecs(𝐹)
setrec2.3 (𝜑 → ∀𝑎(𝑎 ⊆ 𝐶 → (𝐹‘𝑎) ⊆ 𝐶))
Assertion
Ref Expression
setrec2 (𝜑 → 𝐵 ⊆ 𝐶)
Distinct variable group:   𝐶,𝑎
Allowed substitution hints:   𝜑(𝑎)   𝐵(𝑎)   𝐹(𝑎)

Proof of Theorem setrec2
Dummy variables 𝑥 𝑤 𝑦 𝑧 𝑢 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 setrec2.1 . . 3 Ⅎ𝑎𝐹
2 nfcv 2922 . . . . . 6 Ⅎ𝑎𝑥
3 nfcv 2922 . . . . . 6 Ⅎ𝑎𝑢
42, 1, 3nfbr 5151 . . . . 5 Ⅎ𝑎 𝑥𝐹𝑢
54nfeuw 2618 . . . 4 Ⅎ𝑎∃!𝑢 𝑥𝐹𝑢
65nfab 2928 . . 3 Ⅎ𝑎{𝑥 ∣ ∃!𝑢 𝑥𝐹𝑢}
71, 6nfres 5971 . 2 Ⅎ𝑎(𝐹 ↾ {𝑥 ∣ ∃!𝑢 𝑥𝐹𝑢})
8 setrec2.2 . . 3 𝐵 = setrecs(𝐹)
9 setrec2lem1 9977 . . . . . . . . . . . 12 ((𝐹 ↾ {𝑥 ∣ ∃!𝑢 𝑥𝐹𝑢})‘𝑤) = (𝐹‘𝑤)
109sseq1i 3936 . . . . . . . . . . 11 (((𝐹 ↾ {𝑥 ∣ ∃!𝑢 𝑥𝐹𝑢})‘𝑤) ⊆ 𝑧 ↔ (𝐹‘𝑤) ⊆ 𝑧)
1110imbi2i 339 . . . . . . . . . 10 ((𝑤 ⊆ 𝑧 → ((𝐹 ↾ {𝑥 ∣ ∃!𝑢 𝑥𝐹𝑢})‘𝑤) ⊆ 𝑧) ↔ (𝑤 ⊆ 𝑧 → (𝐹‘𝑤) ⊆ 𝑧))
1211imbi2i 339 . . . . . . . . 9 ((𝑤 ⊆ 𝑦 → (𝑤 ⊆ 𝑧 → ((𝐹 ↾ {𝑥 ∣ ∃!𝑢 𝑥𝐹𝑢})‘𝑤) ⊆ 𝑧)) ↔ (𝑤 ⊆ 𝑦 → (𝑤 ⊆ 𝑧 → (𝐹‘𝑤) ⊆ 𝑧)))
1312albii 1851 . . . . . . . 8 (∀𝑤(𝑤 ⊆ 𝑦 → (𝑤 ⊆ 𝑧 → ((𝐹 ↾ {𝑥 ∣ ∃!𝑢 𝑥𝐹𝑢})‘𝑤) ⊆ 𝑧)) ↔ ∀𝑤(𝑤 ⊆ 𝑦 → (𝑤 ⊆ 𝑧 → (𝐹‘𝑤) ⊆ 𝑧)))
1413imbi1i 352 . . . . . . 7 ((∀𝑤(𝑤 ⊆ 𝑦 → (𝑤 ⊆ 𝑧 → ((𝐹 ↾ {𝑥 ∣ ∃!𝑢 𝑥𝐹𝑢})‘𝑤) ⊆ 𝑧)) → 𝑦 ⊆ 𝑧) ↔ (∀𝑤(𝑤 ⊆ 𝑦 → (𝑤 ⊆ 𝑧 → (𝐹‘𝑤) ⊆ 𝑧)) → 𝑦 ⊆ 𝑧))
1514albii 1851 . . . . . 6 (∀𝑧(∀𝑤(𝑤 ⊆ 𝑦 → (𝑤 ⊆ 𝑧 → ((𝐹 ↾ {𝑥 ∣ ∃!𝑢 𝑥𝐹𝑢})‘𝑤) ⊆ 𝑧)) → 𝑦 ⊆ 𝑧) ↔ ∀𝑧(∀𝑤(𝑤 ⊆ 𝑦 → (𝑤 ⊆ 𝑧 → (𝐹‘𝑤) ⊆ 𝑧)) → 𝑦 ⊆ 𝑧))
1615abbii 2827 . . . . 5 {𝑦 ∣ ∀𝑧(∀𝑤(𝑤 ⊆ 𝑦 → (𝑤 ⊆ 𝑧 → ((𝐹 ↾ {𝑥 ∣ ∃!𝑢 𝑥𝐹𝑢})‘𝑤) ⊆ 𝑧)) → 𝑦 ⊆ 𝑧)} = {𝑦 ∣ ∀𝑧(∀𝑤(𝑤 ⊆ 𝑦 → (𝑤 ⊆ 𝑧 → (𝐹‘𝑤) ⊆ 𝑧)) → 𝑦 ⊆ 𝑧)}
1716unieqi 4878 . . . 4 ∪ {𝑦 ∣ ∀𝑧(∀𝑤(𝑤 ⊆ 𝑦 → (𝑤 ⊆ 𝑧 → ((𝐹 ↾ {𝑥 ∣ ∃!𝑢 𝑥𝐹𝑢})‘𝑤) ⊆ 𝑧)) → 𝑦 ⊆ 𝑧)} = ∪ {𝑦 ∣ ∀𝑧(∀𝑤(𝑤 ⊆ 𝑦 → (𝑤 ⊆ 𝑧 → (𝐹‘𝑤) ⊆ 𝑧)) → 𝑦 ⊆ 𝑧)}
18 df-setrecs 9968 . . . 4 setrecs((𝐹 ↾ {𝑥 ∣ ∃!𝑢 𝑥𝐹𝑢})) = ∪ {𝑦 ∣ ∀𝑧(∀𝑤(𝑤 ⊆ 𝑦 → (𝑤 ⊆ 𝑧 → ((𝐹 ↾ {𝑥 ∣ ∃!𝑢 𝑥𝐹𝑢})‘𝑤) ⊆ 𝑧)) → 𝑦 ⊆ 𝑧)}
19 df-setrecs 9968 . . . 4 setrecs(𝐹) = ∪ {𝑦 ∣ ∀𝑧(∀𝑤(𝑤 ⊆ 𝑦 → (𝑤 ⊆ 𝑧 → (𝐹‘𝑤) ⊆ 𝑧)) → 𝑦 ⊆ 𝑧)}
2017, 18, 193eqtr4ri 2794 . . 3 setrecs(𝐹) = setrecs((𝐹 ↾ {𝑥 ∣ ∃!𝑢 𝑥𝐹𝑢}))
218, 20eqtri 2783 . 2 𝐵 = setrecs((𝐹 ↾ {𝑥 ∣ ∃!𝑢 𝑥𝐹𝑢}))
22 setrec2lem2 9979 . 2 Fun (𝐹 ↾ {𝑥 ∣ ∃!𝑢 𝑥𝐹𝑢})
23 setrec2.3 . . 3 (𝜑 → ∀𝑎(𝑎 ⊆ 𝐶 → (𝐹‘𝑎) ⊆ 𝐶))
24 setrec2lem1 9977 . . . . . 6 ((𝐹 ↾ {𝑥 ∣ ∃!𝑢 𝑥𝐹𝑢})‘𝑎) = (𝐹‘𝑎)
2524sseq1i 3936 . . . . 5 (((𝐹 ↾ {𝑥 ∣ ∃!𝑢 𝑥𝐹𝑢})‘𝑎) ⊆ 𝐶 ↔ (𝐹‘𝑎) ⊆ 𝐶)
2625imbi2i 339 . . . 4 ((𝑎 ⊆ 𝐶 → ((𝐹 ↾ {𝑥 ∣ ∃!𝑢 𝑥𝐹𝑢})‘𝑎) ⊆ 𝐶) ↔ (𝑎 ⊆ 𝐶 → (𝐹‘𝑎) ⊆ 𝐶))
2726albii 1851 . . 3 (∀𝑎(𝑎 ⊆ 𝐶 → ((𝐹 ↾ {𝑥 ∣ ∃!𝑢 𝑥𝐹𝑢})‘𝑎) ⊆ 𝐶) ↔ ∀𝑎(𝑎 ⊆ 𝐶 → (𝐹‘𝑎) ⊆ 𝐶))
2823, 27sylibr 237 . 2 (𝜑 → ∀𝑎(𝑎 ⊆ 𝐶 → ((𝐹 ↾ {𝑥 ∣ ∃!𝑢 𝑥𝐹𝑢})‘𝑎) ⊆ 𝐶))
297, 21, 22, 28setrec2fun 9976 1 (𝜑 → 𝐵 ⊆ 𝐶)
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   → wi 4  ∀wal 1567   = wceq 1569  ∃!weu 2593  {cab 2738  Ⅎwnfc 2907   ⊆ wss 3895  ∪ cuni 4866   class class class wbr 5102   ↾ cres 5652  ‘cfv 6538  setrecscsetrecs 9967
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1827  ax-4 1841  ax-5 1942  ax-6 1999  ax-7 2040  ax-8 2146  ax-9 2154  ax-10 2177  ax-11 2193  ax-12 2212  ax-ext 2732  ax-rep 5231  ax-sep 5248  ax-nul 5259  ax-pow 5326  ax-pr 5390  ax-un 7751
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3an 1105  df-tru 1572  df-fal 1582  df-ex 1812  df-nf 1816  df-sb 2099  df-mo 2564  df-eu 2594  df-clab 2739  df-cleq 2752  df-clel 2835  df-nfc 2909  df-ne 2956  df-ral 3077  df-rex 3087  df-rab 3413  df-v 3452  df-ss 3896  df-dif 4047  df-in 4091  df-un 4151  df-nul 4279  df-if 4482  df-pw 4558  df-sn 4585  df-pr 4587  df-op 4835  df-uni 4867  df-br 5103  df-opab 5167  df-id 5545  df-xp 5656  df-rel 5657  df-cnv 5658  df-co 5659  df-dm 5660  df-rn 5661  df-res 5662  df-ima 5663  df-iota 6494  df-fun 6540  df-fv 6546  df-setrecs 9968
This theorem is used by:  setrec2v  9981  setrec2mpt  50958
  Copyright terms: Public domain W3C validator