Metamath Proof Explorer


Theorem trsbcVD

Description: Formula-building inference rule for class substitution, substituting a class variable for the setvar variable of the transitivity predicate. The following User's Proof is a Virtual Deduction proof completed automatically by the tools program completeusersproof.cmd, which invokes Mel L. O'Cat's mmj2 and Norm Megill's Metamath Proof Assistant. trsbc is trsbcVD without virtual deductions and was automatically derived from trsbcVD .

1:: |- (. A e. B ->. A e. B ).
2:1: |- (. A e. B ->. ( [. A / x ]. z e. y <-> z e. y ) ).
3:1: |- (. A e. B ->. ( [. A / x ]. y e. x <-> y e. A ) ).
4:1: |- (. A e. B ->. ( [. A / x ]. z e. x <-> z e. A ) ).
5:1,2,3,4: |- (. A e. B ->. ( ( [. A / x ]. z e. y -> ( [. A / x ]. y e. x -> [. A / x ]. z e. x ) ) <-> ( z e. y -> ( y e. A -> z e. A ) ) ) ).
6:1: |- (. A e. B ->. ( [. A / x ]. ( z e. y -> ( y e. x -> z e. x ) ) <-> ( [. A / x ]. z e. y -> ( [. A / x ]. y e. x -> [. A / x ]. z e. x ) ) ) ).
7:5,6: |- (. A e. B ->. ( [. A / x ]. ( z e. y -> ( y e. x -> z e. x ) ) <-> ( z e. y -> ( y e. A -> z e. A ) ) ) ).
8:: |- ( ( z e. y -> ( y e. A -> z e. A ) ) <-> ( ( z e. y /\ y e. A ) -> z e. A ) )
9:7,8: |- (. A e. B ->. ( [. A / x ]. ( z e. y -> ( y e. x -> z e. x ) ) <-> ( ( z e. y /\ y e. A ) -> z e. A ) ) ).
10:: |- ( ( z e. y -> ( y e. x -> z e. x ) ) <-> ( ( z e. y /\ y e. x ) -> z e. x ) )
11:10: |- A. x ( ( z e. y -> ( y e. x -> z e. x ) ) <-> ( ( z e. y /\ y e. x ) -> z e. x ) )
12:1,11: |- (. A e. B ->. ( [. A / x ]. ( z e. y -> ( y e. x -> z e. x ) ) <-> [. A / x ]. ( ( z e. y /\ y e. x ) -> z e. x ) ) ).
13:9,12: |- (. A e. B ->. ( [. A / x ]. ( ( z e. y /\ y e. x ) -> z e. x ) <-> ( ( z e. y /\ y e. A ) -> z e. A ) ) ).
14:13: |- (. A e. B ->. A. y ( [. A / x ]. ( ( z e. y /\ y e. x ) -> z e. x ) <-> ( ( z e. y /\ y e. A ) -> z e. A ) ) ).
15:14: |- (. A e. B ->. ( A. y [. A / x ]. ( ( z e. y /\ y e. x ) -> z e. x ) <-> A. y ( ( z e. y /\ y e. A ) -> z e. A ) ) ).
16:1: |- (. A e. B ->. ( [. A / x ]. A. y ( ( z e. y /\ y e. x ) -> z e. x ) <-> A. y [. A / x ]. ( ( z e. y /\ y e. x ) -> z e. x ) ) ).
17:15,16: |- (. A e. B ->. ( [. A / x ]. A. y ( ( z e. y /\ y e. x ) -> z e. x ) <-> A. y ( ( z e. y /\ y e. A ) -> z e. A ) ) ).
18:17: |- (. A e. B ->. A. z ( [. A / x ]. A. y ( ( z e. y /\ y e. x ) -> z e. x ) <-> A. y ( ( z e. y /\ y e. A ) -> z e. A ) ) ).
19:18: |- (. A e. B ->. ( A. z [. A / x ]. A. y ( ( z e. y /\ y e. x ) -> z e. x ) <-> A. z A. y ( ( z e. y /\ y e. A ) -> z e. A ) ) ).
20:1: |- (. A e. B ->. ( [. A / x ]. A. z A. y ( ( z e. y /\ y e. x ) -> z e. x ) <-> A. z [. A / x ]. A. y ( ( z e. y /\ y e. x ) -> z e. x ) ) ).
21:19,20: |- (. A e. B ->. ( [. A / x ]. A. z A. y ( ( z e. y /\ y e. x ) -> z e. x ) <-> A. z A. y ( ( z e. y /\ y e. A ) -> z e. A ) ) ).
22:: |- ( Tr A <-> A. z A. y ( ( z e. y /\ y e. A ) -> z e. A ) )
23:21,22: |- (. A e. B ->. ( [. A / x ]. A. z A. y ( ( z e. y /\ y e. x ) -> z e. x ) <-> Tr A ) ).
24:: |- ( Tr x <-> A. z A. y ( ( z e. y /\ y e. x ) -> z e. x ) )
25:24: |- A. x ( Tr x <-> A. z A. y ( ( z e. y /\ y e. x ) -> z e. x ) )
26:1,25: |- (. A e. B ->. ( [. A / x ]. Tr x <-> [. A / x ]. A. z A. y ( ( z e. y /\ y e. x ) -> z e. x ) ) ).
27:23,26: |- (. A e. B ->. ( [. A / x ]. Tr x <-> Tr A ) ).
qed:27: |- ( A e. B -> ( [. A / x ]. Tr x <-> Tr A ) )
(Contributed by Alan Sare, 18-Mar-2012) (Proof modification is discouraged.) (New usage is discouraged.)

Ref Expression
Assertion trsbcVD ⊢ A ∈ B → [˙A / x]˙ Tr ⁡ x ↔ Tr ⁡ A

Proof

Step Hyp Ref Expression
1 idn1 ⊢ A ∈ B → A ∈ B
2 sbcg ⊢ A ∈ B → [˙A / x]˙ z ∈ y ↔ z ∈ y
3 1 2 e1a ⊢ A ∈ B → [˙A / x]˙ z ∈ y ↔ z ∈ y
4 sbcel2gv ⊢ A ∈ B → [˙A / x]˙ y ∈ x ↔ y ∈ A
5 1 4 e1a ⊢ A ∈ B → [˙A / x]˙ y ∈ x ↔ y ∈ A
6 sbcel2gv ⊢ A ∈ B → [˙A / x]˙ z ∈ x ↔ z ∈ A
7 1 6 e1a ⊢ A ∈ B → [˙A / x]˙ z ∈ x ↔ z ∈ A
8 imbi13 ⊢ [˙A / x]˙ z ∈ y ↔ z ∈ y → [˙A / x]˙ y ∈ x ↔ y ∈ A → [˙A / x]˙ z ∈ x ↔ z ∈ A → [˙A / x]˙ z ∈ y → [˙A / x]˙ y ∈ x → [˙A / x]˙ z ∈ x ↔ z ∈ y → y ∈ A → z ∈ A
9 8 a1i ⊢ A ∈ B → [˙A / x]˙ z ∈ y ↔ z ∈ y → [˙A / x]˙ y ∈ x ↔ y ∈ A → [˙A / x]˙ z ∈ x ↔ z ∈ A → [˙A / x]˙ z ∈ y → [˙A / x]˙ y ∈ x → [˙A / x]˙ z ∈ x ↔ z ∈ y → y ∈ A → z ∈ A
10 1 3 5 7 9 e1111 ⊢ A ∈ B → [˙A / x]˙ z ∈ y → [˙A / x]˙ y ∈ x → [˙A / x]˙ z ∈ x ↔ z ∈ y → y ∈ A → z ∈ A
11 sbcim2g ⊢ A ∈ B → [˙A / x]˙ z ∈ y → y ∈ x → z ∈ x ↔ [˙A / x]˙ z ∈ y → [˙A / x]˙ y ∈ x → [˙A / x]˙ z ∈ x
12 1 11 e1a ⊢ A ∈ B → [˙A / x]˙ z ∈ y → y ∈ x → z ∈ x ↔ [˙A / x]˙ z ∈ y → [˙A / x]˙ y ∈ x → [˙A / x]˙ z ∈ x
13 bibi1 ⊢ [˙A / x]˙ z ∈ y → y ∈ x → z ∈ x ↔ [˙A / x]˙ z ∈ y → [˙A / x]˙ y ∈ x → [˙A / x]˙ z ∈ x → [˙A / x]˙ z ∈ y → y ∈ x → z ∈ x ↔ z ∈ y → y ∈ A → z ∈ A ↔ [˙A / x]˙ z ∈ y → [˙A / x]˙ y ∈ x → [˙A / x]˙ z ∈ x ↔ z ∈ y → y ∈ A → z ∈ A
14 13 biimprcd ⊢ [˙A / x]˙ z ∈ y → [˙A / x]˙ y ∈ x → [˙A / x]˙ z ∈ x ↔ z ∈ y → y ∈ A → z ∈ A → [˙A / x]˙ z ∈ y → y ∈ x → z ∈ x ↔ [˙A / x]˙ z ∈ y → [˙A / x]˙ y ∈ x → [˙A / x]˙ z ∈ x → [˙A / x]˙ z ∈ y → y ∈ x → z ∈ x ↔ z ∈ y → y ∈ A → z ∈ A
15 10 12 14 e11 ⊢ A ∈ B → [˙A / x]˙ z ∈ y → y ∈ x → z ∈ x ↔ z ∈ y → y ∈ A → z ∈ A
16 pm3.31 ⊢ z ∈ y → y ∈ A → z ∈ A → z ∈ y ∧ y ∈ A → z ∈ A
17 pm3.3 ⊢ z ∈ y ∧ y ∈ A → z ∈ A → z ∈ y → y ∈ A → z ∈ A
18 16 17 impbii ⊢ z ∈ y → y ∈ A → z ∈ A ↔ z ∈ y ∧ y ∈ A → z ∈ A
19 bibi1 ⊢ [˙A / x]˙ z ∈ y → y ∈ x → z ∈ x ↔ z ∈ y → y ∈ A → z ∈ A → [˙A / x]˙ z ∈ y → y ∈ x → z ∈ x ↔ z ∈ y ∧ y ∈ A → z ∈ A ↔ z ∈ y → y ∈ A → z ∈ A ↔ z ∈ y ∧ y ∈ A → z ∈ A
20 19 biimprd ⊢ [˙A / x]˙ z ∈ y → y ∈ x → z ∈ x ↔ z ∈ y → y ∈ A → z ∈ A → z ∈ y → y ∈ A → z ∈ A ↔ z ∈ y ∧ y ∈ A → z ∈ A → [˙A / x]˙ z ∈ y → y ∈ x → z ∈ x ↔ z ∈ y ∧ y ∈ A → z ∈ A
21 15 18 20 e10 ⊢ A ∈ B → [˙A / x]˙ z ∈ y → y ∈ x → z ∈ x ↔ z ∈ y ∧ y ∈ A → z ∈ A
22 pm3.31 ⊢ z ∈ y → y ∈ x → z ∈ x → z ∈ y ∧ y ∈ x → z ∈ x
23 pm3.3 ⊢ z ∈ y ∧ y ∈ x → z ∈ x → z ∈ y → y ∈ x → z ∈ x
24 22 23 impbii ⊢ z ∈ y → y ∈ x → z ∈ x ↔ z ∈ y ∧ y ∈ x → z ∈ x
25 24 ax-gen ⊢ ∀ x z ∈ y → y ∈ x → z ∈ x ↔ z ∈ y ∧ y ∈ x → z ∈ x
26 sbcbi ⊢ A ∈ B → ∀ x z ∈ y → y ∈ x → z ∈ x ↔ z ∈ y ∧ y ∈ x → z ∈ x → [˙A / x]˙ z ∈ y → y ∈ x → z ∈ x ↔ [˙A / x]˙ z ∈ y ∧ y ∈ x → z ∈ x
27 1 25 26 e10 ⊢ A ∈ B → [˙A / x]˙ z ∈ y → y ∈ x → z ∈ x ↔ [˙A / x]˙ z ∈ y ∧ y ∈ x → z ∈ x
28 bitr3 ⊢ [˙A / x]˙ z ∈ y → y ∈ x → z ∈ x ↔ [˙A / x]˙ z ∈ y ∧ y ∈ x → z ∈ x → [˙A / x]˙ z ∈ y → y ∈ x → z ∈ x ↔ z ∈ y ∧ y ∈ A → z ∈ A → [˙A / x]˙ z ∈ y ∧ y ∈ x → z ∈ x ↔ z ∈ y ∧ y ∈ A → z ∈ A
29 28 com12 ⊢ [˙A / x]˙ z ∈ y → y ∈ x → z ∈ x ↔ z ∈ y ∧ y ∈ A → z ∈ A → [˙A / x]˙ z ∈ y → y ∈ x → z ∈ x ↔ [˙A / x]˙ z ∈ y ∧ y ∈ x → z ∈ x → [˙A / x]˙ z ∈ y ∧ y ∈ x → z ∈ x ↔ z ∈ y ∧ y ∈ A → z ∈ A
30 21 27 29 e11 ⊢ A ∈ B → [˙A / x]˙ z ∈ y ∧ y ∈ x → z ∈ x ↔ z ∈ y ∧ y ∈ A → z ∈ A
31 30 gen11 ⊢ A ∈ B → ∀ y [˙A / x]˙ z ∈ y ∧ y ∈ x → z ∈ x ↔ z ∈ y ∧ y ∈ A → z ∈ A
32 albi ⊢ ∀ y [˙A / x]˙ z ∈ y ∧ y ∈ x → z ∈ x ↔ z ∈ y ∧ y ∈ A → z ∈ A → ∀ y [˙A / x]˙ z ∈ y ∧ y ∈ x → z ∈ x ↔ ∀ y z ∈ y ∧ y ∈ A → z ∈ A
33 31 32 e1a ⊢ A ∈ B → ∀ y [˙A / x]˙ z ∈ y ∧ y ∈ x → z ∈ x ↔ ∀ y z ∈ y ∧ y ∈ A → z ∈ A
34 sbcal ⊢ [˙A / x]˙ ∀ y z ∈ y ∧ y ∈ x → z ∈ x ↔ ∀ y [˙A / x]˙ z ∈ y ∧ y ∈ x → z ∈ x
35 34 a1i ⊢ A ∈ B → [˙A / x]˙ ∀ y z ∈ y ∧ y ∈ x → z ∈ x ↔ ∀ y [˙A / x]˙ z ∈ y ∧ y ∈ x → z ∈ x
36 1 35 e1a ⊢ A ∈ B → [˙A / x]˙ ∀ y z ∈ y ∧ y ∈ x → z ∈ x ↔ ∀ y [˙A / x]˙ z ∈ y ∧ y ∈ x → z ∈ x
37 bibi1 ⊢ [˙A / x]˙ ∀ y z ∈ y ∧ y ∈ x → z ∈ x ↔ ∀ y [˙A / x]˙ z ∈ y ∧ y ∈ x → z ∈ x → [˙A / x]˙ ∀ y z ∈ y ∧ y ∈ x → z ∈ x ↔ ∀ y z ∈ y ∧ y ∈ A → z ∈ A ↔ ∀ y [˙A / x]˙ z ∈ y ∧ y ∈ x → z ∈ x ↔ ∀ y z ∈ y ∧ y ∈ A → z ∈ A
38 37 biimprcd ⊢ ∀ y [˙A / x]˙ z ∈ y ∧ y ∈ x → z ∈ x ↔ ∀ y z ∈ y ∧ y ∈ A → z ∈ A → [˙A / x]˙ ∀ y z ∈ y ∧ y ∈ x → z ∈ x ↔ ∀ y [˙A / x]˙ z ∈ y ∧ y ∈ x → z ∈ x → [˙A / x]˙ ∀ y z ∈ y ∧ y ∈ x → z ∈ x ↔ ∀ y z ∈ y ∧ y ∈ A → z ∈ A
39 33 36 38 e11 ⊢ A ∈ B → [˙A / x]˙ ∀ y z ∈ y ∧ y ∈ x → z ∈ x ↔ ∀ y z ∈ y ∧ y ∈ A → z ∈ A
40 39 gen11 ⊢ A ∈ B → ∀ z [˙A / x]˙ ∀ y z ∈ y ∧ y ∈ x → z ∈ x ↔ ∀ y z ∈ y ∧ y ∈ A → z ∈ A
41 albi ⊢ ∀ z [˙A / x]˙ ∀ y z ∈ y ∧ y ∈ x → z ∈ x ↔ ∀ y z ∈ y ∧ y ∈ A → z ∈ A → ∀ z [˙A / x]˙ ∀ y z ∈ y ∧ y ∈ x → z ∈ x ↔ ∀ z ∀ y z ∈ y ∧ y ∈ A → z ∈ A
42 40 41 e1a ⊢ A ∈ B → ∀ z [˙A / x]˙ ∀ y z ∈ y ∧ y ∈ x → z ∈ x ↔ ∀ z ∀ y z ∈ y ∧ y ∈ A → z ∈ A
43 sbcal ⊢ [˙A / x]˙ ∀ z ∀ y z ∈ y ∧ y ∈ x → z ∈ x ↔ ∀ z [˙A / x]˙ ∀ y z ∈ y ∧ y ∈ x → z ∈ x
44 43 a1i ⊢ A ∈ B → [˙A / x]˙ ∀ z ∀ y z ∈ y ∧ y ∈ x → z ∈ x ↔ ∀ z [˙A / x]˙ ∀ y z ∈ y ∧ y ∈ x → z ∈ x
45 1 44 e1a ⊢ A ∈ B → [˙A / x]˙ ∀ z ∀ y z ∈ y ∧ y ∈ x → z ∈ x ↔ ∀ z [˙A / x]˙ ∀ y z ∈ y ∧ y ∈ x → z ∈ x
46 bibi1 ⊢ [˙A / x]˙ ∀ z ∀ y z ∈ y ∧ y ∈ x → z ∈ x ↔ ∀ z [˙A / x]˙ ∀ y z ∈ y ∧ y ∈ x → z ∈ x → [˙A / x]˙ ∀ z ∀ y z ∈ y ∧ y ∈ x → z ∈ x ↔ ∀ z ∀ y z ∈ y ∧ y ∈ A → z ∈ A ↔ ∀ z [˙A / x]˙ ∀ y z ∈ y ∧ y ∈ x → z ∈ x ↔ ∀ z ∀ y z ∈ y ∧ y ∈ A → z ∈ A
47 46 biimprcd ⊢ ∀ z [˙A / x]˙ ∀ y z ∈ y ∧ y ∈ x → z ∈ x ↔ ∀ z ∀ y z ∈ y ∧ y ∈ A → z ∈ A → [˙A / x]˙ ∀ z ∀ y z ∈ y ∧ y ∈ x → z ∈ x ↔ ∀ z [˙A / x]˙ ∀ y z ∈ y ∧ y ∈ x → z ∈ x → [˙A / x]˙ ∀ z ∀ y z ∈ y ∧ y ∈ x → z ∈ x ↔ ∀ z ∀ y z ∈ y ∧ y ∈ A → z ∈ A
48 42 45 47 e11 ⊢ A ∈ B → [˙A / x]˙ ∀ z ∀ y z ∈ y ∧ y ∈ x → z ∈ x ↔ ∀ z ∀ y z ∈ y ∧ y ∈ A → z ∈ A
49 dftr2 ⊢ Tr ⁡ A ↔ ∀ z ∀ y z ∈ y ∧ y ∈ A → z ∈ A
50 biantr ⊢ [˙A / x]˙ ∀ z ∀ y z ∈ y ∧ y ∈ x → z ∈ x ↔ ∀ z ∀ y z ∈ y ∧ y ∈ A → z ∈ A ∧ Tr ⁡ A ↔ ∀ z ∀ y z ∈ y ∧ y ∈ A → z ∈ A → [˙A / x]˙ ∀ z ∀ y z ∈ y ∧ y ∈ x → z ∈ x ↔ Tr ⁡ A
51 50 ex ⊢ [˙A / x]˙ ∀ z ∀ y z ∈ y ∧ y ∈ x → z ∈ x ↔ ∀ z ∀ y z ∈ y ∧ y ∈ A → z ∈ A → Tr ⁡ A ↔ ∀ z ∀ y z ∈ y ∧ y ∈ A → z ∈ A → [˙A / x]˙ ∀ z ∀ y z ∈ y ∧ y ∈ x → z ∈ x ↔ Tr ⁡ A
52 48 49 51 e10 ⊢ A ∈ B → [˙A / x]˙ ∀ z ∀ y z ∈ y ∧ y ∈ x → z ∈ x ↔ Tr ⁡ A
53 dftr2 ⊢ Tr ⁡ x ↔ ∀ z ∀ y z ∈ y ∧ y ∈ x → z ∈ x
54 53 ax-gen ⊢ ∀ x Tr ⁡ x ↔ ∀ z ∀ y z ∈ y ∧ y ∈ x → z ∈ x
55 sbcbi ⊢ A ∈ B → ∀ x Tr ⁡ x ↔ ∀ z ∀ y z ∈ y ∧ y ∈ x → z ∈ x → [˙A / x]˙ Tr ⁡ x ↔ [˙A / x]˙ ∀ z ∀ y z ∈ y ∧ y ∈ x → z ∈ x
56 1 54 55 e10 ⊢ A ∈ B → [˙A / x]˙ Tr ⁡ x ↔ [˙A / x]˙ ∀ z ∀ y z ∈ y ∧ y ∈ x → z ∈ x
57 bibi1 ⊢ [˙A / x]˙ Tr ⁡ x ↔ [˙A / x]˙ ∀ z ∀ y z ∈ y ∧ y ∈ x → z ∈ x → [˙A / x]˙ Tr ⁡ x ↔ Tr ⁡ A ↔ [˙A / x]˙ ∀ z ∀ y z ∈ y ∧ y ∈ x → z ∈ x ↔ Tr ⁡ A
58 57 biimprcd ⊢ [˙A / x]˙ ∀ z ∀ y z ∈ y ∧ y ∈ x → z ∈ x ↔ Tr ⁡ A → [˙A / x]˙ Tr ⁡ x ↔ [˙A / x]˙ ∀ z ∀ y z ∈ y ∧ y ∈ x → z ∈ x → [˙A / x]˙ Tr ⁡ x ↔ Tr ⁡ A
59 52 56 58 e11 ⊢ A ∈ B → [˙A / x]˙ Tr ⁡ x ↔ Tr ⁡ A
60 59 in1 ⊢ A ∈ B → [˙A / x]˙ Tr ⁡ x ↔ Tr ⁡ A