Metamath Proof Explorer


Theorem acsfn2

Description: Algebraicity of a two-argument closure condition. (Contributed by Stefan O'Rear, 3-Apr-2015)

Ref Expression
Assertion acsfn2 ( ( 𝑋𝑉 ∧ ∀ 𝑏𝑋𝑐𝑋 𝐸𝑋 ) → { 𝑎 ∈ 𝒫 𝑋 ∣ ∀ 𝑏𝑎𝑐𝑎 𝐸𝑎 } ∈ ( ACS ‘ 𝑋 ) )

Proof

Step Hyp Ref Expression
1 elpwi ( 𝑎 ∈ 𝒫 𝑋𝑎𝑋 )
2 ralss ( 𝑎𝑋 → ( ∀ 𝑏𝑎𝑐𝑎 𝐸𝑎 ↔ ∀ 𝑏𝑋 ( 𝑏𝑎 → ∀ 𝑐𝑎 𝐸𝑎 ) ) )
3 ralss ( 𝑎𝑋 → ( ∀ 𝑐𝑎 ( 𝑏𝑎𝐸𝑎 ) ↔ ∀ 𝑐𝑋 ( 𝑐𝑎 → ( 𝑏𝑎𝐸𝑎 ) ) ) )
4 r19.21v ( ∀ 𝑐𝑎 ( 𝑏𝑎𝐸𝑎 ) ↔ ( 𝑏𝑎 → ∀ 𝑐𝑎 𝐸𝑎 ) )
5 impexp ( ( ( 𝑐𝑎𝑏𝑎 ) → 𝐸𝑎 ) ↔ ( 𝑐𝑎 → ( 𝑏𝑎𝐸𝑎 ) ) )
6 vex 𝑐 ∈ V
7 vex 𝑏 ∈ V
8 6 7 prss ( ( 𝑐𝑎𝑏𝑎 ) ↔ { 𝑐 , 𝑏 } ⊆ 𝑎 )
9 8 imbi1i ( ( ( 𝑐𝑎𝑏𝑎 ) → 𝐸𝑎 ) ↔ ( { 𝑐 , 𝑏 } ⊆ 𝑎𝐸𝑎 ) )
10 5 9 bitr3i ( ( 𝑐𝑎 → ( 𝑏𝑎𝐸𝑎 ) ) ↔ ( { 𝑐 , 𝑏 } ⊆ 𝑎𝐸𝑎 ) )
11 10 ralbii ( ∀ 𝑐𝑋 ( 𝑐𝑎 → ( 𝑏𝑎𝐸𝑎 ) ) ↔ ∀ 𝑐𝑋 ( { 𝑐 , 𝑏 } ⊆ 𝑎𝐸𝑎 ) )
12 3 4 11 3bitr3g ( 𝑎𝑋 → ( ( 𝑏𝑎 → ∀ 𝑐𝑎 𝐸𝑎 ) ↔ ∀ 𝑐𝑋 ( { 𝑐 , 𝑏 } ⊆ 𝑎𝐸𝑎 ) ) )
13 12 ralbidv ( 𝑎𝑋 → ( ∀ 𝑏𝑋 ( 𝑏𝑎 → ∀ 𝑐𝑎 𝐸𝑎 ) ↔ ∀ 𝑏𝑋𝑐𝑋 ( { 𝑐 , 𝑏 } ⊆ 𝑎𝐸𝑎 ) ) )
14 2 13 bitrd ( 𝑎𝑋 → ( ∀ 𝑏𝑎𝑐𝑎 𝐸𝑎 ↔ ∀ 𝑏𝑋𝑐𝑋 ( { 𝑐 , 𝑏 } ⊆ 𝑎𝐸𝑎 ) ) )
15 1 14 syl ( 𝑎 ∈ 𝒫 𝑋 → ( ∀ 𝑏𝑎𝑐𝑎 𝐸𝑎 ↔ ∀ 𝑏𝑋𝑐𝑋 ( { 𝑐 , 𝑏 } ⊆ 𝑎𝐸𝑎 ) ) )
16 15 rabbiia { 𝑎 ∈ 𝒫 𝑋 ∣ ∀ 𝑏𝑎𝑐𝑎 𝐸𝑎 } = { 𝑎 ∈ 𝒫 𝑋 ∣ ∀ 𝑏𝑋𝑐𝑋 ( { 𝑐 , 𝑏 } ⊆ 𝑎𝐸𝑎 ) }
17 riinrab ( 𝒫 𝑋 𝑏𝑋 { 𝑎 ∈ 𝒫 𝑋 ∣ ∀ 𝑐𝑋 ( { 𝑐 , 𝑏 } ⊆ 𝑎𝐸𝑎 ) } ) = { 𝑎 ∈ 𝒫 𝑋 ∣ ∀ 𝑏𝑋𝑐𝑋 ( { 𝑐 , 𝑏 } ⊆ 𝑎𝐸𝑎 ) }
18 16 17 eqtr4i { 𝑎 ∈ 𝒫 𝑋 ∣ ∀ 𝑏𝑎𝑐𝑎 𝐸𝑎 } = ( 𝒫 𝑋 𝑏𝑋 { 𝑎 ∈ 𝒫 𝑋 ∣ ∀ 𝑐𝑋 ( { 𝑐 , 𝑏 } ⊆ 𝑎𝐸𝑎 ) } )
19 mreacs ( 𝑋𝑉 → ( ACS ‘ 𝑋 ) ∈ ( Moore ‘ 𝒫 𝑋 ) )
20 riinrab ( 𝒫 𝑋 𝑐𝑋 { 𝑎 ∈ 𝒫 𝑋 ∣ ( { 𝑐 , 𝑏 } ⊆ 𝑎𝐸𝑎 ) } ) = { 𝑎 ∈ 𝒫 𝑋 ∣ ∀ 𝑐𝑋 ( { 𝑐 , 𝑏 } ⊆ 𝑎𝐸𝑎 ) }
21 19 ad2antrr ( ( ( 𝑋𝑉𝑏𝑋 ) ∧ ∀ 𝑐𝑋 𝐸𝑋 ) → ( ACS ‘ 𝑋 ) ∈ ( Moore ‘ 𝒫 𝑋 ) )
22 simpll ( ( ( 𝑋𝑉𝑏𝑋 ) ∧ ( 𝑐𝑋𝐸𝑋 ) ) → 𝑋𝑉 )
23 simprr ( ( ( 𝑋𝑉𝑏𝑋 ) ∧ ( 𝑐𝑋𝐸𝑋 ) ) → 𝐸𝑋 )
24 prssi ( ( 𝑐𝑋𝑏𝑋 ) → { 𝑐 , 𝑏 } ⊆ 𝑋 )
25 24 ancoms ( ( 𝑏𝑋𝑐𝑋 ) → { 𝑐 , 𝑏 } ⊆ 𝑋 )
26 25 ad2ant2lr ( ( ( 𝑋𝑉𝑏𝑋 ) ∧ ( 𝑐𝑋𝐸𝑋 ) ) → { 𝑐 , 𝑏 } ⊆ 𝑋 )
27 prfi { 𝑐 , 𝑏 } ∈ Fin
28 27 a1i ( ( ( 𝑋𝑉𝑏𝑋 ) ∧ ( 𝑐𝑋𝐸𝑋 ) ) → { 𝑐 , 𝑏 } ∈ Fin )
29 acsfn ( ( ( 𝑋𝑉𝐸𝑋 ) ∧ ( { 𝑐 , 𝑏 } ⊆ 𝑋 ∧ { 𝑐 , 𝑏 } ∈ Fin ) ) → { 𝑎 ∈ 𝒫 𝑋 ∣ ( { 𝑐 , 𝑏 } ⊆ 𝑎𝐸𝑎 ) } ∈ ( ACS ‘ 𝑋 ) )
30 22 23 26 28 29 syl22anc ( ( ( 𝑋𝑉𝑏𝑋 ) ∧ ( 𝑐𝑋𝐸𝑋 ) ) → { 𝑎 ∈ 𝒫 𝑋 ∣ ( { 𝑐 , 𝑏 } ⊆ 𝑎𝐸𝑎 ) } ∈ ( ACS ‘ 𝑋 ) )
31 30 expr ( ( ( 𝑋𝑉𝑏𝑋 ) ∧ 𝑐𝑋 ) → ( 𝐸𝑋 → { 𝑎 ∈ 𝒫 𝑋 ∣ ( { 𝑐 , 𝑏 } ⊆ 𝑎𝐸𝑎 ) } ∈ ( ACS ‘ 𝑋 ) ) )
32 31 ralimdva ( ( 𝑋𝑉𝑏𝑋 ) → ( ∀ 𝑐𝑋 𝐸𝑋 → ∀ 𝑐𝑋 { 𝑎 ∈ 𝒫 𝑋 ∣ ( { 𝑐 , 𝑏 } ⊆ 𝑎𝐸𝑎 ) } ∈ ( ACS ‘ 𝑋 ) ) )
33 32 imp ( ( ( 𝑋𝑉𝑏𝑋 ) ∧ ∀ 𝑐𝑋 𝐸𝑋 ) → ∀ 𝑐𝑋 { 𝑎 ∈ 𝒫 𝑋 ∣ ( { 𝑐 , 𝑏 } ⊆ 𝑎𝐸𝑎 ) } ∈ ( ACS ‘ 𝑋 ) )
34 mreriincl ( ( ( ACS ‘ 𝑋 ) ∈ ( Moore ‘ 𝒫 𝑋 ) ∧ ∀ 𝑐𝑋 { 𝑎 ∈ 𝒫 𝑋 ∣ ( { 𝑐 , 𝑏 } ⊆ 𝑎𝐸𝑎 ) } ∈ ( ACS ‘ 𝑋 ) ) → ( 𝒫 𝑋 𝑐𝑋 { 𝑎 ∈ 𝒫 𝑋 ∣ ( { 𝑐 , 𝑏 } ⊆ 𝑎𝐸𝑎 ) } ) ∈ ( ACS ‘ 𝑋 ) )
35 21 33 34 syl2anc ( ( ( 𝑋𝑉𝑏𝑋 ) ∧ ∀ 𝑐𝑋 𝐸𝑋 ) → ( 𝒫 𝑋 𝑐𝑋 { 𝑎 ∈ 𝒫 𝑋 ∣ ( { 𝑐 , 𝑏 } ⊆ 𝑎𝐸𝑎 ) } ) ∈ ( ACS ‘ 𝑋 ) )
36 20 35 eqeltrrid ( ( ( 𝑋𝑉𝑏𝑋 ) ∧ ∀ 𝑐𝑋 𝐸𝑋 ) → { 𝑎 ∈ 𝒫 𝑋 ∣ ∀ 𝑐𝑋 ( { 𝑐 , 𝑏 } ⊆ 𝑎𝐸𝑎 ) } ∈ ( ACS ‘ 𝑋 ) )
37 36 ex ( ( 𝑋𝑉𝑏𝑋 ) → ( ∀ 𝑐𝑋 𝐸𝑋 → { 𝑎 ∈ 𝒫 𝑋 ∣ ∀ 𝑐𝑋 ( { 𝑐 , 𝑏 } ⊆ 𝑎𝐸𝑎 ) } ∈ ( ACS ‘ 𝑋 ) ) )
38 37 ralimdva ( 𝑋𝑉 → ( ∀ 𝑏𝑋𝑐𝑋 𝐸𝑋 → ∀ 𝑏𝑋 { 𝑎 ∈ 𝒫 𝑋 ∣ ∀ 𝑐𝑋 ( { 𝑐 , 𝑏 } ⊆ 𝑎𝐸𝑎 ) } ∈ ( ACS ‘ 𝑋 ) ) )
39 38 imp ( ( 𝑋𝑉 ∧ ∀ 𝑏𝑋𝑐𝑋 𝐸𝑋 ) → ∀ 𝑏𝑋 { 𝑎 ∈ 𝒫 𝑋 ∣ ∀ 𝑐𝑋 ( { 𝑐 , 𝑏 } ⊆ 𝑎𝐸𝑎 ) } ∈ ( ACS ‘ 𝑋 ) )
40 mreriincl ( ( ( ACS ‘ 𝑋 ) ∈ ( Moore ‘ 𝒫 𝑋 ) ∧ ∀ 𝑏𝑋 { 𝑎 ∈ 𝒫 𝑋 ∣ ∀ 𝑐𝑋 ( { 𝑐 , 𝑏 } ⊆ 𝑎𝐸𝑎 ) } ∈ ( ACS ‘ 𝑋 ) ) → ( 𝒫 𝑋 𝑏𝑋 { 𝑎 ∈ 𝒫 𝑋 ∣ ∀ 𝑐𝑋 ( { 𝑐 , 𝑏 } ⊆ 𝑎𝐸𝑎 ) } ) ∈ ( ACS ‘ 𝑋 ) )
41 19 39 40 syl2an2r ( ( 𝑋𝑉 ∧ ∀ 𝑏𝑋𝑐𝑋 𝐸𝑋 ) → ( 𝒫 𝑋 𝑏𝑋 { 𝑎 ∈ 𝒫 𝑋 ∣ ∀ 𝑐𝑋 ( { 𝑐 , 𝑏 } ⊆ 𝑎𝐸𝑎 ) } ) ∈ ( ACS ‘ 𝑋 ) )
42 18 41 eqeltrid ( ( 𝑋𝑉 ∧ ∀ 𝑏𝑋𝑐𝑋 𝐸𝑋 ) → { 𝑎 ∈ 𝒫 𝑋 ∣ ∀ 𝑏𝑎𝑐𝑎 𝐸𝑎 } ∈ ( ACS ‘ 𝑋 ) )