Metamath Proof Explorer


Theorem msrf

Description: The reduct of a pre-statement is a pre-statement. (Contributed by Mario Carneiro, 18-Jul-2016)

Ref Expression
Hypotheses mpstssv.p 𝑃 = ( mPreSt ‘ 𝑇 )
msrf.r 𝑅 = ( mStRed ‘ 𝑇 )
Assertion msrf 𝑅 : 𝑃𝑃

Proof

Step Hyp Ref Expression
1 mpstssv.p 𝑃 = ( mPreSt ‘ 𝑇 )
2 msrf.r 𝑅 = ( mStRed ‘ 𝑇 )
3 otex ⟨ ( ( 1st ‘ ( 1st𝑠 ) ) ∩ ( ( mVars ‘ 𝑇 ) “ ( ∪ { 𝑎 } ) ) / 𝑧 ( 𝑧 × 𝑧 ) ) , , 𝑎 ⟩ ∈ V
4 3 csbex ( 2nd𝑠 ) / 𝑎 ⟨ ( ( 1st ‘ ( 1st𝑠 ) ) ∩ ( ( mVars ‘ 𝑇 ) “ ( ∪ { 𝑎 } ) ) / 𝑧 ( 𝑧 × 𝑧 ) ) , , 𝑎 ⟩ ∈ V
5 4 csbex ( 2nd ‘ ( 1st𝑠 ) ) / ( 2nd𝑠 ) / 𝑎 ⟨ ( ( 1st ‘ ( 1st𝑠 ) ) ∩ ( ( mVars ‘ 𝑇 ) “ ( ∪ { 𝑎 } ) ) / 𝑧 ( 𝑧 × 𝑧 ) ) , , 𝑎 ⟩ ∈ V
6 eqid ( mVars ‘ 𝑇 ) = ( mVars ‘ 𝑇 )
7 6 1 2 msrfval 𝑅 = ( 𝑠𝑃 ( 2nd ‘ ( 1st𝑠 ) ) / ( 2nd𝑠 ) / 𝑎 ⟨ ( ( 1st ‘ ( 1st𝑠 ) ) ∩ ( ( mVars ‘ 𝑇 ) “ ( ∪ { 𝑎 } ) ) / 𝑧 ( 𝑧 × 𝑧 ) ) , , 𝑎 ⟩ )
8 5 7 fnmpti 𝑅 Fn 𝑃
9 1 mpst123 ( 𝑠𝑃𝑠 = ⟨ ( 1st ‘ ( 1st𝑠 ) ) , ( 2nd ‘ ( 1st𝑠 ) ) , ( 2nd𝑠 ) ⟩ )
10 9 fveq2d ( 𝑠𝑃 → ( 𝑅𝑠 ) = ( 𝑅 ‘ ⟨ ( 1st ‘ ( 1st𝑠 ) ) , ( 2nd ‘ ( 1st𝑠 ) ) , ( 2nd𝑠 ) ⟩ ) )
11 id ( 𝑠𝑃𝑠𝑃 )
12 9 11 eqeltrrd ( 𝑠𝑃 → ⟨ ( 1st ‘ ( 1st𝑠 ) ) , ( 2nd ‘ ( 1st𝑠 ) ) , ( 2nd𝑠 ) ⟩ ∈ 𝑃 )
13 eqid ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) = ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) )
14 6 1 2 13 msrval ( ⟨ ( 1st ‘ ( 1st𝑠 ) ) , ( 2nd ‘ ( 1st𝑠 ) ) , ( 2nd𝑠 ) ⟩ ∈ 𝑃 → ( 𝑅 ‘ ⟨ ( 1st ‘ ( 1st𝑠 ) ) , ( 2nd ‘ ( 1st𝑠 ) ) , ( 2nd𝑠 ) ⟩ ) = ⟨ ( ( 1st ‘ ( 1st𝑠 ) ) ∩ ( ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) × ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) ) ) , ( 2nd ‘ ( 1st𝑠 ) ) , ( 2nd𝑠 ) ⟩ )
15 12 14 syl ( 𝑠𝑃 → ( 𝑅 ‘ ⟨ ( 1st ‘ ( 1st𝑠 ) ) , ( 2nd ‘ ( 1st𝑠 ) ) , ( 2nd𝑠 ) ⟩ ) = ⟨ ( ( 1st ‘ ( 1st𝑠 ) ) ∩ ( ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) × ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) ) ) , ( 2nd ‘ ( 1st𝑠 ) ) , ( 2nd𝑠 ) ⟩ )
16 10 15 eqtrd ( 𝑠𝑃 → ( 𝑅𝑠 ) = ⟨ ( ( 1st ‘ ( 1st𝑠 ) ) ∩ ( ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) × ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) ) ) , ( 2nd ‘ ( 1st𝑠 ) ) , ( 2nd𝑠 ) ⟩ )
17 inss1 ( ( 1st ‘ ( 1st𝑠 ) ) ∩ ( ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) × ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) ) ) ⊆ ( 1st ‘ ( 1st𝑠 ) )
18 eqid ( mDV ‘ 𝑇 ) = ( mDV ‘ 𝑇 )
19 eqid ( mEx ‘ 𝑇 ) = ( mEx ‘ 𝑇 )
20 18 19 1 elmpst ( ⟨ ( 1st ‘ ( 1st𝑠 ) ) , ( 2nd ‘ ( 1st𝑠 ) ) , ( 2nd𝑠 ) ⟩ ∈ 𝑃 ↔ ( ( ( 1st ‘ ( 1st𝑠 ) ) ⊆ ( mDV ‘ 𝑇 ) ∧ ( 1st ‘ ( 1st𝑠 ) ) = ( 1st ‘ ( 1st𝑠 ) ) ) ∧ ( ( 2nd ‘ ( 1st𝑠 ) ) ⊆ ( mEx ‘ 𝑇 ) ∧ ( 2nd ‘ ( 1st𝑠 ) ) ∈ Fin ) ∧ ( 2nd𝑠 ) ∈ ( mEx ‘ 𝑇 ) ) )
21 12 20 sylib ( 𝑠𝑃 → ( ( ( 1st ‘ ( 1st𝑠 ) ) ⊆ ( mDV ‘ 𝑇 ) ∧ ( 1st ‘ ( 1st𝑠 ) ) = ( 1st ‘ ( 1st𝑠 ) ) ) ∧ ( ( 2nd ‘ ( 1st𝑠 ) ) ⊆ ( mEx ‘ 𝑇 ) ∧ ( 2nd ‘ ( 1st𝑠 ) ) ∈ Fin ) ∧ ( 2nd𝑠 ) ∈ ( mEx ‘ 𝑇 ) ) )
22 21 simp1d ( 𝑠𝑃 → ( ( 1st ‘ ( 1st𝑠 ) ) ⊆ ( mDV ‘ 𝑇 ) ∧ ( 1st ‘ ( 1st𝑠 ) ) = ( 1st ‘ ( 1st𝑠 ) ) ) )
23 22 simpld ( 𝑠𝑃 → ( 1st ‘ ( 1st𝑠 ) ) ⊆ ( mDV ‘ 𝑇 ) )
24 17 23 sstrid ( 𝑠𝑃 → ( ( 1st ‘ ( 1st𝑠 ) ) ∩ ( ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) × ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) ) ) ⊆ ( mDV ‘ 𝑇 ) )
25 cnvin ( ( 1st ‘ ( 1st𝑠 ) ) ∩ ( ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) × ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) ) ) = ( ( 1st ‘ ( 1st𝑠 ) ) ∩ ( ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) × ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) ) )
26 22 simprd ( 𝑠𝑃 ( 1st ‘ ( 1st𝑠 ) ) = ( 1st ‘ ( 1st𝑠 ) ) )
27 cnvxp ( ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) × ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) ) = ( ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) × ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) )
28 27 a1i ( 𝑠𝑃 ( ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) × ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) ) = ( ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) × ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) ) )
29 26 28 ineq12d ( 𝑠𝑃 → ( ( 1st ‘ ( 1st𝑠 ) ) ∩ ( ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) × ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) ) ) = ( ( 1st ‘ ( 1st𝑠 ) ) ∩ ( ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) × ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) ) ) )
30 25 29 syl5eq ( 𝑠𝑃 ( ( 1st ‘ ( 1st𝑠 ) ) ∩ ( ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) × ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) ) ) = ( ( 1st ‘ ( 1st𝑠 ) ) ∩ ( ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) × ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) ) ) )
31 24 30 jca ( 𝑠𝑃 → ( ( ( 1st ‘ ( 1st𝑠 ) ) ∩ ( ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) × ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) ) ) ⊆ ( mDV ‘ 𝑇 ) ∧ ( ( 1st ‘ ( 1st𝑠 ) ) ∩ ( ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) × ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) ) ) = ( ( 1st ‘ ( 1st𝑠 ) ) ∩ ( ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) × ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) ) ) ) )
32 21 simp2d ( 𝑠𝑃 → ( ( 2nd ‘ ( 1st𝑠 ) ) ⊆ ( mEx ‘ 𝑇 ) ∧ ( 2nd ‘ ( 1st𝑠 ) ) ∈ Fin ) )
33 21 simp3d ( 𝑠𝑃 → ( 2nd𝑠 ) ∈ ( mEx ‘ 𝑇 ) )
34 18 19 1 elmpst ( ⟨ ( ( 1st ‘ ( 1st𝑠 ) ) ∩ ( ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) × ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) ) ) , ( 2nd ‘ ( 1st𝑠 ) ) , ( 2nd𝑠 ) ⟩ ∈ 𝑃 ↔ ( ( ( ( 1st ‘ ( 1st𝑠 ) ) ∩ ( ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) × ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) ) ) ⊆ ( mDV ‘ 𝑇 ) ∧ ( ( 1st ‘ ( 1st𝑠 ) ) ∩ ( ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) × ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) ) ) = ( ( 1st ‘ ( 1st𝑠 ) ) ∩ ( ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) × ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) ) ) ) ∧ ( ( 2nd ‘ ( 1st𝑠 ) ) ⊆ ( mEx ‘ 𝑇 ) ∧ ( 2nd ‘ ( 1st𝑠 ) ) ∈ Fin ) ∧ ( 2nd𝑠 ) ∈ ( mEx ‘ 𝑇 ) ) )
35 31 32 33 34 syl3anbrc ( 𝑠𝑃 → ⟨ ( ( 1st ‘ ( 1st𝑠 ) ) ∩ ( ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) × ( ( mVars ‘ 𝑇 ) “ ( ( 2nd ‘ ( 1st𝑠 ) ) ∪ { ( 2nd𝑠 ) } ) ) ) ) , ( 2nd ‘ ( 1st𝑠 ) ) , ( 2nd𝑠 ) ⟩ ∈ 𝑃 )
36 16 35 eqeltrd ( 𝑠𝑃 → ( 𝑅𝑠 ) ∈ 𝑃 )
37 36 rgen 𝑠𝑃 ( 𝑅𝑠 ) ∈ 𝑃
38 ffnfv ( 𝑅 : 𝑃𝑃 ↔ ( 𝑅 Fn 𝑃 ∧ ∀ 𝑠𝑃 ( 𝑅𝑠 ) ∈ 𝑃 ) )
39 8 37 38 mpbir2an 𝑅 : 𝑃𝑃