Metamath Proof Explorer


Theorem elpmg

Description: The predicate "is a partial function". (Contributed by Mario Carneiro, 14-Nov-2013)

Ref Expression
Assertion elpmg ( ( 𝐴𝑉𝐵𝑊 ) → ( 𝐶 ∈ ( 𝐴pm 𝐵 ) ↔ ( Fun 𝐶𝐶 ⊆ ( 𝐵 × 𝐴 ) ) ) )

Proof

Step Hyp Ref Expression
1 pmvalg ( ( 𝐴𝑉𝐵𝑊 ) → ( 𝐴pm 𝐵 ) = { 𝑔 ∈ 𝒫 ( 𝐵 × 𝐴 ) ∣ Fun 𝑔 } )
2 1 eleq2d ( ( 𝐴𝑉𝐵𝑊 ) → ( 𝐶 ∈ ( 𝐴pm 𝐵 ) ↔ 𝐶 ∈ { 𝑔 ∈ 𝒫 ( 𝐵 × 𝐴 ) ∣ Fun 𝑔 } ) )
3 funeq ( 𝑔 = 𝐶 → ( Fun 𝑔 ↔ Fun 𝐶 ) )
4 3 elrab ( 𝐶 ∈ { 𝑔 ∈ 𝒫 ( 𝐵 × 𝐴 ) ∣ Fun 𝑔 } ↔ ( 𝐶 ∈ 𝒫 ( 𝐵 × 𝐴 ) ∧ Fun 𝐶 ) )
5 2 4 bitrdi ( ( 𝐴𝑉𝐵𝑊 ) → ( 𝐶 ∈ ( 𝐴pm 𝐵 ) ↔ ( 𝐶 ∈ 𝒫 ( 𝐵 × 𝐴 ) ∧ Fun 𝐶 ) ) )
6 5 biancomd ( ( 𝐴𝑉𝐵𝑊 ) → ( 𝐶 ∈ ( 𝐴pm 𝐵 ) ↔ ( Fun 𝐶𝐶 ∈ 𝒫 ( 𝐵 × 𝐴 ) ) ) )
7 elex ( 𝐶 ∈ 𝒫 ( 𝐵 × 𝐴 ) → 𝐶 ∈ V )
8 7 a1i ( ( 𝐴𝑉𝐵𝑊 ) → ( 𝐶 ∈ 𝒫 ( 𝐵 × 𝐴 ) → 𝐶 ∈ V ) )
9 xpexg ( ( 𝐵𝑊𝐴𝑉 ) → ( 𝐵 × 𝐴 ) ∈ V )
10 9 ancoms ( ( 𝐴𝑉𝐵𝑊 ) → ( 𝐵 × 𝐴 ) ∈ V )
11 ssexg ( ( 𝐶 ⊆ ( 𝐵 × 𝐴 ) ∧ ( 𝐵 × 𝐴 ) ∈ V ) → 𝐶 ∈ V )
12 11 expcom ( ( 𝐵 × 𝐴 ) ∈ V → ( 𝐶 ⊆ ( 𝐵 × 𝐴 ) → 𝐶 ∈ V ) )
13 10 12 syl ( ( 𝐴𝑉𝐵𝑊 ) → ( 𝐶 ⊆ ( 𝐵 × 𝐴 ) → 𝐶 ∈ V ) )
14 elpwg ( 𝐶 ∈ V → ( 𝐶 ∈ 𝒫 ( 𝐵 × 𝐴 ) ↔ 𝐶 ⊆ ( 𝐵 × 𝐴 ) ) )
15 14 a1i ( ( 𝐴𝑉𝐵𝑊 ) → ( 𝐶 ∈ V → ( 𝐶 ∈ 𝒫 ( 𝐵 × 𝐴 ) ↔ 𝐶 ⊆ ( 𝐵 × 𝐴 ) ) ) )
16 8 13 15 pm5.21ndd ( ( 𝐴𝑉𝐵𝑊 ) → ( 𝐶 ∈ 𝒫 ( 𝐵 × 𝐴 ) ↔ 𝐶 ⊆ ( 𝐵 × 𝐴 ) ) )
17 16 anbi2d ( ( 𝐴𝑉𝐵𝑊 ) → ( ( Fun 𝐶𝐶 ∈ 𝒫 ( 𝐵 × 𝐴 ) ) ↔ ( Fun 𝐶𝐶 ⊆ ( 𝐵 × 𝐴 ) ) ) )
18 6 17 bitrd ( ( 𝐴𝑉𝐵𝑊 ) → ( 𝐶 ∈ ( 𝐴pm 𝐵 ) ↔ ( Fun 𝐶𝐶 ⊆ ( 𝐵 × 𝐴 ) ) ) )