Metamath Proof Explorer


Theorem csbiebt

Description: Conversion of implicit substitution to explicit substitution into a class. (Closed theorem version of csbiegf .) (Contributed by NM, 11-Nov-2005)

Ref Expression
Assertion csbiebt ( ( 𝐴 ∈ 𝑉 ∧ Ⅎ 𝑥 𝐶 ) → ( ∀ 𝑥 ( 𝑥 = 𝐴 → 𝐵 = 𝐶 ) ↔ ⦋ 𝐴 / 𝑥 ⦌ 𝐵 = 𝐶 ) )

Proof

Step Hyp Ref Expression
1 elex ⊢ ( 𝐴 ∈ 𝑉 → 𝐴 ∈ V )
2 spsbc ⊢ ( 𝐴 ∈ V → ( ∀ 𝑥 ( 𝑥 = 𝐴 → 𝐵 = 𝐶 ) → [ 𝐴 / 𝑥 ] ( 𝑥 = 𝐴 → 𝐵 = 𝐶 ) ) )
3 2 adantr ⊢ ( ( 𝐴 ∈ V ∧ Ⅎ 𝑥 𝐶 ) → ( ∀ 𝑥 ( 𝑥 = 𝐴 → 𝐵 = 𝐶 ) → [ 𝐴 / 𝑥 ] ( 𝑥 = 𝐴 → 𝐵 = 𝐶 ) ) )
4 simpl ⊢ ( ( 𝐴 ∈ V ∧ Ⅎ 𝑥 𝐶 ) → 𝐴 ∈ V )
5 biimt ⊢ ( 𝑥 = 𝐴 → ( 𝐵 = 𝐶 ↔ ( 𝑥 = 𝐴 → 𝐵 = 𝐶 ) ) )
6 csbeq1a ⊢ ( 𝑥 = 𝐴 → 𝐵 = ⦋ 𝐴 / 𝑥 ⦌ 𝐵 )
7 6 eqeq1d ⊢ ( 𝑥 = 𝐴 → ( 𝐵 = 𝐶 ↔ ⦋ 𝐴 / 𝑥 ⦌ 𝐵 = 𝐶 ) )
8 5 7 bitr3d ⊢ ( 𝑥 = 𝐴 → ( ( 𝑥 = 𝐴 → 𝐵 = 𝐶 ) ↔ ⦋ 𝐴 / 𝑥 ⦌ 𝐵 = 𝐶 ) )
9 8 adantl ⊢ ( ( ( 𝐴 ∈ V ∧ Ⅎ 𝑥 𝐶 ) ∧ 𝑥 = 𝐴 ) → ( ( 𝑥 = 𝐴 → 𝐵 = 𝐶 ) ↔ ⦋ 𝐴 / 𝑥 ⦌ 𝐵 = 𝐶 ) )
10 nfv ⊢ Ⅎ 𝑥 𝐴 ∈ V
11 nfnfc1 ⊢ Ⅎ 𝑥 Ⅎ 𝑥 𝐶
12 10 11 nfan ⊢ Ⅎ 𝑥 ( 𝐴 ∈ V ∧ Ⅎ 𝑥 𝐶 )
13 nfcsb1v ⊢ Ⅎ 𝑥 ⦋ 𝐴 / 𝑥 ⦌ 𝐵
14 13 a1i ⊢ ( ( 𝐴 ∈ V ∧ Ⅎ 𝑥 𝐶 ) → Ⅎ 𝑥 ⦋ 𝐴 / 𝑥 ⦌ 𝐵 )
15 simpr ⊢ ( ( 𝐴 ∈ V ∧ Ⅎ 𝑥 𝐶 ) → Ⅎ 𝑥 𝐶 )
16 14 15 nfeqd ⊢ ( ( 𝐴 ∈ V ∧ Ⅎ 𝑥 𝐶 ) → Ⅎ 𝑥 ⦋ 𝐴 / 𝑥 ⦌ 𝐵 = 𝐶 )
17 4 9 12 16 sbciedf ⊢ ( ( 𝐴 ∈ V ∧ Ⅎ 𝑥 𝐶 ) → ( [ 𝐴 / 𝑥 ] ( 𝑥 = 𝐴 → 𝐵 = 𝐶 ) ↔ ⦋ 𝐴 / 𝑥 ⦌ 𝐵 = 𝐶 ) )
18 3 17 sylibd ⊢ ( ( 𝐴 ∈ V ∧ Ⅎ 𝑥 𝐶 ) → ( ∀ 𝑥 ( 𝑥 = 𝐴 → 𝐵 = 𝐶 ) → ⦋ 𝐴 / 𝑥 ⦌ 𝐵 = 𝐶 ) )
19 13 a1i ⊢ ( Ⅎ 𝑥 𝐶 → Ⅎ 𝑥 ⦋ 𝐴 / 𝑥 ⦌ 𝐵 )
20 id ⊢ ( Ⅎ 𝑥 𝐶 → Ⅎ 𝑥 𝐶 )
21 19 20 nfeqd ⊢ ( Ⅎ 𝑥 𝐶 → Ⅎ 𝑥 ⦋ 𝐴 / 𝑥 ⦌ 𝐵 = 𝐶 )
22 11 21 nfan1 ⊢ Ⅎ 𝑥 ( Ⅎ 𝑥 𝐶 ∧ ⦋ 𝐴 / 𝑥 ⦌ 𝐵 = 𝐶 )
23 7 biimprcd ⊢ ( ⦋ 𝐴 / 𝑥 ⦌ 𝐵 = 𝐶 → ( 𝑥 = 𝐴 → 𝐵 = 𝐶 ) )
24 23 adantl ⊢ ( ( Ⅎ 𝑥 𝐶 ∧ ⦋ 𝐴 / 𝑥 ⦌ 𝐵 = 𝐶 ) → ( 𝑥 = 𝐴 → 𝐵 = 𝐶 ) )
25 22 24 alrimi ⊢ ( ( Ⅎ 𝑥 𝐶 ∧ ⦋ 𝐴 / 𝑥 ⦌ 𝐵 = 𝐶 ) → ∀ 𝑥 ( 𝑥 = 𝐴 → 𝐵 = 𝐶 ) )
26 25 ex ⊢ ( Ⅎ 𝑥 𝐶 → ( ⦋ 𝐴 / 𝑥 ⦌ 𝐵 = 𝐶 → ∀ 𝑥 ( 𝑥 = 𝐴 → 𝐵 = 𝐶 ) ) )
27 26 adantl ⊢ ( ( 𝐴 ∈ V ∧ Ⅎ 𝑥 𝐶 ) → ( ⦋ 𝐴 / 𝑥 ⦌ 𝐵 = 𝐶 → ∀ 𝑥 ( 𝑥 = 𝐴 → 𝐵 = 𝐶 ) ) )
28 18 27 impbid ⊢ ( ( 𝐴 ∈ V ∧ Ⅎ 𝑥 𝐶 ) → ( ∀ 𝑥 ( 𝑥 = 𝐴 → 𝐵 = 𝐶 ) ↔ ⦋ 𝐴 / 𝑥 ⦌ 𝐵 = 𝐶 ) )
29 1 28 sylan ⊢ ( ( 𝐴 ∈ 𝑉 ∧ Ⅎ 𝑥 𝐶 ) → ( ∀ 𝑥 ( 𝑥 = 𝐴 → 𝐵 = 𝐶 ) ↔ ⦋ 𝐴 / 𝑥 ⦌ 𝐵 = 𝐶 ) )