Metamath Proof Explorer


Theorem trintALT

Description: The intersection of a class of transitive sets is transitive. Exercise 5(b) of Enderton p. 73. trintALT is an alternate proof of trint . trintALT is trintALTVD without virtual deductions and was automatically derived from trintALTVD using the tools program translate..without..overwriting.cmd and the Metamath program "MM-PA> MINIMIZE__WITH *" command. (Contributed by Alan Sare, 17-Apr-2012) (Proof modification is discouraged.) (New usage is discouraged.)

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

Proof

Step Hyp Ref Expression
1 simpl ( ( 𝑧𝑦𝑦 𝐴 ) → 𝑧𝑦 )
2 1 a1i ( ∀ 𝑥𝐴 Tr 𝑥 → ( ( 𝑧𝑦𝑦 𝐴 ) → 𝑧𝑦 ) )
3 iidn3 ( ∀ 𝑥𝐴 Tr 𝑥 → ( ( 𝑧𝑦𝑦 𝐴 ) → ( 𝑞𝐴𝑞𝐴 ) ) )
4 id ( ∀ 𝑥𝐴 Tr 𝑥 → ∀ 𝑥𝐴 Tr 𝑥 )
5 rspsbc ( 𝑞𝐴 → ( ∀ 𝑥𝐴 Tr 𝑥[ 𝑞 / 𝑥 ] Tr 𝑥 ) )
6 3 4 5 ee31 ( ∀ 𝑥𝐴 Tr 𝑥 → ( ( 𝑧𝑦𝑦 𝐴 ) → ( 𝑞𝐴[ 𝑞 / 𝑥 ] Tr 𝑥 ) ) )
7 trsbc ( 𝑞𝐴 → ( [ 𝑞 / 𝑥 ] Tr 𝑥 ↔ Tr 𝑞 ) )
8 7 biimpd ( 𝑞𝐴 → ( [ 𝑞 / 𝑥 ] Tr 𝑥 → Tr 𝑞 ) )
9 3 6 8 ee33 ( ∀ 𝑥𝐴 Tr 𝑥 → ( ( 𝑧𝑦𝑦 𝐴 ) → ( 𝑞𝐴 → Tr 𝑞 ) ) )
10 simpr ( ( 𝑧𝑦𝑦 𝐴 ) → 𝑦 𝐴 )
11 10 a1i ( ∀ 𝑥𝐴 Tr 𝑥 → ( ( 𝑧𝑦𝑦 𝐴 ) → 𝑦 𝐴 ) )
12 elintg ( 𝑦 𝐴 → ( 𝑦 𝐴 ↔ ∀ 𝑞𝐴 𝑦𝑞 ) )
13 12 ibi ( 𝑦 𝐴 → ∀ 𝑞𝐴 𝑦𝑞 )
14 11 13 syl6 ( ∀ 𝑥𝐴 Tr 𝑥 → ( ( 𝑧𝑦𝑦 𝐴 ) → ∀ 𝑞𝐴 𝑦𝑞 ) )
15 rsp ( ∀ 𝑞𝐴 𝑦𝑞 → ( 𝑞𝐴𝑦𝑞 ) )
16 14 15 syl6 ( ∀ 𝑥𝐴 Tr 𝑥 → ( ( 𝑧𝑦𝑦 𝐴 ) → ( 𝑞𝐴𝑦𝑞 ) ) )
17 trel ( Tr 𝑞 → ( ( 𝑧𝑦𝑦𝑞 ) → 𝑧𝑞 ) )
18 17 expd ( Tr 𝑞 → ( 𝑧𝑦 → ( 𝑦𝑞𝑧𝑞 ) ) )
19 9 2 16 18 ee323 ( ∀ 𝑥𝐴 Tr 𝑥 → ( ( 𝑧𝑦𝑦 𝐴 ) → ( 𝑞𝐴𝑧𝑞 ) ) )
20 19 ralrimdv ( ∀ 𝑥𝐴 Tr 𝑥 → ( ( 𝑧𝑦𝑦 𝐴 ) → ∀ 𝑞𝐴 𝑧𝑞 ) )
21 elintg ( 𝑧𝑦 → ( 𝑧 𝐴 ↔ ∀ 𝑞𝐴 𝑧𝑞 ) )
22 21 biimprd ( 𝑧𝑦 → ( ∀ 𝑞𝐴 𝑧𝑞𝑧 𝐴 ) )
23 2 20 22 syl6c ( ∀ 𝑥𝐴 Tr 𝑥 → ( ( 𝑧𝑦𝑦 𝐴 ) → 𝑧 𝐴 ) )
24 23 alrimivv ( ∀ 𝑥𝐴 Tr 𝑥 → ∀ 𝑧𝑦 ( ( 𝑧𝑦𝑦 𝐴 ) → 𝑧 𝐴 ) )
25 dftr2 ( Tr 𝐴 ↔ ∀ 𝑧𝑦 ( ( 𝑧𝑦𝑦 𝐴 ) → 𝑧 𝐴 ) )
26 24 25 sylibr ( ∀ 𝑥𝐴 Tr 𝑥 → Tr 𝐴 )