Metamath Proof Explorer


Theorem dfac5prim

Description: dfac5 expanded into primitives. (Contributed by Eric Schmidt, 19-Oct-2025)

Ref Expression
Assertion dfac5prim ( CHOICE ↔ ∀ 𝑥 ( ( ∀ 𝑧 ( 𝑧𝑥 → ∃ 𝑤 𝑤𝑧 ) ∧ ∀ 𝑧𝑤 ( ( 𝑧𝑥𝑤𝑥 ) → ( ¬ 𝑧 = 𝑤 → ∀ 𝑦 ( 𝑦𝑧 → ¬ 𝑦𝑤 ) ) ) ) → ∃ 𝑦𝑧 ( 𝑧𝑥 → ∃ 𝑤𝑣 ( ( 𝑣𝑧𝑣𝑦 ) ↔ 𝑣 = 𝑤 ) ) ) )

Proof

Step Hyp Ref Expression
1 dfac5 ( CHOICE ↔ ∀ 𝑥 ( ( ∀ 𝑧𝑥 𝑧 ≠ ∅ ∧ ∀ 𝑧𝑥𝑤𝑥 ( 𝑧𝑤 → ( 𝑧𝑤 ) = ∅ ) ) → ∃ 𝑦𝑧𝑥 ∃! 𝑣 𝑣 ∈ ( 𝑧𝑦 ) ) )
2 n0 ( 𝑧 ≠ ∅ ↔ ∃ 𝑤 𝑤𝑧 )
3 2 ralbii ( ∀ 𝑧𝑥 𝑧 ≠ ∅ ↔ ∀ 𝑧𝑥𝑤 𝑤𝑧 )
4 df-ral ( ∀ 𝑧𝑥𝑤 𝑤𝑧 ↔ ∀ 𝑧 ( 𝑧𝑥 → ∃ 𝑤 𝑤𝑧 ) )
5 3 4 bitri ( ∀ 𝑧𝑥 𝑧 ≠ ∅ ↔ ∀ 𝑧 ( 𝑧𝑥 → ∃ 𝑤 𝑤𝑧 ) )
6 df-ne ( 𝑧𝑤 ↔ ¬ 𝑧 = 𝑤 )
7 disj1 ( ( 𝑧𝑤 ) = ∅ ↔ ∀ 𝑦 ( 𝑦𝑧 → ¬ 𝑦𝑤 ) )
8 6 7 imbi12i ( ( 𝑧𝑤 → ( 𝑧𝑤 ) = ∅ ) ↔ ( ¬ 𝑧 = 𝑤 → ∀ 𝑦 ( 𝑦𝑧 → ¬ 𝑦𝑤 ) ) )
9 8 2ralbii ( ∀ 𝑧𝑥𝑤𝑥 ( 𝑧𝑤 → ( 𝑧𝑤 ) = ∅ ) ↔ ∀ 𝑧𝑥𝑤𝑥 ( ¬ 𝑧 = 𝑤 → ∀ 𝑦 ( 𝑦𝑧 → ¬ 𝑦𝑤 ) ) )
10 r2al ( ∀ 𝑧𝑥𝑤𝑥 ( ¬ 𝑧 = 𝑤 → ∀ 𝑦 ( 𝑦𝑧 → ¬ 𝑦𝑤 ) ) ↔ ∀ 𝑧𝑤 ( ( 𝑧𝑥𝑤𝑥 ) → ( ¬ 𝑧 = 𝑤 → ∀ 𝑦 ( 𝑦𝑧 → ¬ 𝑦𝑤 ) ) ) )
11 9 10 bitri ( ∀ 𝑧𝑥𝑤𝑥 ( 𝑧𝑤 → ( 𝑧𝑤 ) = ∅ ) ↔ ∀ 𝑧𝑤 ( ( 𝑧𝑥𝑤𝑥 ) → ( ¬ 𝑧 = 𝑤 → ∀ 𝑦 ( 𝑦𝑧 → ¬ 𝑦𝑤 ) ) ) )
12 5 11 anbi12i ( ( ∀ 𝑧𝑥 𝑧 ≠ ∅ ∧ ∀ 𝑧𝑥𝑤𝑥 ( 𝑧𝑤 → ( 𝑧𝑤 ) = ∅ ) ) ↔ ( ∀ 𝑧 ( 𝑧𝑥 → ∃ 𝑤 𝑤𝑧 ) ∧ ∀ 𝑧𝑤 ( ( 𝑧𝑥𝑤𝑥 ) → ( ¬ 𝑧 = 𝑤 → ∀ 𝑦 ( 𝑦𝑧 → ¬ 𝑦𝑤 ) ) ) ) )
13 elin ( 𝑣 ∈ ( 𝑧𝑦 ) ↔ ( 𝑣𝑧𝑣𝑦 ) )
14 13 eubii ( ∃! 𝑣 𝑣 ∈ ( 𝑧𝑦 ) ↔ ∃! 𝑣 ( 𝑣𝑧𝑣𝑦 ) )
15 eu6 ( ∃! 𝑣 ( 𝑣𝑧𝑣𝑦 ) ↔ ∃ 𝑤𝑣 ( ( 𝑣𝑧𝑣𝑦 ) ↔ 𝑣 = 𝑤 ) )
16 14 15 bitri ( ∃! 𝑣 𝑣 ∈ ( 𝑧𝑦 ) ↔ ∃ 𝑤𝑣 ( ( 𝑣𝑧𝑣𝑦 ) ↔ 𝑣 = 𝑤 ) )
17 16 ralbii ( ∀ 𝑧𝑥 ∃! 𝑣 𝑣 ∈ ( 𝑧𝑦 ) ↔ ∀ 𝑧𝑥𝑤𝑣 ( ( 𝑣𝑧𝑣𝑦 ) ↔ 𝑣 = 𝑤 ) )
18 df-ral ( ∀ 𝑧𝑥𝑤𝑣 ( ( 𝑣𝑧𝑣𝑦 ) ↔ 𝑣 = 𝑤 ) ↔ ∀ 𝑧 ( 𝑧𝑥 → ∃ 𝑤𝑣 ( ( 𝑣𝑧𝑣𝑦 ) ↔ 𝑣 = 𝑤 ) ) )
19 17 18 bitri ( ∀ 𝑧𝑥 ∃! 𝑣 𝑣 ∈ ( 𝑧𝑦 ) ↔ ∀ 𝑧 ( 𝑧𝑥 → ∃ 𝑤𝑣 ( ( 𝑣𝑧𝑣𝑦 ) ↔ 𝑣 = 𝑤 ) ) )
20 19 exbii ( ∃ 𝑦𝑧𝑥 ∃! 𝑣 𝑣 ∈ ( 𝑧𝑦 ) ↔ ∃ 𝑦𝑧 ( 𝑧𝑥 → ∃ 𝑤𝑣 ( ( 𝑣𝑧𝑣𝑦 ) ↔ 𝑣 = 𝑤 ) ) )
21 12 20 imbi12i ( ( ( ∀ 𝑧𝑥 𝑧 ≠ ∅ ∧ ∀ 𝑧𝑥𝑤𝑥 ( 𝑧𝑤 → ( 𝑧𝑤 ) = ∅ ) ) → ∃ 𝑦𝑧𝑥 ∃! 𝑣 𝑣 ∈ ( 𝑧𝑦 ) ) ↔ ( ( ∀ 𝑧 ( 𝑧𝑥 → ∃ 𝑤 𝑤𝑧 ) ∧ ∀ 𝑧𝑤 ( ( 𝑧𝑥𝑤𝑥 ) → ( ¬ 𝑧 = 𝑤 → ∀ 𝑦 ( 𝑦𝑧 → ¬ 𝑦𝑤 ) ) ) ) → ∃ 𝑦𝑧 ( 𝑧𝑥 → ∃ 𝑤𝑣 ( ( 𝑣𝑧𝑣𝑦 ) ↔ 𝑣 = 𝑤 ) ) ) )
22 21 albii ( ∀ 𝑥 ( ( ∀ 𝑧𝑥 𝑧 ≠ ∅ ∧ ∀ 𝑧𝑥𝑤𝑥 ( 𝑧𝑤 → ( 𝑧𝑤 ) = ∅ ) ) → ∃ 𝑦𝑧𝑥 ∃! 𝑣 𝑣 ∈ ( 𝑧𝑦 ) ) ↔ ∀ 𝑥 ( ( ∀ 𝑧 ( 𝑧𝑥 → ∃ 𝑤 𝑤𝑧 ) ∧ ∀ 𝑧𝑤 ( ( 𝑧𝑥𝑤𝑥 ) → ( ¬ 𝑧 = 𝑤 → ∀ 𝑦 ( 𝑦𝑧 → ¬ 𝑦𝑤 ) ) ) ) → ∃ 𝑦𝑧 ( 𝑧𝑥 → ∃ 𝑤𝑣 ( ( 𝑣𝑧𝑣𝑦 ) ↔ 𝑣 = 𝑤 ) ) ) )
23 1 22 bitri ( CHOICE ↔ ∀ 𝑥 ( ( ∀ 𝑧 ( 𝑧𝑥 → ∃ 𝑤 𝑤𝑧 ) ∧ ∀ 𝑧𝑤 ( ( 𝑧𝑥𝑤𝑥 ) → ( ¬ 𝑧 = 𝑤 → ∀ 𝑦 ( 𝑦𝑧 → ¬ 𝑦𝑤 ) ) ) ) → ∃ 𝑦𝑧 ( 𝑧𝑥 → ∃ 𝑤𝑣 ( ( 𝑣𝑧𝑣𝑦 ) ↔ 𝑣 = 𝑤 ) ) ) )