Metamath Proof Explorer


Theorem zfac

Description: Axiom of Choice expressed with the fewest number of different variables. The penultimate step shows the logical equivalence to ax-ac . (New usage is discouraged.) (Contributed by NM, 14-Aug-2003)

Ref Expression
Assertion zfac 𝑥𝑦𝑧 ( ( 𝑦𝑧𝑧𝑤 ) → ∃ 𝑤𝑦 ( ∃ 𝑤 ( ( 𝑦𝑧𝑧𝑤 ) ∧ ( 𝑦𝑤𝑤𝑥 ) ) ↔ 𝑦 = 𝑤 ) )

Proof

Step Hyp Ref Expression
1 ax-ac 𝑥𝑦𝑧 ( ( 𝑦𝑧𝑧𝑤 ) → ∃ 𝑣𝑢 ( ∃ 𝑡 ( ( 𝑢𝑧𝑧𝑡 ) ∧ ( 𝑢𝑡𝑡𝑥 ) ) ↔ 𝑢 = 𝑣 ) )
2 equequ2 ( 𝑣 = 𝑤 → ( 𝑢 = 𝑣𝑢 = 𝑤 ) )
3 2 bibi2d ( 𝑣 = 𝑤 → ( ( ∃ 𝑡 ( ( 𝑢𝑧𝑧𝑡 ) ∧ ( 𝑢𝑡𝑡𝑥 ) ) ↔ 𝑢 = 𝑣 ) ↔ ( ∃ 𝑡 ( ( 𝑢𝑧𝑧𝑡 ) ∧ ( 𝑢𝑡𝑡𝑥 ) ) ↔ 𝑢 = 𝑤 ) ) )
4 elequ2 ( 𝑡 = 𝑤 → ( 𝑧𝑡𝑧𝑤 ) )
5 4 anbi2d ( 𝑡 = 𝑤 → ( ( 𝑢𝑧𝑧𝑡 ) ↔ ( 𝑢𝑧𝑧𝑤 ) ) )
6 elequ2 ( 𝑡 = 𝑤 → ( 𝑢𝑡𝑢𝑤 ) )
7 elequ1 ( 𝑡 = 𝑤 → ( 𝑡𝑥𝑤𝑥 ) )
8 6 7 anbi12d ( 𝑡 = 𝑤 → ( ( 𝑢𝑡𝑡𝑥 ) ↔ ( 𝑢𝑤𝑤𝑥 ) ) )
9 5 8 anbi12d ( 𝑡 = 𝑤 → ( ( ( 𝑢𝑧𝑧𝑡 ) ∧ ( 𝑢𝑡𝑡𝑥 ) ) ↔ ( ( 𝑢𝑧𝑧𝑤 ) ∧ ( 𝑢𝑤𝑤𝑥 ) ) ) )
10 9 cbvexvw ( ∃ 𝑡 ( ( 𝑢𝑧𝑧𝑡 ) ∧ ( 𝑢𝑡𝑡𝑥 ) ) ↔ ∃ 𝑤 ( ( 𝑢𝑧𝑧𝑤 ) ∧ ( 𝑢𝑤𝑤𝑥 ) ) )
11 10 bibi1i ( ( ∃ 𝑡 ( ( 𝑢𝑧𝑧𝑡 ) ∧ ( 𝑢𝑡𝑡𝑥 ) ) ↔ 𝑢 = 𝑤 ) ↔ ( ∃ 𝑤 ( ( 𝑢𝑧𝑧𝑤 ) ∧ ( 𝑢𝑤𝑤𝑥 ) ) ↔ 𝑢 = 𝑤 ) )
12 3 11 bitrdi ( 𝑣 = 𝑤 → ( ( ∃ 𝑡 ( ( 𝑢𝑧𝑧𝑡 ) ∧ ( 𝑢𝑡𝑡𝑥 ) ) ↔ 𝑢 = 𝑣 ) ↔ ( ∃ 𝑤 ( ( 𝑢𝑧𝑧𝑤 ) ∧ ( 𝑢𝑤𝑤𝑥 ) ) ↔ 𝑢 = 𝑤 ) ) )
13 12 albidv ( 𝑣 = 𝑤 → ( ∀ 𝑢 ( ∃ 𝑡 ( ( 𝑢𝑧𝑧𝑡 ) ∧ ( 𝑢𝑡𝑡𝑥 ) ) ↔ 𝑢 = 𝑣 ) ↔ ∀ 𝑢 ( ∃ 𝑤 ( ( 𝑢𝑧𝑧𝑤 ) ∧ ( 𝑢𝑤𝑤𝑥 ) ) ↔ 𝑢 = 𝑤 ) ) )
14 elequ1 ( 𝑢 = 𝑦 → ( 𝑢𝑧𝑦𝑧 ) )
15 14 anbi1d ( 𝑢 = 𝑦 → ( ( 𝑢𝑧𝑧𝑤 ) ↔ ( 𝑦𝑧𝑧𝑤 ) ) )
16 elequ1 ( 𝑢 = 𝑦 → ( 𝑢𝑤𝑦𝑤 ) )
17 16 anbi1d ( 𝑢 = 𝑦 → ( ( 𝑢𝑤𝑤𝑥 ) ↔ ( 𝑦𝑤𝑤𝑥 ) ) )
18 15 17 anbi12d ( 𝑢 = 𝑦 → ( ( ( 𝑢𝑧𝑧𝑤 ) ∧ ( 𝑢𝑤𝑤𝑥 ) ) ↔ ( ( 𝑦𝑧𝑧𝑤 ) ∧ ( 𝑦𝑤𝑤𝑥 ) ) ) )
19 18 exbidv ( 𝑢 = 𝑦 → ( ∃ 𝑤 ( ( 𝑢𝑧𝑧𝑤 ) ∧ ( 𝑢𝑤𝑤𝑥 ) ) ↔ ∃ 𝑤 ( ( 𝑦𝑧𝑧𝑤 ) ∧ ( 𝑦𝑤𝑤𝑥 ) ) ) )
20 equequ1 ( 𝑢 = 𝑦 → ( 𝑢 = 𝑤𝑦 = 𝑤 ) )
21 19 20 bibi12d ( 𝑢 = 𝑦 → ( ( ∃ 𝑤 ( ( 𝑢𝑧𝑧𝑤 ) ∧ ( 𝑢𝑤𝑤𝑥 ) ) ↔ 𝑢 = 𝑤 ) ↔ ( ∃ 𝑤 ( ( 𝑦𝑧𝑧𝑤 ) ∧ ( 𝑦𝑤𝑤𝑥 ) ) ↔ 𝑦 = 𝑤 ) ) )
22 21 cbvalvw ( ∀ 𝑢 ( ∃ 𝑤 ( ( 𝑢𝑧𝑧𝑤 ) ∧ ( 𝑢𝑤𝑤𝑥 ) ) ↔ 𝑢 = 𝑤 ) ↔ ∀ 𝑦 ( ∃ 𝑤 ( ( 𝑦𝑧𝑧𝑤 ) ∧ ( 𝑦𝑤𝑤𝑥 ) ) ↔ 𝑦 = 𝑤 ) )
23 13 22 bitrdi ( 𝑣 = 𝑤 → ( ∀ 𝑢 ( ∃ 𝑡 ( ( 𝑢𝑧𝑧𝑡 ) ∧ ( 𝑢𝑡𝑡𝑥 ) ) ↔ 𝑢 = 𝑣 ) ↔ ∀ 𝑦 ( ∃ 𝑤 ( ( 𝑦𝑧𝑧𝑤 ) ∧ ( 𝑦𝑤𝑤𝑥 ) ) ↔ 𝑦 = 𝑤 ) ) )
24 23 cbvexvw ( ∃ 𝑣𝑢 ( ∃ 𝑡 ( ( 𝑢𝑧𝑧𝑡 ) ∧ ( 𝑢𝑡𝑡𝑥 ) ) ↔ 𝑢 = 𝑣 ) ↔ ∃ 𝑤𝑦 ( ∃ 𝑤 ( ( 𝑦𝑧𝑧𝑤 ) ∧ ( 𝑦𝑤𝑤𝑥 ) ) ↔ 𝑦 = 𝑤 ) )
25 24 imbi2i ( ( ( 𝑦𝑧𝑧𝑤 ) → ∃ 𝑣𝑢 ( ∃ 𝑡 ( ( 𝑢𝑧𝑧𝑡 ) ∧ ( 𝑢𝑡𝑡𝑥 ) ) ↔ 𝑢 = 𝑣 ) ) ↔ ( ( 𝑦𝑧𝑧𝑤 ) → ∃ 𝑤𝑦 ( ∃ 𝑤 ( ( 𝑦𝑧𝑧𝑤 ) ∧ ( 𝑦𝑤𝑤𝑥 ) ) ↔ 𝑦 = 𝑤 ) ) )
26 25 2albii ( ∀ 𝑦𝑧 ( ( 𝑦𝑧𝑧𝑤 ) → ∃ 𝑣𝑢 ( ∃ 𝑡 ( ( 𝑢𝑧𝑧𝑡 ) ∧ ( 𝑢𝑡𝑡𝑥 ) ) ↔ 𝑢 = 𝑣 ) ) ↔ ∀ 𝑦𝑧 ( ( 𝑦𝑧𝑧𝑤 ) → ∃ 𝑤𝑦 ( ∃ 𝑤 ( ( 𝑦𝑧𝑧𝑤 ) ∧ ( 𝑦𝑤𝑤𝑥 ) ) ↔ 𝑦 = 𝑤 ) ) )
27 26 exbii ( ∃ 𝑥𝑦𝑧 ( ( 𝑦𝑧𝑧𝑤 ) → ∃ 𝑣𝑢 ( ∃ 𝑡 ( ( 𝑢𝑧𝑧𝑡 ) ∧ ( 𝑢𝑡𝑡𝑥 ) ) ↔ 𝑢 = 𝑣 ) ) ↔ ∃ 𝑥𝑦𝑧 ( ( 𝑦𝑧𝑧𝑤 ) → ∃ 𝑤𝑦 ( ∃ 𝑤 ( ( 𝑦𝑧𝑧𝑤 ) ∧ ( 𝑦𝑤𝑤𝑥 ) ) ↔ 𝑦 = 𝑤 ) ) )
28 1 27 mpbi 𝑥𝑦𝑧 ( ( 𝑦𝑧𝑧𝑤 ) → ∃ 𝑤𝑦 ( ∃ 𝑤 ( ( 𝑦𝑧𝑧𝑤 ) ∧ ( 𝑦𝑤𝑤𝑥 ) ) ↔ 𝑦 = 𝑤 ) )