Metamath Proof Explorer


Theorem sbccom2

Description: Commutative law for double class substitution. (Contributed by Giovanni Mascellani, 31-May-2019)

Ref Expression
Hypothesis sbccom2.1 ⊢ A ∈ V
Assertion sbccom2 ⊢ [˙A / x]˙ [˙B / y]˙ φ ↔ [˙⦋ A / x⦌ B / y]˙ [˙A / x]˙ φ

Proof

Step Hyp Ref Expression
1 sbccom2.1 ⊢ A ∈ V
2 sbccow ⊢ [˙B / w]˙ [˙w / y]˙ φ ↔ [˙B / y]˙ φ
3 2 bicomi ⊢ [˙B / y]˙ φ ↔ [˙B / w]˙ [˙w / y]˙ φ
4 3 sbcbii ⊢ [˙A / x]˙ [˙B / y]˙ φ ↔ [˙A / x]˙ [˙B / w]˙ [˙w / y]˙ φ
5 sbccow ⊢ [˙A / z]˙ [˙z / x]˙ [˙B / w]˙ [˙w / y]˙ φ ↔ [˙A / x]˙ [˙B / w]˙ [˙w / y]˙ φ
6 5 bicomi ⊢ [˙A / x]˙ [˙B / w]˙ [˙w / y]˙ φ ↔ [˙A / z]˙ [˙z / x]˙ [˙B / w]˙ [˙w / y]˙ φ
7 vex ⊢ z ∈ V
8 7 sbccom2lem ⊢ [˙z / x]˙ [˙B / w]˙ [˙w / y]˙ φ ↔ [˙⦋ z / x⦌ B / w]˙ [˙z / x]˙ [˙w / y]˙ φ
9 8 sbcbii ⊢ [˙A / z]˙ [˙z / x]˙ [˙B / w]˙ [˙w / y]˙ φ ↔ [˙A / z]˙ [˙⦋ z / x⦌ B / w]˙ [˙z / x]˙ [˙w / y]˙ φ
10 4 6 9 3bitri ⊢ [˙A / x]˙ [˙B / y]˙ φ ↔ [˙A / z]˙ [˙⦋ z / x⦌ B / w]˙ [˙z / x]˙ [˙w / y]˙ φ
11 1 sbccom2lem ⊢ [˙A / z]˙ [˙⦋ z / x⦌ B / w]˙ [˙z / x]˙ [˙w / y]˙ φ ↔ [˙⦋ A / z⦌ ⦋ z / x⦌ B / w]˙ [˙A / z]˙ [˙z / x]˙ [˙w / y]˙ φ
12 sbccow ⊢ [˙A / z]˙ [˙z / x]˙ [˙w / y]˙ φ ↔ [˙A / x]˙ [˙w / y]˙ φ
13 12 sbcbii ⊢ [˙⦋ A / z⦌ ⦋ z / x⦌ B / w]˙ [˙A / z]˙ [˙z / x]˙ [˙w / y]˙ φ ↔ [˙⦋ A / z⦌ ⦋ z / x⦌ B / w]˙ [˙A / x]˙ [˙w / y]˙ φ
14 10 11 13 3bitri ⊢ [˙A / x]˙ [˙B / y]˙ φ ↔ [˙⦋ A / z⦌ ⦋ z / x⦌ B / w]˙ [˙A / x]˙ [˙w / y]˙ φ
15 csbcow ⊢ ⦋ A / z⦌ ⦋ z / x⦌ B = ⦋ A / x⦌ B
16 dfsbcq ⊢ ⦋ A / z⦌ ⦋ z / x⦌ B = ⦋ A / x⦌ B → [˙⦋ A / z⦌ ⦋ z / x⦌ B / w]˙ [˙A / x]˙ [˙w / y]˙ φ ↔ [˙⦋ A / x⦌ B / w]˙ [˙A / x]˙ [˙w / y]˙ φ
17 15 16 ax-mp ⊢ [˙⦋ A / z⦌ ⦋ z / x⦌ B / w]˙ [˙A / x]˙ [˙w / y]˙ φ ↔ [˙⦋ A / x⦌ B / w]˙ [˙A / x]˙ [˙w / y]˙ φ
18 14 17 bitri ⊢ [˙A / x]˙ [˙B / y]˙ φ ↔ [˙⦋ A / x⦌ B / w]˙ [˙A / x]˙ [˙w / y]˙ φ
19 sbccom ⊢ [˙A / x]˙ [˙w / y]˙ φ ↔ [˙w / y]˙ [˙A / x]˙ φ
20 19 sbcbii ⊢ [˙⦋ A / x⦌ B / w]˙ [˙A / x]˙ [˙w / y]˙ φ ↔ [˙⦋ A / x⦌ B / w]˙ [˙w / y]˙ [˙A / x]˙ φ
21 sbccow ⊢ [˙⦋ A / x⦌ B / w]˙ [˙w / y]˙ [˙A / x]˙ φ ↔ [˙⦋ A / x⦌ B / y]˙ [˙A / x]˙ φ
22 18 20 21 3bitri ⊢ [˙A / x]˙ [˙B / y]˙ φ ↔ [˙⦋ A / x⦌ B / y]˙ [˙A / x]˙ φ