Metamath Proof Explorer


Theorem truniALTVD

Description: The union of a class of transitive sets is transitive. 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. truniALT is truniALTVD without virtual deductions and was automatically derived from truniALTVD .

1:: |- (. A. x e. A Tr x ->. A. x e. A Tr x ).
2:: |- (. A. x e. A Tr x ,. ( z e. y /\ y e. U. A ) ->. ( z e. y /\ y e. U. A ) ).
3:2: |- (. A. x e. A Tr x ,. ( z e. y /\ y e. U. A ) ->. z e. y ).
4:2: |- (. A. x e. A Tr x ,. ( z e. y /\ y e. U. A ) ->. y e. U. A ).
5:4: |- (. A. x e. A Tr x ,. ( z e. y /\ y e. U. A ) ->. E. q ( y e. q /\ q e. A ) ).
6:: |- (. A. x e. A Tr x ,. ( z e. y /\ y e. U. A ) , ( y e. q /\ q e. A ) ->. ( y e. q /\ q e. A ) ).
7:6: |- (. A. x e. A Tr x ,. ( z e. y /\ y e. U. A ) , ( y e. q /\ q e. A ) ->. y e. q ).
8:6: |- (. A. x e. A Tr x ,. ( z e. y /\ y e. U. A ) , ( y e. q /\ q e. A ) ->. q e. A ).
9:1,8: |- (. A. x e. A Tr x ,. ( z e. y /\ y e. U. A ) , ( y e. q /\ q e. A ) ->. [ q / x ] Tr x ).
10:8,9: |- (. A. x e. A Tr x ,. ( z e. y /\ y e. U. A ) , ( y e. q /\ q e. A ) ->. Tr q ).
11:3,7,10: |- (. A. x e. A Tr x ,. ( z e. y /\ y e. U. A ) , ( y e. q /\ q e. A ) ->. z e. q ).
12:11,8: |- (. A. x e. A Tr x ,. ( z e. y /\ y e. U. A ) , ( y e. q /\ q e. A ) ->. z e. U. A ).
13:12: |- (. A. x e. A Tr x ,. ( z e. y /\ y e. U. A ) ->. ( ( y e. q /\ q e. A ) -> z e. U. A ) ).
14:13: |- (. A. x e. A Tr x ,. ( z e. y /\ y e. U. A ) ->. A. q ( ( y e. q /\ q e. A ) -> z e. U. A ) ).
15:14: |- (. A. x e. A Tr x ,. ( z e. y /\ y e. U. A ) ->. ( E. q ( y e. q /\ q e. A ) -> z e. U. A ) ).
16:5,15: |- (. A. x e. A Tr x ,. ( z e. y /\ y e. U. A ) ->. z e. U. A ).
17:16: |- (. A. x e. A Tr x ->. ( ( z e. y /\ y e. U. A ) -> z e. U. A ) ).
18:17: |- (. A. x e. A Tr x ->. A. z A. y ( ( z e. y /\ y e. U. A ) -> z e. U. A ) ).
19:18: |- (. A. x e. A Tr x ->. Tr U. A ).
qed:19: |- ( A. x e. A Tr x -> Tr U. A )
(Contributed by Alan Sare, 18-Mar-2012) (Proof modification is discouraged.) (New usage is discouraged.)

Ref Expression
Assertion truniALTVD ( ∀ 𝑥𝐴 Tr 𝑥 → Tr 𝐴 )

Proof

Step Hyp Ref Expression
1 idn2 (   𝑥𝐴 Tr 𝑥    ,    ( 𝑧𝑦𝑦 𝐴 )    ▶    ( 𝑧𝑦𝑦 𝐴 )    )
2 simpr ( ( 𝑧𝑦𝑦 𝐴 ) → 𝑦 𝐴 )
3 1 2 e2 (   𝑥𝐴 Tr 𝑥    ,    ( 𝑧𝑦𝑦 𝐴 )    ▶    𝑦 𝐴    )
4 eluni ( 𝑦 𝐴 ↔ ∃ 𝑞 ( 𝑦𝑞𝑞𝐴 ) )
5 4 biimpi ( 𝑦 𝐴 → ∃ 𝑞 ( 𝑦𝑞𝑞𝐴 ) )
6 3 5 e2 (   𝑥𝐴 Tr 𝑥    ,    ( 𝑧𝑦𝑦 𝐴 )    ▶   𝑞 ( 𝑦𝑞𝑞𝐴 )    )
7 simpl ( ( 𝑧𝑦𝑦 𝐴 ) → 𝑧𝑦 )
8 1 7 e2 (   𝑥𝐴 Tr 𝑥    ,    ( 𝑧𝑦𝑦 𝐴 )    ▶    𝑧𝑦    )
9 idn3 (   𝑥𝐴 Tr 𝑥    ,    ( 𝑧𝑦𝑦 𝐴 )    ,    ( 𝑦𝑞𝑞𝐴 )    ▶    ( 𝑦𝑞𝑞𝐴 )    )
10 simpl ( ( 𝑦𝑞𝑞𝐴 ) → 𝑦𝑞 )
11 9 10 e3 (   𝑥𝐴 Tr 𝑥    ,    ( 𝑧𝑦𝑦 𝐴 )    ,    ( 𝑦𝑞𝑞𝐴 )    ▶    𝑦𝑞    )
12 simpr ( ( 𝑦𝑞𝑞𝐴 ) → 𝑞𝐴 )
13 9 12 e3 (   𝑥𝐴 Tr 𝑥    ,    ( 𝑧𝑦𝑦 𝐴 )    ,    ( 𝑦𝑞𝑞𝐴 )    ▶    𝑞𝐴    )
14 idn1 (   𝑥𝐴 Tr 𝑥    ▶   𝑥𝐴 Tr 𝑥    )
15 rspsbc ( 𝑞𝐴 → ( ∀ 𝑥𝐴 Tr 𝑥[ 𝑞 / 𝑥 ] Tr 𝑥 ) )
16 15 com12 ( ∀ 𝑥𝐴 Tr 𝑥 → ( 𝑞𝐴[ 𝑞 / 𝑥 ] Tr 𝑥 ) )
17 14 13 16 e13 (   𝑥𝐴 Tr 𝑥    ,    ( 𝑧𝑦𝑦 𝐴 )    ,    ( 𝑦𝑞𝑞𝐴 )    ▶    [ 𝑞 / 𝑥 ] Tr 𝑥    )
18 trsbc ( 𝑞𝐴 → ( [ 𝑞 / 𝑥 ] Tr 𝑥 ↔ Tr 𝑞 ) )
19 18 biimpd ( 𝑞𝐴 → ( [ 𝑞 / 𝑥 ] Tr 𝑥 → Tr 𝑞 ) )
20 13 17 19 e33 (   𝑥𝐴 Tr 𝑥    ,    ( 𝑧𝑦𝑦 𝐴 )    ,    ( 𝑦𝑞𝑞𝐴 )    ▶    Tr 𝑞    )
21 trel ( Tr 𝑞 → ( ( 𝑧𝑦𝑦𝑞 ) → 𝑧𝑞 ) )
22 21 expdcom ( 𝑧𝑦 → ( 𝑦𝑞 → ( Tr 𝑞𝑧𝑞 ) ) )
23 8 11 20 22 e233 (   𝑥𝐴 Tr 𝑥    ,    ( 𝑧𝑦𝑦 𝐴 )    ,    ( 𝑦𝑞𝑞𝐴 )    ▶    𝑧𝑞    )
24 elunii ( ( 𝑧𝑞𝑞𝐴 ) → 𝑧 𝐴 )
25 24 ex ( 𝑧𝑞 → ( 𝑞𝐴𝑧 𝐴 ) )
26 23 13 25 e33 (   𝑥𝐴 Tr 𝑥    ,    ( 𝑧𝑦𝑦 𝐴 )    ,    ( 𝑦𝑞𝑞𝐴 )    ▶    𝑧 𝐴    )
27 26 in3 (   𝑥𝐴 Tr 𝑥    ,    ( 𝑧𝑦𝑦 𝐴 )    ▶    ( ( 𝑦𝑞𝑞𝐴 ) → 𝑧 𝐴 )    )
28 27 gen21 (   𝑥𝐴 Tr 𝑥    ,    ( 𝑧𝑦𝑦 𝐴 )    ▶   𝑞 ( ( 𝑦𝑞𝑞𝐴 ) → 𝑧 𝐴 )    )
29 19.23v ( ∀ 𝑞 ( ( 𝑦𝑞𝑞𝐴 ) → 𝑧 𝐴 ) ↔ ( ∃ 𝑞 ( 𝑦𝑞𝑞𝐴 ) → 𝑧 𝐴 ) )
30 29 biimpi ( ∀ 𝑞 ( ( 𝑦𝑞𝑞𝐴 ) → 𝑧 𝐴 ) → ( ∃ 𝑞 ( 𝑦𝑞𝑞𝐴 ) → 𝑧 𝐴 ) )
31 28 30 e2 (   𝑥𝐴 Tr 𝑥    ,    ( 𝑧𝑦𝑦 𝐴 )    ▶    ( ∃ 𝑞 ( 𝑦𝑞𝑞𝐴 ) → 𝑧 𝐴 )    )
32 pm2.27 ( ∃ 𝑞 ( 𝑦𝑞𝑞𝐴 ) → ( ( ∃ 𝑞 ( 𝑦𝑞𝑞𝐴 ) → 𝑧 𝐴 ) → 𝑧 𝐴 ) )
33 6 31 32 e22 (   𝑥𝐴 Tr 𝑥    ,    ( 𝑧𝑦𝑦 𝐴 )    ▶    𝑧 𝐴    )
34 33 in2 (   𝑥𝐴 Tr 𝑥    ▶    ( ( 𝑧𝑦𝑦 𝐴 ) → 𝑧 𝐴 )    )
35 34 gen12 (   𝑥𝐴 Tr 𝑥    ▶   𝑧𝑦 ( ( 𝑧𝑦𝑦 𝐴 ) → 𝑧 𝐴 )    )
36 dftr2 ( Tr 𝐴 ↔ ∀ 𝑧𝑦 ( ( 𝑧𝑦𝑦 𝐴 ) → 𝑧 𝐴 ) )
37 36 biimpri ( ∀ 𝑧𝑦 ( ( 𝑧𝑦𝑦 𝐴 ) → 𝑧 𝐴 ) → Tr 𝐴 )
38 35 37 e1a (   𝑥𝐴 Tr 𝑥    ▶    Tr 𝐴    )
39 38 in1 ( ∀ 𝑥𝐴 Tr 𝑥 → Tr 𝐴 )