Metamath Proof Explorer


Theorem fvmptdv2

Description: Alternate deduction version of fvmpt , suitable for iteration. (Contributed by Mario Carneiro, 7-Jan-2017)

Ref Expression
Hypotheses fvmptdv2.1 ⊢ ( 𝜑 → 𝐴 ∈ 𝐷 )
fvmptdv2.2 ⊢ ( ( 𝜑 ∧ 𝑥 = 𝐴 ) → 𝐵 ∈ 𝑉 )
fvmptdv2.3 ⊢ ( ( 𝜑 ∧ 𝑥 = 𝐴 ) → 𝐵 = 𝐶 )
Assertion fvmptdv2 ( 𝜑 → ( 𝐹 = ( 𝑥 ∈ 𝐷 ↦ 𝐵 ) → ( 𝐹 ‘ 𝐴 ) = 𝐶 ) )

Proof

Step Hyp Ref Expression
1 fvmptdv2.1 ⊢ ( 𝜑 → 𝐴 ∈ 𝐷 )
2 fvmptdv2.2 ⊢ ( ( 𝜑 ∧ 𝑥 = 𝐴 ) → 𝐵 ∈ 𝑉 )
3 fvmptdv2.3 ⊢ ( ( 𝜑 ∧ 𝑥 = 𝐴 ) → 𝐵 = 𝐶 )
4 eqidd ⊢ ( 𝜑 → ( 𝑥 ∈ 𝐷 ↦ 𝐵 ) = ( 𝑥 ∈ 𝐷 ↦ 𝐵 ) )
5 1 elexd ⊢ ( 𝜑 → 𝐴 ∈ V )
6 isset ⊢ ( 𝐴 ∈ V ↔ ∃ 𝑥 𝑥 = 𝐴 )
7 5 6 sylib ⊢ ( 𝜑 → ∃ 𝑥 𝑥 = 𝐴 )
8 2 elexd ⊢ ( ( 𝜑 ∧ 𝑥 = 𝐴 ) → 𝐵 ∈ V )
9 3 8 eqeltrrd ⊢ ( ( 𝜑 ∧ 𝑥 = 𝐴 ) → 𝐶 ∈ V )
10 7 9 exlimddv ⊢ ( 𝜑 → 𝐶 ∈ V )
11 4 3 1 10 fvmptd ⊢ ( 𝜑 → ( ( 𝑥 ∈ 𝐷 ↦ 𝐵 ) ‘ 𝐴 ) = 𝐶 )
12 fveq1 ⊢ ( 𝐹 = ( 𝑥 ∈ 𝐷 ↦ 𝐵 ) → ( 𝐹 ‘ 𝐴 ) = ( ( 𝑥 ∈ 𝐷 ↦ 𝐵 ) ‘ 𝐴 ) )
13 12 eqeq1d ⊢ ( 𝐹 = ( 𝑥 ∈ 𝐷 ↦ 𝐵 ) → ( ( 𝐹 ‘ 𝐴 ) = 𝐶 ↔ ( ( 𝑥 ∈ 𝐷 ↦ 𝐵 ) ‘ 𝐴 ) = 𝐶 ) )
14 11 13 syl5ibrcom ⊢ ( 𝜑 → ( 𝐹 = ( 𝑥 ∈ 𝐷 ↦ 𝐵 ) → ( 𝐹 ‘ 𝐴 ) = 𝐶 ) )