Metamath Proof Explorer


Theorem dffun6f

Description: Definition of function, using bound-variable hypotheses instead of distinct variable conditions. (Contributed by NM, 9-Mar-1995) (Revised by Mario Carneiro, 15-Oct-2016)

Ref Expression
Hypotheses dffun6f.1 𝑥 𝐴
dffun6f.2 𝑦 𝐴
Assertion dffun6f ( Fun 𝐴 ↔ ( Rel 𝐴 ∧ ∀ 𝑥 ∃* 𝑦 𝑥 𝐴 𝑦 ) )

Proof

Step Hyp Ref Expression
1 dffun6f.1 𝑥 𝐴
2 dffun6f.2 𝑦 𝐴
3 dffun3 ( Fun 𝐴 ↔ ( Rel 𝐴 ∧ ∀ 𝑤𝑢𝑣 ( 𝑤 𝐴 𝑣𝑣 = 𝑢 ) ) )
4 nfcv 𝑦 𝑤
5 nfcv 𝑦 𝑣
6 4 2 5 nfbr 𝑦 𝑤 𝐴 𝑣
7 nfv 𝑣 𝑤 𝐴 𝑦
8 breq2 ( 𝑣 = 𝑦 → ( 𝑤 𝐴 𝑣𝑤 𝐴 𝑦 ) )
9 6 7 8 cbvmow ( ∃* 𝑣 𝑤 𝐴 𝑣 ↔ ∃* 𝑦 𝑤 𝐴 𝑦 )
10 9 albii ( ∀ 𝑤 ∃* 𝑣 𝑤 𝐴 𝑣 ↔ ∀ 𝑤 ∃* 𝑦 𝑤 𝐴 𝑦 )
11 df-mo ( ∃* 𝑣 𝑤 𝐴 𝑣 ↔ ∃ 𝑢𝑣 ( 𝑤 𝐴 𝑣𝑣 = 𝑢 ) )
12 11 albii ( ∀ 𝑤 ∃* 𝑣 𝑤 𝐴 𝑣 ↔ ∀ 𝑤𝑢𝑣 ( 𝑤 𝐴 𝑣𝑣 = 𝑢 ) )
13 nfcv 𝑥 𝑤
14 nfcv 𝑥 𝑦
15 13 1 14 nfbr 𝑥 𝑤 𝐴 𝑦
16 15 nfmov 𝑥 ∃* 𝑦 𝑤 𝐴 𝑦
17 nfv 𝑤 ∃* 𝑦 𝑥 𝐴 𝑦
18 breq1 ( 𝑤 = 𝑥 → ( 𝑤 𝐴 𝑦𝑥 𝐴 𝑦 ) )
19 18 mobidv ( 𝑤 = 𝑥 → ( ∃* 𝑦 𝑤 𝐴 𝑦 ↔ ∃* 𝑦 𝑥 𝐴 𝑦 ) )
20 16 17 19 cbvalv1 ( ∀ 𝑤 ∃* 𝑦 𝑤 𝐴 𝑦 ↔ ∀ 𝑥 ∃* 𝑦 𝑥 𝐴 𝑦 )
21 10 12 20 3bitr3ri ( ∀ 𝑥 ∃* 𝑦 𝑥 𝐴 𝑦 ↔ ∀ 𝑤𝑢𝑣 ( 𝑤 𝐴 𝑣𝑣 = 𝑢 ) )
22 21 anbi2i ( ( Rel 𝐴 ∧ ∀ 𝑥 ∃* 𝑦 𝑥 𝐴 𝑦 ) ↔ ( Rel 𝐴 ∧ ∀ 𝑤𝑢𝑣 ( 𝑤 𝐴 𝑣𝑣 = 𝑢 ) ) )
23 3 22 bitr4i ( Fun 𝐴 ↔ ( Rel 𝐴 ∧ ∀ 𝑥 ∃* 𝑦 𝑥 𝐴 𝑦 ) )