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 𝐶 ∧ 𝐶 ⊆ ( 𝐵 × 𝐴 ) ) ) )