Metamath Proof Explorer


Theorem ifeqeqx

Description: An equality theorem tailored for ballotlemsf1o . (Contributed by Thierry Arnoux, 14-Apr-2017)

Ref Expression
Hypotheses ifeqeqx.1 ⊢ x = X → A = C
ifeqeqx.2 ⊢ x = Y → B = a
ifeqeqx.3 ⊢ x = X → χ ↔ θ
ifeqeqx.4 ⊢ x = Y → χ ↔ ψ
ifeqeqx.5 ⊢ φ → a = C
ifeqeqx.6 ⊢ φ ∧ ψ → θ
ifeqeqx.y ⊢ φ → Y ∈ V
ifeqeqx.x ⊢ φ → X ∈ W
Assertion ifeqeqx ⊢ φ ∧ x = if ψ X Y → a = if χ A B

Proof

Step Hyp Ref Expression
1 ifeqeqx.1 ⊢ x = X → A = C
2 ifeqeqx.2 ⊢ x = Y → B = a
3 ifeqeqx.3 ⊢ x = X → χ ↔ θ
4 ifeqeqx.4 ⊢ x = Y → χ ↔ ψ
5 ifeqeqx.5 ⊢ φ → a = C
6 ifeqeqx.6 ⊢ φ ∧ ψ → θ
7 ifeqeqx.y ⊢ φ → Y ∈ V
8 ifeqeqx.x ⊢ φ → X ∈ W
9 eqeq2 ⊢ A = if χ A B → a = A ↔ a = if χ A B
10 eqeq2 ⊢ B = if χ A B → a = B ↔ a = if χ A B
11 simplr ⊢ φ ∧ x = if ψ X Y ∧ χ → x = if ψ X Y
12 simpll ⊢ φ ∧ x = if ψ X Y ∧ χ → φ
13 simpr ⊢ φ ∧ x = if ψ X Y ∧ χ → χ
14 sbceq1a ⊢ x = if ψ X Y → χ ↔ [˙ if ψ X Y / x]˙ χ
15 14 biimpd ⊢ x = if ψ X Y → χ → [˙ if ψ X Y / x]˙ χ
16 11 13 15 sylc ⊢ φ ∧ x = if ψ X Y ∧ χ → [˙ if ψ X Y / x]˙ χ
17 dfsbcq ⊢ X = if ψ X Y → [˙X / x]˙ χ ↔ [˙ if ψ X Y / x]˙ χ
18 csbeq1 ⊢ X = if ψ X Y → ⦋ X / x⦌ A = ⦋ if ψ X Y / x⦌ A
19 18 eqeq2d ⊢ X = if ψ X Y → a = ⦋ X / x⦌ A ↔ a = ⦋ if ψ X Y / x⦌ A
20 17 19 imbi12d ⊢ X = if ψ X Y → [˙X / x]˙ χ → a = ⦋ X / x⦌ A ↔ [˙ if ψ X Y / x]˙ χ → a = ⦋ if ψ X Y / x⦌ A
21 dfsbcq ⊢ Y = if ψ X Y → [˙Y / x]˙ χ ↔ [˙ if ψ X Y / x]˙ χ
22 csbeq1 ⊢ Y = if ψ X Y → ⦋ Y / x⦌ A = ⦋ if ψ X Y / x⦌ A
23 22 eqeq2d ⊢ Y = if ψ X Y → a = ⦋ Y / x⦌ A ↔ a = ⦋ if ψ X Y / x⦌ A
24 21 23 imbi12d ⊢ Y = if ψ X Y → [˙Y / x]˙ χ → a = ⦋ Y / x⦌ A ↔ [˙ if ψ X Y / x]˙ χ → a = ⦋ if ψ X Y / x⦌ A
25 nfcvd ⊢ X ∈ W → Ⅎ _ x C
26 25 1 csbiegf ⊢ X ∈ W → ⦋ X / x⦌ A = C
27 8 26 syl ⊢ φ → ⦋ X / x⦌ A = C
28 27 5 eqtr4d ⊢ φ → ⦋ X / x⦌ A = a
29 28 adantr ⊢ φ ∧ ψ → ⦋ X / x⦌ A = a
30 29 eqcomd ⊢ φ ∧ ψ → a = ⦋ X / x⦌ A
31 30 a1d ⊢ φ ∧ ψ → [˙X / x]˙ χ → a = ⦋ X / x⦌ A
32 pm3.24 ⊢ ¬ ψ ∧ ¬ ψ
33 4 sbcieg ⊢ Y ∈ V → [˙Y / x]˙ χ ↔ ψ
34 7 33 syl ⊢ φ → [˙Y / x]˙ χ ↔ ψ
35 34 anbi1d ⊢ φ → [˙Y / x]˙ χ ∧ ¬ ψ ↔ ψ ∧ ¬ ψ
36 32 35 mtbiri ⊢ φ → ¬ [˙Y / x]˙ χ ∧ ¬ ψ
37 36 pm2.21d ⊢ φ → [˙Y / x]˙ χ ∧ ¬ ψ → a = ⦋ Y / x⦌ A
38 37 imp ⊢ φ ∧ [˙Y / x]˙ χ ∧ ¬ ψ → a = ⦋ Y / x⦌ A
39 38 anass1rs ⊢ φ ∧ ¬ ψ ∧ [˙Y / x]˙ χ → a = ⦋ Y / x⦌ A
40 39 ex ⊢ φ ∧ ¬ ψ → [˙Y / x]˙ χ → a = ⦋ Y / x⦌ A
41 20 24 31 40 ifbothda ⊢ φ → [˙ if ψ X Y / x]˙ χ → a = ⦋ if ψ X Y / x⦌ A
42 12 16 41 sylc ⊢ φ ∧ x = if ψ X Y ∧ χ → a = ⦋ if ψ X Y / x⦌ A
43 csbeq1a ⊢ x = if ψ X Y → A = ⦋ if ψ X Y / x⦌ A
44 43 eqeq2d ⊢ x = if ψ X Y → a = A ↔ a = ⦋ if ψ X Y / x⦌ A
45 44 biimprd ⊢ x = if ψ X Y → a = ⦋ if ψ X Y / x⦌ A → a = A
46 11 42 45 sylc ⊢ φ ∧ x = if ψ X Y ∧ χ → a = A
47 simplr ⊢ φ ∧ x = if ψ X Y ∧ ¬ χ → x = if ψ X Y
48 simpll ⊢ φ ∧ x = if ψ X Y ∧ ¬ χ → φ
49 simpr ⊢ φ ∧ x = if ψ X Y ∧ ¬ χ → ¬ χ
50 14 notbid ⊢ x = if ψ X Y → ¬ χ ↔ ¬ [˙ if ψ X Y / x]˙ χ
51 50 biimpd ⊢ x = if ψ X Y → ¬ χ → ¬ [˙ if ψ X Y / x]˙ χ
52 47 49 51 sylc ⊢ φ ∧ x = if ψ X Y ∧ ¬ χ → ¬ [˙ if ψ X Y / x]˙ χ
53 17 notbid ⊢ X = if ψ X Y → ¬ [˙X / x]˙ χ ↔ ¬ [˙ if ψ X Y / x]˙ χ
54 csbeq1 ⊢ X = if ψ X Y → ⦋ X / x⦌ B = ⦋ if ψ X Y / x⦌ B
55 54 eqeq2d ⊢ X = if ψ X Y → a = ⦋ X / x⦌ B ↔ a = ⦋ if ψ X Y / x⦌ B
56 53 55 imbi12d ⊢ X = if ψ X Y → ¬ [˙X / x]˙ χ → a = ⦋ X / x⦌ B ↔ ¬ [˙ if ψ X Y / x]˙ χ → a = ⦋ if ψ X Y / x⦌ B
57 21 notbid ⊢ Y = if ψ X Y → ¬ [˙Y / x]˙ χ ↔ ¬ [˙ if ψ X Y / x]˙ χ
58 csbeq1 ⊢ Y = if ψ X Y → ⦋ Y / x⦌ B = ⦋ if ψ X Y / x⦌ B
59 58 eqeq2d ⊢ Y = if ψ X Y → a = ⦋ Y / x⦌ B ↔ a = ⦋ if ψ X Y / x⦌ B
60 57 59 imbi12d ⊢ Y = if ψ X Y → ¬ [˙Y / x]˙ χ → a = ⦋ Y / x⦌ B ↔ ¬ [˙ if ψ X Y / x]˙ χ → a = ⦋ if ψ X Y / x⦌ B
61 3 sbcieg ⊢ X ∈ W → [˙X / x]˙ χ ↔ θ
62 8 61 syl ⊢ φ → [˙X / x]˙ χ ↔ θ
63 62 notbid ⊢ φ → ¬ [˙X / x]˙ χ ↔ ¬ θ
64 63 biimpd ⊢ φ → ¬ [˙X / x]˙ χ → ¬ θ
65 6 ex ⊢ φ → ψ → θ
66 64 65 nsyld ⊢ φ → ¬ [˙X / x]˙ χ → ¬ ψ
67 66 anim2d ⊢ φ → ψ ∧ ¬ [˙X / x]˙ χ → ψ ∧ ¬ ψ
68 32 67 mtoi ⊢ φ → ¬ ψ ∧ ¬ [˙X / x]˙ χ
69 68 pm2.21d ⊢ φ → ψ ∧ ¬ [˙X / x]˙ χ → a = ⦋ X / x⦌ B
70 69 expdimp ⊢ φ ∧ ψ → ¬ [˙X / x]˙ χ → a = ⦋ X / x⦌ B
71 nfcvd ⊢ Y ∈ V → Ⅎ _ x a
72 71 2 csbiegf ⊢ Y ∈ V → ⦋ Y / x⦌ B = a
73 7 72 syl ⊢ φ → ⦋ Y / x⦌ B = a
74 73 adantr ⊢ φ ∧ ¬ ψ → ⦋ Y / x⦌ B = a
75 74 eqcomd ⊢ φ ∧ ¬ ψ → a = ⦋ Y / x⦌ B
76 75 a1d ⊢ φ ∧ ¬ ψ → ¬ [˙Y / x]˙ χ → a = ⦋ Y / x⦌ B
77 56 60 70 76 ifbothda ⊢ φ → ¬ [˙ if ψ X Y / x]˙ χ → a = ⦋ if ψ X Y / x⦌ B
78 48 52 77 sylc ⊢ φ ∧ x = if ψ X Y ∧ ¬ χ → a = ⦋ if ψ X Y / x⦌ B
79 csbeq1a ⊢ x = if ψ X Y → B = ⦋ if ψ X Y / x⦌ B
80 79 eqeq2d ⊢ x = if ψ X Y → a = B ↔ a = ⦋ if ψ X Y / x⦌ B
81 80 biimprd ⊢ x = if ψ X Y → a = ⦋ if ψ X Y / x⦌ B → a = B
82 47 78 81 sylc ⊢ φ ∧ x = if ψ X Y ∧ ¬ χ → a = B
83 9 10 46 82 ifbothda ⊢ φ ∧ x = if ψ X Y → a = if χ A B