Users' Mathboxes Mathbox for Brendan Leahy < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  ptrest Structured version   Visualization version   GIF version

Theorem ptrest 33721
Description: Expressing a restriction of a product topology as a product topology. (Contributed by Brendan Leahy, 24-Mar-2019.)
Hypotheses
Ref Expression
ptrest.0 (𝜑𝐴𝑉)
ptrest.1 (𝜑𝐹:𝐴⟶Top)
ptrest.2 ((𝜑𝑘𝐴) → 𝑆𝑊)
Assertion
Ref Expression
ptrest (𝜑 → ((∏t𝐹) ↾t X𝑘𝐴 𝑆) = (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))))
Distinct variable groups:   𝜑,𝑘   𝐴,𝑘   𝑘,𝐹   𝑘,𝑉
Allowed substitution hints:   𝑆(𝑘)   𝑊(𝑘)

Proof of Theorem ptrest
Dummy variables 𝑢 𝑣 𝑤 𝑥 𝑦 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 firest 16298 . . . 4 (fi‘(({ (∏t𝐹)} ∪ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣))) ↾t X𝑘𝐴 𝑆)) = ((fi‘({ (∏t𝐹)} ∪ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣)))) ↾t X𝑘𝐴 𝑆)
2 snex 5098 . . . . . . . 8 { (∏t𝐹)} ∈ V
3 ptrest.0 . . . . . . . . . 10 (𝜑𝐴𝑉)
4 fvex 6421 . . . . . . . . . . 11 (𝐹𝑢) ∈ V
54rgenw 3112 . . . . . . . . . 10 𝑢𝐴 (𝐹𝑢) ∈ V
6 eqid 2806 . . . . . . . . . . 11 (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣)) = (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣))
76mpt2exxg 7477 . . . . . . . . . 10 ((𝐴𝑉 ∧ ∀𝑢𝐴 (𝐹𝑢) ∈ V) → (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣)) ∈ V)
83, 5, 7sylancl 576 . . . . . . . . 9 (𝜑 → (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣)) ∈ V)
9 rnexg 7328 . . . . . . . . 9 ((𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣)) ∈ V → ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣)) ∈ V)
108, 9syl 17 . . . . . . . 8 (𝜑 → ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣)) ∈ V)
11 unexg 7189 . . . . . . . 8 (({ (∏t𝐹)} ∈ V ∧ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣)) ∈ V) → ({ (∏t𝐹)} ∪ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣))) ∈ V)
122, 10, 11sylancr 577 . . . . . . 7 (𝜑 → ({ (∏t𝐹)} ∪ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣))) ∈ V)
13 ptrest.2 . . . . . . . . 9 ((𝜑𝑘𝐴) → 𝑆𝑊)
1413ralrimiva 3154 . . . . . . . 8 (𝜑 → ∀𝑘𝐴 𝑆𝑊)
15 ixpexg 8169 . . . . . . . 8 (∀𝑘𝐴 𝑆𝑊X𝑘𝐴 𝑆 ∈ V)
1614, 15syl 17 . . . . . . 7 (𝜑X𝑘𝐴 𝑆 ∈ V)
17 restval 16292 . . . . . . 7 ((({ (∏t𝐹)} ∪ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣))) ∈ V ∧ X𝑘𝐴 𝑆 ∈ V) → (({ (∏t𝐹)} ∪ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣))) ↾t X𝑘𝐴 𝑆) = ran (𝑥 ∈ ({ (∏t𝐹)} ∪ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣))) ↦ (𝑥X𝑘𝐴 𝑆)))
1812, 16, 17syl2anc 575 . . . . . 6 (𝜑 → (({ (∏t𝐹)} ∪ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣))) ↾t X𝑘𝐴 𝑆) = ran (𝑥 ∈ ({ (∏t𝐹)} ∪ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣))) ↦ (𝑥X𝑘𝐴 𝑆)))
19 mptun 6236 . . . . . . . . 9 (𝑥 ∈ ({ (∏t𝐹)} ∪ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣))) ↦ (𝑥X𝑘𝐴 𝑆)) = ((𝑥 ∈ { (∏t𝐹)} ↦ (𝑥X𝑘𝐴 𝑆)) ∪ (𝑥 ∈ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣)) ↦ (𝑥X𝑘𝐴 𝑆)))
2019rneqi 5553 . . . . . . . 8 ran (𝑥 ∈ ({ (∏t𝐹)} ∪ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣))) ↦ (𝑥X𝑘𝐴 𝑆)) = ran ((𝑥 ∈ { (∏t𝐹)} ↦ (𝑥X𝑘𝐴 𝑆)) ∪ (𝑥 ∈ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣)) ↦ (𝑥X𝑘𝐴 𝑆)))
21 rnun 5752 . . . . . . . 8 ran ((𝑥 ∈ { (∏t𝐹)} ↦ (𝑥X𝑘𝐴 𝑆)) ∪ (𝑥 ∈ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣)) ↦ (𝑥X𝑘𝐴 𝑆))) = (ran (𝑥 ∈ { (∏t𝐹)} ↦ (𝑥X𝑘𝐴 𝑆)) ∪ ran (𝑥 ∈ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣)) ↦ (𝑥X𝑘𝐴 𝑆)))
2220, 21eqtri 2828 . . . . . . 7 ran (𝑥 ∈ ({ (∏t𝐹)} ∪ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣))) ↦ (𝑥X𝑘𝐴 𝑆)) = (ran (𝑥 ∈ { (∏t𝐹)} ↦ (𝑥X𝑘𝐴 𝑆)) ∪ ran (𝑥 ∈ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣)) ↦ (𝑥X𝑘𝐴 𝑆)))
23 elsni 4387 . . . . . . . . . . . . . 14 (𝑥 ∈ { (∏t𝐹)} → 𝑥 = (∏t𝐹))
2423ineq1d 4012 . . . . . . . . . . . . 13 (𝑥 ∈ { (∏t𝐹)} → (𝑥X𝑘𝐴 𝑆) = ( (∏t𝐹) ∩ X𝑘𝐴 𝑆))
2524mpteq2ia 4934 . . . . . . . . . . . 12 (𝑥 ∈ { (∏t𝐹)} ↦ (𝑥X𝑘𝐴 𝑆)) = (𝑥 ∈ { (∏t𝐹)} ↦ ( (∏t𝐹) ∩ X𝑘𝐴 𝑆))
26 fvex 6421 . . . . . . . . . . . . . 14 (∏t𝐹) ∈ V
2726uniex 7183 . . . . . . . . . . . . 13 (∏t𝐹) ∈ V
2827inex1 4994 . . . . . . . . . . . . 13 ( (∏t𝐹) ∩ X𝑘𝐴 𝑆) ∈ V
29 fmptsn 6658 . . . . . . . . . . . . 13 (( (∏t𝐹) ∈ V ∧ ( (∏t𝐹) ∩ X𝑘𝐴 𝑆) ∈ V) → {⟨ (∏t𝐹), ( (∏t𝐹) ∩ X𝑘𝐴 𝑆)⟩} = (𝑥 ∈ { (∏t𝐹)} ↦ ( (∏t𝐹) ∩ X𝑘𝐴 𝑆)))
3027, 28, 29mp2an 675 . . . . . . . . . . . 12 {⟨ (∏t𝐹), ( (∏t𝐹) ∩ X𝑘𝐴 𝑆)⟩} = (𝑥 ∈ { (∏t𝐹)} ↦ ( (∏t𝐹) ∩ X𝑘𝐴 𝑆))
3125, 30eqtr4i 2831 . . . . . . . . . . 11 (𝑥 ∈ { (∏t𝐹)} ↦ (𝑥X𝑘𝐴 𝑆)) = {⟨ (∏t𝐹), ( (∏t𝐹) ∩ X𝑘𝐴 𝑆)⟩}
3231rneqi 5553 . . . . . . . . . 10 ran (𝑥 ∈ { (∏t𝐹)} ↦ (𝑥X𝑘𝐴 𝑆)) = ran {⟨ (∏t𝐹), ( (∏t𝐹) ∩ X𝑘𝐴 𝑆)⟩}
3327rnsnop 5829 . . . . . . . . . 10 ran {⟨ (∏t𝐹), ( (∏t𝐹) ∩ X𝑘𝐴 𝑆)⟩} = {( (∏t𝐹) ∩ X𝑘𝐴 𝑆)}
3432, 33eqtri 2828 . . . . . . . . 9 ran (𝑥 ∈ { (∏t𝐹)} ↦ (𝑥X𝑘𝐴 𝑆)) = {( (∏t𝐹) ∩ X𝑘𝐴 𝑆)}
35 ptrest.1 . . . . . . . . . . . . . . . 16 (𝜑𝐹:𝐴⟶Top)
3635ffvelrnda 6581 . . . . . . . . . . . . . . 15 ((𝜑𝑘𝐴) → (𝐹𝑘) ∈ Top)
37 inss1 4029 . . . . . . . . . . . . . . 15 ( (𝐹𝑘) ∩ 𝑆) ⊆ (𝐹𝑘)
38 eqid 2806 . . . . . . . . . . . . . . . 16 (𝐹𝑘) = (𝐹𝑘)
3938restuni 21180 . . . . . . . . . . . . . . 15 (((𝐹𝑘) ∈ Top ∧ ( (𝐹𝑘) ∩ 𝑆) ⊆ (𝐹𝑘)) → ( (𝐹𝑘) ∩ 𝑆) = ((𝐹𝑘) ↾t ( (𝐹𝑘) ∩ 𝑆)))
4036, 37, 39sylancl 576 . . . . . . . . . . . . . 14 ((𝜑𝑘𝐴) → ( (𝐹𝑘) ∩ 𝑆) = ((𝐹𝑘) ↾t ( (𝐹𝑘) ∩ 𝑆)))
41 fvex 6421 . . . . . . . . . . . . . . . . 17 (𝐹𝑘) ∈ V
4238restin 21184 . . . . . . . . . . . . . . . . 17 (((𝐹𝑘) ∈ V ∧ 𝑆𝑊) → ((𝐹𝑘) ↾t 𝑆) = ((𝐹𝑘) ↾t (𝑆 (𝐹𝑘))))
4341, 13, 42sylancr 577 . . . . . . . . . . . . . . . 16 ((𝜑𝑘𝐴) → ((𝐹𝑘) ↾t 𝑆) = ((𝐹𝑘) ↾t (𝑆 (𝐹𝑘))))
44 incom 4004 . . . . . . . . . . . . . . . . 17 (𝑆 (𝐹𝑘)) = ( (𝐹𝑘) ∩ 𝑆)
4544oveq2i 6885 . . . . . . . . . . . . . . . 16 ((𝐹𝑘) ↾t (𝑆 (𝐹𝑘))) = ((𝐹𝑘) ↾t ( (𝐹𝑘) ∩ 𝑆))
4643, 45syl6eq 2856 . . . . . . . . . . . . . . 15 ((𝜑𝑘𝐴) → ((𝐹𝑘) ↾t 𝑆) = ((𝐹𝑘) ↾t ( (𝐹𝑘) ∩ 𝑆)))
4746unieqd 4640 . . . . . . . . . . . . . 14 ((𝜑𝑘𝐴) → ((𝐹𝑘) ↾t 𝑆) = ((𝐹𝑘) ↾t ( (𝐹𝑘) ∩ 𝑆)))
4840, 47eqtr4d 2843 . . . . . . . . . . . . 13 ((𝜑𝑘𝐴) → ( (𝐹𝑘) ∩ 𝑆) = ((𝐹𝑘) ↾t 𝑆))
4948ixpeq2dva 8160 . . . . . . . . . . . 12 (𝜑X𝑘𝐴 ( (𝐹𝑘) ∩ 𝑆) = X𝑘𝐴 ((𝐹𝑘) ↾t 𝑆))
50 ixpin 8170 . . . . . . . . . . . 12 X𝑘𝐴 ( (𝐹𝑘) ∩ 𝑆) = (X𝑘𝐴 (𝐹𝑘) ∩ X𝑘𝐴 𝑆)
51 nfcv 2948 . . . . . . . . . . . . . 14 𝑦 ((𝐹𝑘) ↾t 𝑆)
52 nfcv 2948 . . . . . . . . . . . . . . . 16 𝑘(𝐹𝑦)
53 nfcv 2948 . . . . . . . . . . . . . . . 16 𝑘t
54 nfcsb1v 3744 . . . . . . . . . . . . . . . 16 𝑘𝑦 / 𝑘𝑆
5552, 53, 54nfov 6904 . . . . . . . . . . . . . . 15 𝑘((𝐹𝑦) ↾t 𝑦 / 𝑘𝑆)
5655nfuni 4636 . . . . . . . . . . . . . 14 𝑘 ((𝐹𝑦) ↾t 𝑦 / 𝑘𝑆)
57 fveq2 6408 . . . . . . . . . . . . . . . 16 (𝑘 = 𝑦 → (𝐹𝑘) = (𝐹𝑦))
58 csbeq1a 3737 . . . . . . . . . . . . . . . 16 (𝑘 = 𝑦𝑆 = 𝑦 / 𝑘𝑆)
5957, 58oveq12d 6892 . . . . . . . . . . . . . . 15 (𝑘 = 𝑦 → ((𝐹𝑘) ↾t 𝑆) = ((𝐹𝑦) ↾t 𝑦 / 𝑘𝑆))
6059unieqd 4640 . . . . . . . . . . . . . 14 (𝑘 = 𝑦 ((𝐹𝑘) ↾t 𝑆) = ((𝐹𝑦) ↾t 𝑦 / 𝑘𝑆))
6151, 56, 60cbvixp 8162 . . . . . . . . . . . . 13 X𝑘𝐴 ((𝐹𝑘) ↾t 𝑆) = X𝑦𝐴 ((𝐹𝑦) ↾t 𝑦 / 𝑘𝑆)
62 ixpeq2 8159 . . . . . . . . . . . . . 14 (∀𝑦𝐴 ((𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))‘𝑦) = ((𝐹𝑦) ↾t 𝑦 / 𝑘𝑆) → X𝑦𝐴 ((𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))‘𝑦) = X𝑦𝐴 ((𝐹𝑦) ↾t 𝑦 / 𝑘𝑆))
63 ovex 6906 . . . . . . . . . . . . . . . 16 ((𝐹𝑦) ↾t 𝑦 / 𝑘𝑆) ∈ V
64 nfcv 2948 . . . . . . . . . . . . . . . . 17 𝑘𝑦
65 eqid 2806 . . . . . . . . . . . . . . . . 17 (𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆)) = (𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))
6664, 55, 59, 65fvmptf 6522 . . . . . . . . . . . . . . . 16 ((𝑦𝐴 ∧ ((𝐹𝑦) ↾t 𝑦 / 𝑘𝑆) ∈ V) → ((𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))‘𝑦) = ((𝐹𝑦) ↾t 𝑦 / 𝑘𝑆))
6763, 66mpan2 674 . . . . . . . . . . . . . . 15 (𝑦𝐴 → ((𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))‘𝑦) = ((𝐹𝑦) ↾t 𝑦 / 𝑘𝑆))
6867unieqd 4640 . . . . . . . . . . . . . 14 (𝑦𝐴 ((𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))‘𝑦) = ((𝐹𝑦) ↾t 𝑦 / 𝑘𝑆))
6962, 68mprg 3114 . . . . . . . . . . . . 13 X𝑦𝐴 ((𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))‘𝑦) = X𝑦𝐴 ((𝐹𝑦) ↾t 𝑦 / 𝑘𝑆)
7061, 69eqtr4i 2831 . . . . . . . . . . . 12 X𝑘𝐴 ((𝐹𝑘) ↾t 𝑆) = X𝑦𝐴 ((𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))‘𝑦)
7149, 50, 703eqtr3g 2863 . . . . . . . . . . 11 (𝜑 → (X𝑘𝐴 (𝐹𝑘) ∩ X𝑘𝐴 𝑆) = X𝑦𝐴 ((𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))‘𝑦))
72 eqid 2806 . . . . . . . . . . . . . 14 (∏t𝐹) = (∏t𝐹)
7372ptuni 21611 . . . . . . . . . . . . 13 ((𝐴𝑉𝐹:𝐴⟶Top) → X𝑘𝐴 (𝐹𝑘) = (∏t𝐹))
743, 35, 73syl2anc 575 . . . . . . . . . . . 12 (𝜑X𝑘𝐴 (𝐹𝑘) = (∏t𝐹))
7574ineq1d 4012 . . . . . . . . . . 11 (𝜑 → (X𝑘𝐴 (𝐹𝑘) ∩ X𝑘𝐴 𝑆) = ( (∏t𝐹) ∩ X𝑘𝐴 𝑆))
76 resttop 21178 . . . . . . . . . . . . . 14 (((𝐹𝑘) ∈ Top ∧ 𝑆𝑊) → ((𝐹𝑘) ↾t 𝑆) ∈ Top)
7736, 13, 76syl2anc 575 . . . . . . . . . . . . 13 ((𝜑𝑘𝐴) → ((𝐹𝑘) ↾t 𝑆) ∈ Top)
7877fmpttd 6607 . . . . . . . . . . . 12 (𝜑 → (𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆)):𝐴⟶Top)
79 eqid 2806 . . . . . . . . . . . . 13 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) = (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆)))
8079ptuni 21611 . . . . . . . . . . . 12 ((𝐴𝑉 ∧ (𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆)):𝐴⟶Top) → X𝑦𝐴 ((𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))‘𝑦) = (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))))
813, 78, 80syl2anc 575 . . . . . . . . . . 11 (𝜑X𝑦𝐴 ((𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))‘𝑦) = (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))))
8271, 75, 813eqtr3d 2848 . . . . . . . . . 10 (𝜑 → ( (∏t𝐹) ∩ X𝑘𝐴 𝑆) = (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))))
8382sneqd 4382 . . . . . . . . 9 (𝜑 → {( (∏t𝐹) ∩ X𝑘𝐴 𝑆)} = { (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆)))})
8434, 83syl5eq 2852 . . . . . . . 8 (𝜑 → ran (𝑥 ∈ { (∏t𝐹)} ↦ (𝑥X𝑘𝐴 𝑆)) = { (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆)))})
85 vex 3394 . . . . . . . . . . . . . . . . . . . . . . . 24 𝑤 ∈ V
8685elixp 8152 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑤X𝑘𝐴 𝑆 ↔ (𝑤 Fn 𝐴 ∧ ∀𝑘𝐴 (𝑤𝑘) ∈ 𝑆))
8786simprbi 486 . . . . . . . . . . . . . . . . . . . . . 22 (𝑤X𝑘𝐴 𝑆 → ∀𝑘𝐴 (𝑤𝑘) ∈ 𝑆)
88 nfcsb1v 3744 . . . . . . . . . . . . . . . . . . . . . . . 24 𝑘𝑢 / 𝑘𝑆
8988nfel2 2965 . . . . . . . . . . . . . . . . . . . . . . 23 𝑘(𝑤𝑢) ∈ 𝑢 / 𝑘𝑆
90 fveq2 6408 . . . . . . . . . . . . . . . . . . . . . . . 24 (𝑘 = 𝑢 → (𝑤𝑘) = (𝑤𝑢))
91 csbeq1a 3737 . . . . . . . . . . . . . . . . . . . . . . . 24 (𝑘 = 𝑢𝑆 = 𝑢 / 𝑘𝑆)
9290, 91eleq12d 2879 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑘 = 𝑢 → ((𝑤𝑘) ∈ 𝑆 ↔ (𝑤𝑢) ∈ 𝑢 / 𝑘𝑆))
9389, 92rspc 3496 . . . . . . . . . . . . . . . . . . . . . 22 (𝑢𝐴 → (∀𝑘𝐴 (𝑤𝑘) ∈ 𝑆 → (𝑤𝑢) ∈ 𝑢 / 𝑘𝑆))
9487, 93syl5 34 . . . . . . . . . . . . . . . . . . . . 21 (𝑢𝐴 → (𝑤X𝑘𝐴 𝑆 → (𝑤𝑢) ∈ 𝑢 / 𝑘𝑆))
9594pm4.71d 553 . . . . . . . . . . . . . . . . . . . 20 (𝑢𝐴 → (𝑤X𝑘𝐴 𝑆 ↔ (𝑤X𝑘𝐴 𝑆 ∧ (𝑤𝑢) ∈ 𝑢 / 𝑘𝑆)))
9695anbi2d 616 . . . . . . . . . . . . . . . . . . 19 (𝑢𝐴 → (((𝑤 (∏t𝐹) ∧ (𝑤𝑢) ∈ 𝑣) ∧ 𝑤X𝑘𝐴 𝑆) ↔ ((𝑤 (∏t𝐹) ∧ (𝑤𝑢) ∈ 𝑣) ∧ (𝑤X𝑘𝐴 𝑆 ∧ (𝑤𝑢) ∈ 𝑢 / 𝑘𝑆))))
97 an4 638 . . . . . . . . . . . . . . . . . . . 20 (((𝑤 (∏t𝐹) ∧ (𝑤𝑢) ∈ 𝑣) ∧ (𝑤X𝑘𝐴 𝑆 ∧ (𝑤𝑢) ∈ 𝑢 / 𝑘𝑆)) ↔ ((𝑤 (∏t𝐹) ∧ 𝑤X𝑘𝐴 𝑆) ∧ ((𝑤𝑢) ∈ 𝑣 ∧ (𝑤𝑢) ∈ 𝑢 / 𝑘𝑆)))
98 elin 3995 . . . . . . . . . . . . . . . . . . . . 21 ((𝑤𝑢) ∈ (𝑣𝑢 / 𝑘𝑆) ↔ ((𝑤𝑢) ∈ 𝑣 ∧ (𝑤𝑢) ∈ 𝑢 / 𝑘𝑆))
9998anbi2i 611 . . . . . . . . . . . . . . . . . . . 20 (((𝑤 (∏t𝐹) ∧ 𝑤X𝑘𝐴 𝑆) ∧ (𝑤𝑢) ∈ (𝑣𝑢 / 𝑘𝑆)) ↔ ((𝑤 (∏t𝐹) ∧ 𝑤X𝑘𝐴 𝑆) ∧ ((𝑤𝑢) ∈ 𝑣 ∧ (𝑤𝑢) ∈ 𝑢 / 𝑘𝑆)))
10097, 99bitr4i 269 . . . . . . . . . . . . . . . . . . 19 (((𝑤 (∏t𝐹) ∧ (𝑤𝑢) ∈ 𝑣) ∧ (𝑤X𝑘𝐴 𝑆 ∧ (𝑤𝑢) ∈ 𝑢 / 𝑘𝑆)) ↔ ((𝑤 (∏t𝐹) ∧ 𝑤X𝑘𝐴 𝑆) ∧ (𝑤𝑢) ∈ (𝑣𝑢 / 𝑘𝑆)))
10196, 100syl6bb 278 . . . . . . . . . . . . . . . . . 18 (𝑢𝐴 → (((𝑤 (∏t𝐹) ∧ (𝑤𝑢) ∈ 𝑣) ∧ 𝑤X𝑘𝐴 𝑆) ↔ ((𝑤 (∏t𝐹) ∧ 𝑤X𝑘𝐴 𝑆) ∧ (𝑤𝑢) ∈ (𝑣𝑢 / 𝑘𝑆))))
102 elin 3995 . . . . . . . . . . . . . . . . . . . 20 (𝑤 ∈ ( (∏t𝐹) ∩ X𝑘𝐴 𝑆) ↔ (𝑤 (∏t𝐹) ∧ 𝑤X𝑘𝐴 𝑆))
10382eleq2d 2871 . . . . . . . . . . . . . . . . . . . 20 (𝜑 → (𝑤 ∈ ( (∏t𝐹) ∩ X𝑘𝐴 𝑆) ↔ 𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆)))))
104102, 103syl5bbr 276 . . . . . . . . . . . . . . . . . . 19 (𝜑 → ((𝑤 (∏t𝐹) ∧ 𝑤X𝑘𝐴 𝑆) ↔ 𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆)))))
105104anbi1d 617 . . . . . . . . . . . . . . . . . 18 (𝜑 → (((𝑤 (∏t𝐹) ∧ 𝑤X𝑘𝐴 𝑆) ∧ (𝑤𝑢) ∈ (𝑣𝑢 / 𝑘𝑆)) ↔ (𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ∧ (𝑤𝑢) ∈ (𝑣𝑢 / 𝑘𝑆))))
106101, 105sylan9bbr 502 . . . . . . . . . . . . . . . . 17 ((𝜑𝑢𝐴) → (((𝑤 (∏t𝐹) ∧ (𝑤𝑢) ∈ 𝑣) ∧ 𝑤X𝑘𝐴 𝑆) ↔ (𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ∧ (𝑤𝑢) ∈ (𝑣𝑢 / 𝑘𝑆))))
107106abbidv 2925 . . . . . . . . . . . . . . . 16 ((𝜑𝑢𝐴) → {𝑤 ∣ ((𝑤 (∏t𝐹) ∧ (𝑤𝑢) ∈ 𝑣) ∧ 𝑤X𝑘𝐴 𝑆)} = {𝑤 ∣ (𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ∧ (𝑤𝑢) ∈ (𝑣𝑢 / 𝑘𝑆))})
108 eqid 2806 . . . . . . . . . . . . . . . . . . . 20 (𝑤 (∏t𝐹) ↦ (𝑤𝑢)) = (𝑤 (∏t𝐹) ↦ (𝑤𝑢))
109108mptpreima 5842 . . . . . . . . . . . . . . . . . . 19 ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣) = {𝑤 (∏t𝐹) ∣ (𝑤𝑢) ∈ 𝑣}
110 df-rab 3105 . . . . . . . . . . . . . . . . . . 19 {𝑤 (∏t𝐹) ∣ (𝑤𝑢) ∈ 𝑣} = {𝑤 ∣ (𝑤 (∏t𝐹) ∧ (𝑤𝑢) ∈ 𝑣)}
111109, 110eqtr2i 2829 . . . . . . . . . . . . . . . . . 18 {𝑤 ∣ (𝑤 (∏t𝐹) ∧ (𝑤𝑢) ∈ 𝑣)} = ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣)
112 abid2 2929 . . . . . . . . . . . . . . . . . 18 {𝑤𝑤X𝑘𝐴 𝑆} = X𝑘𝐴 𝑆
113111, 112ineq12i 4011 . . . . . . . . . . . . . . . . 17 ({𝑤 ∣ (𝑤 (∏t𝐹) ∧ (𝑤𝑢) ∈ 𝑣)} ∩ {𝑤𝑤X𝑘𝐴 𝑆}) = (((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣) ∩ X𝑘𝐴 𝑆)
114 inab 4096 . . . . . . . . . . . . . . . . 17 ({𝑤 ∣ (𝑤 (∏t𝐹) ∧ (𝑤𝑢) ∈ 𝑣)} ∩ {𝑤𝑤X𝑘𝐴 𝑆}) = {𝑤 ∣ ((𝑤 (∏t𝐹) ∧ (𝑤𝑢) ∈ 𝑣) ∧ 𝑤X𝑘𝐴 𝑆)}
115113, 114eqtr3i 2830 . . . . . . . . . . . . . . . 16 (((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣) ∩ X𝑘𝐴 𝑆) = {𝑤 ∣ ((𝑤 (∏t𝐹) ∧ (𝑤𝑢) ∈ 𝑣) ∧ 𝑤X𝑘𝐴 𝑆)}
116 eqid 2806 . . . . . . . . . . . . . . . . . 18 (𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ↦ (𝑤𝑢)) = (𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ↦ (𝑤𝑢))
117116mptpreima 5842 . . . . . . . . . . . . . . . . 17 ((𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ↦ (𝑤𝑢)) “ (𝑣𝑢 / 𝑘𝑆)) = {𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ∣ (𝑤𝑢) ∈ (𝑣𝑢 / 𝑘𝑆)}
118 df-rab 3105 . . . . . . . . . . . . . . . . 17 {𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ∣ (𝑤𝑢) ∈ (𝑣𝑢 / 𝑘𝑆)} = {𝑤 ∣ (𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ∧ (𝑤𝑢) ∈ (𝑣𝑢 / 𝑘𝑆))}
119117, 118eqtri 2828 . . . . . . . . . . . . . . . 16 ((𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ↦ (𝑤𝑢)) “ (𝑣𝑢 / 𝑘𝑆)) = {𝑤 ∣ (𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ∧ (𝑤𝑢) ∈ (𝑣𝑢 / 𝑘𝑆))}
120107, 115, 1193eqtr4g 2865 . . . . . . . . . . . . . . 15 ((𝜑𝑢𝐴) → (((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣) ∩ X𝑘𝐴 𝑆) = ((𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ↦ (𝑤𝑢)) “ (𝑣𝑢 / 𝑘𝑆)))
121120eqeq2d 2816 . . . . . . . . . . . . . 14 ((𝜑𝑢𝐴) → (𝑥 = (((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣) ∩ X𝑘𝐴 𝑆) ↔ 𝑥 = ((𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ↦ (𝑤𝑢)) “ (𝑣𝑢 / 𝑘𝑆))))
122121rexbidv 3240 . . . . . . . . . . . . 13 ((𝜑𝑢𝐴) → (∃𝑣 ∈ (𝐹𝑢)𝑥 = (((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣) ∩ X𝑘𝐴 𝑆) ↔ ∃𝑣 ∈ (𝐹𝑢)𝑥 = ((𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ↦ (𝑤𝑢)) “ (𝑣𝑢 / 𝑘𝑆))))
123 ineq1 4006 . . . . . . . . . . . . . . . 16 (𝑣 = 𝑦 → (𝑣𝑢 / 𝑘𝑆) = (𝑦𝑢 / 𝑘𝑆))
124123imaeq2d 5676 . . . . . . . . . . . . . . 15 (𝑣 = 𝑦 → ((𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ↦ (𝑤𝑢)) “ (𝑣𝑢 / 𝑘𝑆)) = ((𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ↦ (𝑤𝑢)) “ (𝑦𝑢 / 𝑘𝑆)))
125124eqeq2d 2816 . . . . . . . . . . . . . 14 (𝑣 = 𝑦 → (𝑥 = ((𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ↦ (𝑤𝑢)) “ (𝑣𝑢 / 𝑘𝑆)) ↔ 𝑥 = ((𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ↦ (𝑤𝑢)) “ (𝑦𝑢 / 𝑘𝑆))))
126125cbvrexv 3361 . . . . . . . . . . . . 13 (∃𝑣 ∈ (𝐹𝑢)𝑥 = ((𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ↦ (𝑤𝑢)) “ (𝑣𝑢 / 𝑘𝑆)) ↔ ∃𝑦 ∈ (𝐹𝑢)𝑥 = ((𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ↦ (𝑤𝑢)) “ (𝑦𝑢 / 𝑘𝑆)))
127122, 126syl6bb 278 . . . . . . . . . . . 12 ((𝜑𝑢𝐴) → (∃𝑣 ∈ (𝐹𝑢)𝑥 = (((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣) ∩ X𝑘𝐴 𝑆) ↔ ∃𝑦 ∈ (𝐹𝑢)𝑥 = ((𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ↦ (𝑤𝑢)) “ (𝑦𝑢 / 𝑘𝑆))))
128 vex 3394 . . . . . . . . . . . . . . 15 𝑦 ∈ V
129128inex1 4994 . . . . . . . . . . . . . 14 (𝑦𝑢 / 𝑘𝑆) ∈ V
130129a1i 11 . . . . . . . . . . . . 13 (((𝜑𝑢𝐴) ∧ 𝑦 ∈ (𝐹𝑢)) → (𝑦𝑢 / 𝑘𝑆) ∈ V)
131 ovex 6906 . . . . . . . . . . . . . . . . 17 ((𝐹𝑢) ↾t 𝑢 / 𝑘𝑆) ∈ V
132 nfcv 2948 . . . . . . . . . . . . . . . . . 18 𝑘𝑢
133 nfcv 2948 . . . . . . . . . . . . . . . . . . 19 𝑘(𝐹𝑢)
134133, 53, 88nfov 6904 . . . . . . . . . . . . . . . . . 18 𝑘((𝐹𝑢) ↾t 𝑢 / 𝑘𝑆)
135 fveq2 6408 . . . . . . . . . . . . . . . . . . 19 (𝑘 = 𝑢 → (𝐹𝑘) = (𝐹𝑢))
136135, 91oveq12d 6892 . . . . . . . . . . . . . . . . . 18 (𝑘 = 𝑢 → ((𝐹𝑘) ↾t 𝑆) = ((𝐹𝑢) ↾t 𝑢 / 𝑘𝑆))
137132, 134, 136, 65fvmptf 6522 . . . . . . . . . . . . . . . . 17 ((𝑢𝐴 ∧ ((𝐹𝑢) ↾t 𝑢 / 𝑘𝑆) ∈ V) → ((𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))‘𝑢) = ((𝐹𝑢) ↾t 𝑢 / 𝑘𝑆))
138131, 137mpan2 674 . . . . . . . . . . . . . . . 16 (𝑢𝐴 → ((𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))‘𝑢) = ((𝐹𝑢) ↾t 𝑢 / 𝑘𝑆))
139138adantl 469 . . . . . . . . . . . . . . 15 ((𝜑𝑢𝐴) → ((𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))‘𝑢) = ((𝐹𝑢) ↾t 𝑢 / 𝑘𝑆))
140139eleq2d 2871 . . . . . . . . . . . . . 14 ((𝜑𝑢𝐴) → (𝑣 ∈ ((𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))‘𝑢) ↔ 𝑣 ∈ ((𝐹𝑢) ↾t 𝑢 / 𝑘𝑆)))
141 nfv 2005 . . . . . . . . . . . . . . . . 17 𝑘(𝜑𝑢𝐴)
142 nfcsb1v 3744 . . . . . . . . . . . . . . . . . 18 𝑘𝑢 / 𝑘𝑊
14388, 142nfel 2961 . . . . . . . . . . . . . . . . 17 𝑘𝑢 / 𝑘𝑆𝑢 / 𝑘𝑊
144141, 143nfim 1987 . . . . . . . . . . . . . . . 16 𝑘((𝜑𝑢𝐴) → 𝑢 / 𝑘𝑆𝑢 / 𝑘𝑊)
145 eleq1w 2868 . . . . . . . . . . . . . . . . . 18 (𝑘 = 𝑢 → (𝑘𝐴𝑢𝐴))
146145anbi2d 616 . . . . . . . . . . . . . . . . 17 (𝑘 = 𝑢 → ((𝜑𝑘𝐴) ↔ (𝜑𝑢𝐴)))
147 csbeq1a 3737 . . . . . . . . . . . . . . . . . 18 (𝑘 = 𝑢𝑊 = 𝑢 / 𝑘𝑊)
14891, 147eleq12d 2879 . . . . . . . . . . . . . . . . 17 (𝑘 = 𝑢 → (𝑆𝑊𝑢 / 𝑘𝑆𝑢 / 𝑘𝑊))
149146, 148imbi12d 335 . . . . . . . . . . . . . . . 16 (𝑘 = 𝑢 → (((𝜑𝑘𝐴) → 𝑆𝑊) ↔ ((𝜑𝑢𝐴) → 𝑢 / 𝑘𝑆𝑢 / 𝑘𝑊)))
150144, 149, 13chvar 2436 . . . . . . . . . . . . . . 15 ((𝜑𝑢𝐴) → 𝑢 / 𝑘𝑆𝑢 / 𝑘𝑊)
151 elrest 16293 . . . . . . . . . . . . . . 15 (((𝐹𝑢) ∈ V ∧ 𝑢 / 𝑘𝑆𝑢 / 𝑘𝑊) → (𝑣 ∈ ((𝐹𝑢) ↾t 𝑢 / 𝑘𝑆) ↔ ∃𝑦 ∈ (𝐹𝑢)𝑣 = (𝑦𝑢 / 𝑘𝑆)))
1524, 150, 151sylancr 577 . . . . . . . . . . . . . 14 ((𝜑𝑢𝐴) → (𝑣 ∈ ((𝐹𝑢) ↾t 𝑢 / 𝑘𝑆) ↔ ∃𝑦 ∈ (𝐹𝑢)𝑣 = (𝑦𝑢 / 𝑘𝑆)))
153140, 152bitrd 270 . . . . . . . . . . . . 13 ((𝜑𝑢𝐴) → (𝑣 ∈ ((𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))‘𝑢) ↔ ∃𝑦 ∈ (𝐹𝑢)𝑣 = (𝑦𝑢 / 𝑘𝑆)))
154 imaeq2 5672 . . . . . . . . . . . . . . 15 (𝑣 = (𝑦𝑢 / 𝑘𝑆) → ((𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ↦ (𝑤𝑢)) “ 𝑣) = ((𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ↦ (𝑤𝑢)) “ (𝑦𝑢 / 𝑘𝑆)))
155154eqeq2d 2816 . . . . . . . . . . . . . 14 (𝑣 = (𝑦𝑢 / 𝑘𝑆) → (𝑥 = ((𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ↦ (𝑤𝑢)) “ 𝑣) ↔ 𝑥 = ((𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ↦ (𝑤𝑢)) “ (𝑦𝑢 / 𝑘𝑆))))
156155adantl 469 . . . . . . . . . . . . 13 (((𝜑𝑢𝐴) ∧ 𝑣 = (𝑦𝑢 / 𝑘𝑆)) → (𝑥 = ((𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ↦ (𝑤𝑢)) “ 𝑣) ↔ 𝑥 = ((𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ↦ (𝑤𝑢)) “ (𝑦𝑢 / 𝑘𝑆))))
157130, 153, 156rexxfr2d 5080 . . . . . . . . . . . 12 ((𝜑𝑢𝐴) → (∃𝑣 ∈ ((𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))‘𝑢)𝑥 = ((𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ↦ (𝑤𝑢)) “ 𝑣) ↔ ∃𝑦 ∈ (𝐹𝑢)𝑥 = ((𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ↦ (𝑤𝑢)) “ (𝑦𝑢 / 𝑘𝑆))))
158127, 157bitr4d 273 . . . . . . . . . . 11 ((𝜑𝑢𝐴) → (∃𝑣 ∈ (𝐹𝑢)𝑥 = (((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣) ∩ X𝑘𝐴 𝑆) ↔ ∃𝑣 ∈ ((𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))‘𝑢)𝑥 = ((𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ↦ (𝑤𝑢)) “ 𝑣)))
159158rexbidva 3237 . . . . . . . . . 10 (𝜑 → (∃𝑢𝐴𝑣 ∈ (𝐹𝑢)𝑥 = (((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣) ∩ X𝑘𝐴 𝑆) ↔ ∃𝑢𝐴𝑣 ∈ ((𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))‘𝑢)𝑥 = ((𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ↦ (𝑤𝑢)) “ 𝑣)))
160159abbidv 2925 . . . . . . . . 9 (𝜑 → {𝑥 ∣ ∃𝑢𝐴𝑣 ∈ (𝐹𝑢)𝑥 = (((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣) ∩ X𝑘𝐴 𝑆)} = {𝑥 ∣ ∃𝑢𝐴𝑣 ∈ ((𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))‘𝑢)𝑥 = ((𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ↦ (𝑤𝑢)) “ 𝑣)})
161 eqid 2806 . . . . . . . . . . 11 (𝑥 ∈ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣)) ↦ (𝑥X𝑘𝐴 𝑆)) = (𝑥 ∈ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣)) ↦ (𝑥X𝑘𝐴 𝑆))
162161rnmpt 5572 . . . . . . . . . 10 ran (𝑥 ∈ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣)) ↦ (𝑥X𝑘𝐴 𝑆)) = {𝑦 ∣ ∃𝑥 ∈ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣))𝑦 = (𝑥X𝑘𝐴 𝑆)}
163 nfre1 3192 . . . . . . . . . . 11 𝑥𝑥 ∈ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣))𝑦 = (𝑥X𝑘𝐴 𝑆)
164 nfv 2005 . . . . . . . . . . 11 𝑦𝑢𝐴𝑣 ∈ (𝐹𝑢)𝑥 = (((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣) ∩ X𝑘𝐴 𝑆)
16527mptex 6711 . . . . . . . . . . . . . . . 16 (𝑤 (∏t𝐹) ↦ (𝑤𝑢)) ∈ V
166165cnvex 7343 . . . . . . . . . . . . . . 15 (𝑤 (∏t𝐹) ↦ (𝑤𝑢)) ∈ V
167 imaexg 7333 . . . . . . . . . . . . . . 15 ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) ∈ V → ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣) ∈ V)
168166, 167ax-mp 5 . . . . . . . . . . . . . 14 ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣) ∈ V
169168rgen2w 3113 . . . . . . . . . . . . 13 𝑢𝐴𝑣 ∈ (𝐹𝑢)((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣) ∈ V
170 ineq1 4006 . . . . . . . . . . . . . . 15 (𝑥 = ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣) → (𝑥X𝑘𝐴 𝑆) = (((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣) ∩ X𝑘𝐴 𝑆))
171170eqeq2d 2816 . . . . . . . . . . . . . 14 (𝑥 = ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣) → (𝑦 = (𝑥X𝑘𝐴 𝑆) ↔ 𝑦 = (((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣) ∩ X𝑘𝐴 𝑆)))
1726, 171rexrnmpt2 7006 . . . . . . . . . . . . 13 (∀𝑢𝐴𝑣 ∈ (𝐹𝑢)((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣) ∈ V → (∃𝑥 ∈ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣))𝑦 = (𝑥X𝑘𝐴 𝑆) ↔ ∃𝑢𝐴𝑣 ∈ (𝐹𝑢)𝑦 = (((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣) ∩ X𝑘𝐴 𝑆)))
173169, 172ax-mp 5 . . . . . . . . . . . 12 (∃𝑥 ∈ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣))𝑦 = (𝑥X𝑘𝐴 𝑆) ↔ ∃𝑢𝐴𝑣 ∈ (𝐹𝑢)𝑦 = (((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣) ∩ X𝑘𝐴 𝑆))
174 eqeq1 2810 . . . . . . . . . . . . 13 (𝑦 = 𝑥 → (𝑦 = (((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣) ∩ X𝑘𝐴 𝑆) ↔ 𝑥 = (((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣) ∩ X𝑘𝐴 𝑆)))
1751742rexbidv 3245 . . . . . . . . . . . 12 (𝑦 = 𝑥 → (∃𝑢𝐴𝑣 ∈ (𝐹𝑢)𝑦 = (((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣) ∩ X𝑘𝐴 𝑆) ↔ ∃𝑢𝐴𝑣 ∈ (𝐹𝑢)𝑥 = (((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣) ∩ X𝑘𝐴 𝑆)))
176173, 175syl5bb 274 . . . . . . . . . . 11 (𝑦 = 𝑥 → (∃𝑥 ∈ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣))𝑦 = (𝑥X𝑘𝐴 𝑆) ↔ ∃𝑢𝐴𝑣 ∈ (𝐹𝑢)𝑥 = (((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣) ∩ X𝑘𝐴 𝑆)))
177163, 164, 176cbvab 2930 . . . . . . . . . 10 {𝑦 ∣ ∃𝑥 ∈ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣))𝑦 = (𝑥X𝑘𝐴 𝑆)} = {𝑥 ∣ ∃𝑢𝐴𝑣 ∈ (𝐹𝑢)𝑥 = (((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣) ∩ X𝑘𝐴 𝑆)}
178162, 177eqtri 2828 . . . . . . . . 9 ran (𝑥 ∈ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣)) ↦ (𝑥X𝑘𝐴 𝑆)) = {𝑥 ∣ ∃𝑢𝐴𝑣 ∈ (𝐹𝑢)𝑥 = (((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣) ∩ X𝑘𝐴 𝑆)}
179 eqid 2806 . . . . . . . . . 10 (𝑢𝐴, 𝑣 ∈ ((𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))‘𝑢) ↦ ((𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ↦ (𝑤𝑢)) “ 𝑣)) = (𝑢𝐴, 𝑣 ∈ ((𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))‘𝑢) ↦ ((𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ↦ (𝑤𝑢)) “ 𝑣))
180179rnmpt2 7000 . . . . . . . . 9 ran (𝑢𝐴, 𝑣 ∈ ((𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))‘𝑢) ↦ ((𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ↦ (𝑤𝑢)) “ 𝑣)) = {𝑥 ∣ ∃𝑢𝐴𝑣 ∈ ((𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))‘𝑢)𝑥 = ((𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ↦ (𝑤𝑢)) “ 𝑣)}
181160, 178, 1803eqtr4g 2865 . . . . . . . 8 (𝜑 → ran (𝑥 ∈ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣)) ↦ (𝑥X𝑘𝐴 𝑆)) = ran (𝑢𝐴, 𝑣 ∈ ((𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))‘𝑢) ↦ ((𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ↦ (𝑤𝑢)) “ 𝑣)))
18284, 181uneq12d 3967 . . . . . . 7 (𝜑 → (ran (𝑥 ∈ { (∏t𝐹)} ↦ (𝑥X𝑘𝐴 𝑆)) ∪ ran (𝑥 ∈ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣)) ↦ (𝑥X𝑘𝐴 𝑆))) = ({ (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆)))} ∪ ran (𝑢𝐴, 𝑣 ∈ ((𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))‘𝑢) ↦ ((𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ↦ (𝑤𝑢)) “ 𝑣))))
18322, 182syl5eq 2852 . . . . . 6 (𝜑 → ran (𝑥 ∈ ({ (∏t𝐹)} ∪ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣))) ↦ (𝑥X𝑘𝐴 𝑆)) = ({ (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆)))} ∪ ran (𝑢𝐴, 𝑣 ∈ ((𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))‘𝑢) ↦ ((𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ↦ (𝑤𝑢)) “ 𝑣))))
18418, 183eqtrd 2840 . . . . 5 (𝜑 → (({ (∏t𝐹)} ∪ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣))) ↾t X𝑘𝐴 𝑆) = ({ (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆)))} ∪ ran (𝑢𝐴, 𝑣 ∈ ((𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))‘𝑢) ↦ ((𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ↦ (𝑤𝑢)) “ 𝑣))))
185184fveq2d 6412 . . . 4 (𝜑 → (fi‘(({ (∏t𝐹)} ∪ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣))) ↾t X𝑘𝐴 𝑆)) = (fi‘({ (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆)))} ∪ ran (𝑢𝐴, 𝑣 ∈ ((𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))‘𝑢) ↦ ((𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ↦ (𝑤𝑢)) “ 𝑣)))))
1861, 185syl5eqr 2854 . . 3 (𝜑 → ((fi‘({ (∏t𝐹)} ∪ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣)))) ↾t X𝑘𝐴 𝑆) = (fi‘({ (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆)))} ∪ ran (𝑢𝐴, 𝑣 ∈ ((𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))‘𝑢) ↦ ((𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ↦ (𝑤𝑢)) “ 𝑣)))))
187186fveq2d 6412 . 2 (𝜑 → (topGen‘((fi‘({ (∏t𝐹)} ∪ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣)))) ↾t X𝑘𝐴 𝑆)) = (topGen‘(fi‘({ (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆)))} ∪ ran (𝑢𝐴, 𝑣 ∈ ((𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))‘𝑢) ↦ ((𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ↦ (𝑤𝑢)) “ 𝑣))))))
188 eqid 2806 . . . . . 6 (∏t𝐹) = (∏t𝐹)
18972, 188, 6ptval2 21618 . . . . 5 ((𝐴𝑉𝐹:𝐴⟶Top) → (∏t𝐹) = (topGen‘(fi‘({ (∏t𝐹)} ∪ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣))))))
1903, 35, 189syl2anc 575 . . . 4 (𝜑 → (∏t𝐹) = (topGen‘(fi‘({ (∏t𝐹)} ∪ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣))))))
191190oveq1d 6889 . . 3 (𝜑 → ((∏t𝐹) ↾t X𝑘𝐴 𝑆) = ((topGen‘(fi‘({ (∏t𝐹)} ∪ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣))))) ↾t X𝑘𝐴 𝑆))
192 fvex 6421 . . . 4 (fi‘({ (∏t𝐹)} ∪ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣)))) ∈ V
193 tgrest 21177 . . . 4 (((fi‘({ (∏t𝐹)} ∪ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣)))) ∈ V ∧ X𝑘𝐴 𝑆 ∈ V) → (topGen‘((fi‘({ (∏t𝐹)} ∪ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣)))) ↾t X𝑘𝐴 𝑆)) = ((topGen‘(fi‘({ (∏t𝐹)} ∪ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣))))) ↾t X𝑘𝐴 𝑆))
194192, 16, 193sylancr 577 . . 3 (𝜑 → (topGen‘((fi‘({ (∏t𝐹)} ∪ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣)))) ↾t X𝑘𝐴 𝑆)) = ((topGen‘(fi‘({ (∏t𝐹)} ∪ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣))))) ↾t X𝑘𝐴 𝑆))
195191, 194eqtr4d 2843 . 2 (𝜑 → ((∏t𝐹) ↾t X𝑘𝐴 𝑆) = (topGen‘((fi‘({ (∏t𝐹)} ∪ ran (𝑢𝐴, 𝑣 ∈ (𝐹𝑢) ↦ ((𝑤 (∏t𝐹) ↦ (𝑤𝑢)) “ 𝑣)))) ↾t X𝑘𝐴 𝑆)))
196 eqid 2806 . . . 4 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) = (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆)))
19779, 196, 179ptval2 21618 . . 3 ((𝐴𝑉 ∧ (𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆)):𝐴⟶Top) → (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) = (topGen‘(fi‘({ (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆)))} ∪ ran (𝑢𝐴, 𝑣 ∈ ((𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))‘𝑢) ↦ ((𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ↦ (𝑤𝑢)) “ 𝑣))))))
1983, 78, 197syl2anc 575 . 2 (𝜑 → (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) = (topGen‘(fi‘({ (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆)))} ∪ ran (𝑢𝐴, 𝑣 ∈ ((𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))‘𝑢) ↦ ((𝑤 (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))) ↦ (𝑤𝑢)) “ 𝑣))))))
199187, 195, 1983eqtr4d 2850 1 (𝜑 → ((∏t𝐹) ↾t X𝑘𝐴 𝑆) = (∏t‘(𝑘𝐴 ↦ ((𝐹𝑘) ↾t 𝑆))))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 197  wa 384   = wceq 1637  wcel 2156  {cab 2792  wral 3096  wrex 3097  {crab 3100  Vcvv 3391  csb 3728  cun 3767  cin 3768  wss 3769  {csn 4370  cop 4376   cuni 4630  cmpt 4923  ccnv 5310  ran crn 5312  cima 5314   Fn wfn 6096  wf 6097  cfv 6101  (class class class)co 6874  cmpt2 6876  Xcixp 8145  ficfi 8555  t crest 16286  topGenctg 16303  tcpt 16304  Topctop 20911
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1877  ax-4 1894  ax-5 2001  ax-6 2068  ax-7 2104  ax-8 2158  ax-9 2165  ax-10 2185  ax-11 2201  ax-12 2214  ax-13 2420  ax-ext 2784  ax-rep 4964  ax-sep 4975  ax-nul 4983  ax-pow 5035  ax-pr 5096  ax-un 7179
This theorem depends on definitions:  df-bi 198  df-an 385  df-or 866  df-3or 1101  df-3an 1102  df-tru 1641  df-ex 1860  df-nf 1864  df-sb 2061  df-eu 2634  df-mo 2635  df-clab 2793  df-cleq 2799  df-clel 2802  df-nfc 2937  df-ne 2979  df-ral 3101  df-rex 3102  df-reu 3103  df-rab 3105  df-v 3393  df-sbc 3634  df-csb 3729  df-dif 3772  df-un 3774  df-in 3776  df-ss 3783  df-pss 3785  df-nul 4117  df-if 4280  df-pw 4353  df-sn 4371  df-pr 4373  df-tp 4375  df-op 4377  df-uni 4631  df-int 4670  df-iun 4714  df-iin 4715  df-br 4845  df-opab 4907  df-mpt 4924  df-tr 4947  df-id 5219  df-eprel 5224  df-po 5232  df-so 5233  df-fr 5270  df-we 5272  df-xp 5317  df-rel 5318  df-cnv 5319  df-co 5320  df-dm 5321  df-rn 5322  df-res 5323  df-ima 5324  df-pred 5893  df-ord 5939  df-on 5940  df-lim 5941  df-suc 5942  df-iota 6064  df-fun 6103  df-fn 6104  df-f 6105  df-f1 6106  df-fo 6107  df-f1o 6108  df-fv 6109  df-ov 6877  df-oprab 6878  df-mpt2 6879  df-om 7296  df-1st 7398  df-2nd 7399  df-wrecs 7642  df-recs 7704  df-rdg 7742  df-1o 7796  df-oadd 7800  df-er 7979  df-ixp 8146  df-en 8193  df-dom 8194  df-fin 8196  df-fi 8556  df-rest 16288  df-topgen 16309  df-pt 16310  df-top 20912  df-topon 20929  df-bases 20964
This theorem is referenced by:  poimirlem30  33752
  Copyright terms: Public domain W3C validator