Metamath Proof Explorer


Definition df-gmdl

Description: Define the set of models of a grammatical formal system. (Contributed by Mario Carneiro, 14-Jul-2016)

Ref Expression
Assertion df-gmdl mGMdl = { 𝑡 ∈ ( mGFS ∩ mMdl ) ∣ ( ∀ 𝑐 ∈ ( mTC ‘ 𝑡 ) ( ( mUV ‘ 𝑡 ) “ { 𝑐 } ) ⊆ ( ( mUV ‘ 𝑡 ) “ { ( ( mSyn ‘ 𝑡 ) ‘ 𝑐 ) } ) ∧ ∀ 𝑣 ∈ ( mUV ‘ 𝑐 ) ∀ 𝑤 ∈ ( mUV ‘ 𝑐 ) ( 𝑣 ( mFresh ‘ 𝑡 ) 𝑤𝑣 ( mFresh ‘ 𝑡 ) ( ( mUSyn ‘ 𝑡 ) ‘ 𝑤 ) ) ∧ ∀ 𝑚 ∈ ( mVL ‘ 𝑡 ) ∀ 𝑒 ∈ ( mEx ‘ 𝑡 ) ( ( mEval ‘ 𝑡 ) “ { ⟨ 𝑚 , 𝑒 ⟩ } ) = ( ( ( mEval ‘ 𝑡 ) “ { ⟨ 𝑚 , ( ( mESyn ‘ 𝑡 ) ‘ 𝑒 ) ⟩ } ) ∩ ( ( mUV ‘ 𝑡 ) “ { ( 1st𝑒 ) } ) ) ) }

Detailed syntax breakdown

Step Hyp Ref Expression
0 cgmdl mGMdl
1 vt 𝑡
2 cmgfs mGFS
3 cmdl mMdl
4 2 3 cin ( mGFS ∩ mMdl )
5 vc 𝑐
6 cmtc mTC
7 1 cv 𝑡
8 7 6 cfv ( mTC ‘ 𝑡 )
9 cmuv mUV
10 7 9 cfv ( mUV ‘ 𝑡 )
11 5 cv 𝑐
12 11 csn { 𝑐 }
13 10 12 cima ( ( mUV ‘ 𝑡 ) “ { 𝑐 } )
14 cmsy mSyn
15 7 14 cfv ( mSyn ‘ 𝑡 )
16 11 15 cfv ( ( mSyn ‘ 𝑡 ) ‘ 𝑐 )
17 16 csn { ( ( mSyn ‘ 𝑡 ) ‘ 𝑐 ) }
18 10 17 cima ( ( mUV ‘ 𝑡 ) “ { ( ( mSyn ‘ 𝑡 ) ‘ 𝑐 ) } )
19 13 18 wss ( ( mUV ‘ 𝑡 ) “ { 𝑐 } ) ⊆ ( ( mUV ‘ 𝑡 ) “ { ( ( mSyn ‘ 𝑡 ) ‘ 𝑐 ) } )
20 19 5 8 wral 𝑐 ∈ ( mTC ‘ 𝑡 ) ( ( mUV ‘ 𝑡 ) “ { 𝑐 } ) ⊆ ( ( mUV ‘ 𝑡 ) “ { ( ( mSyn ‘ 𝑡 ) ‘ 𝑐 ) } )
21 vv 𝑣
22 11 9 cfv ( mUV ‘ 𝑐 )
23 vw 𝑤
24 21 cv 𝑣
25 cmfsh mFresh
26 7 25 cfv ( mFresh ‘ 𝑡 )
27 23 cv 𝑤
28 24 27 26 wbr 𝑣 ( mFresh ‘ 𝑡 ) 𝑤
29 cusyn mUSyn
30 7 29 cfv ( mUSyn ‘ 𝑡 )
31 27 30 cfv ( ( mUSyn ‘ 𝑡 ) ‘ 𝑤 )
32 24 31 26 wbr 𝑣 ( mFresh ‘ 𝑡 ) ( ( mUSyn ‘ 𝑡 ) ‘ 𝑤 )
33 28 32 wb ( 𝑣 ( mFresh ‘ 𝑡 ) 𝑤𝑣 ( mFresh ‘ 𝑡 ) ( ( mUSyn ‘ 𝑡 ) ‘ 𝑤 ) )
34 33 23 22 wral 𝑤 ∈ ( mUV ‘ 𝑐 ) ( 𝑣 ( mFresh ‘ 𝑡 ) 𝑤𝑣 ( mFresh ‘ 𝑡 ) ( ( mUSyn ‘ 𝑡 ) ‘ 𝑤 ) )
35 34 21 22 wral 𝑣 ∈ ( mUV ‘ 𝑐 ) ∀ 𝑤 ∈ ( mUV ‘ 𝑐 ) ( 𝑣 ( mFresh ‘ 𝑡 ) 𝑤𝑣 ( mFresh ‘ 𝑡 ) ( ( mUSyn ‘ 𝑡 ) ‘ 𝑤 ) )
36 vm 𝑚
37 cmvl mVL
38 7 37 cfv ( mVL ‘ 𝑡 )
39 ve 𝑒
40 cmex mEx
41 7 40 cfv ( mEx ‘ 𝑡 )
42 cmevl mEval
43 7 42 cfv ( mEval ‘ 𝑡 )
44 36 cv 𝑚
45 39 cv 𝑒
46 44 45 cop 𝑚 , 𝑒
47 46 csn { ⟨ 𝑚 , 𝑒 ⟩ }
48 43 47 cima ( ( mEval ‘ 𝑡 ) “ { ⟨ 𝑚 , 𝑒 ⟩ } )
49 cmesy mESyn
50 7 49 cfv ( mESyn ‘ 𝑡 )
51 45 50 cfv ( ( mESyn ‘ 𝑡 ) ‘ 𝑒 )
52 44 51 cop 𝑚 , ( ( mESyn ‘ 𝑡 ) ‘ 𝑒 ) ⟩
53 52 csn { ⟨ 𝑚 , ( ( mESyn ‘ 𝑡 ) ‘ 𝑒 ) ⟩ }
54 43 53 cima ( ( mEval ‘ 𝑡 ) “ { ⟨ 𝑚 , ( ( mESyn ‘ 𝑡 ) ‘ 𝑒 ) ⟩ } )
55 c1st 1st
56 45 55 cfv ( 1st𝑒 )
57 56 csn { ( 1st𝑒 ) }
58 10 57 cima ( ( mUV ‘ 𝑡 ) “ { ( 1st𝑒 ) } )
59 54 58 cin ( ( ( mEval ‘ 𝑡 ) “ { ⟨ 𝑚 , ( ( mESyn ‘ 𝑡 ) ‘ 𝑒 ) ⟩ } ) ∩ ( ( mUV ‘ 𝑡 ) “ { ( 1st𝑒 ) } ) )
60 48 59 wceq ( ( mEval ‘ 𝑡 ) “ { ⟨ 𝑚 , 𝑒 ⟩ } ) = ( ( ( mEval ‘ 𝑡 ) “ { ⟨ 𝑚 , ( ( mESyn ‘ 𝑡 ) ‘ 𝑒 ) ⟩ } ) ∩ ( ( mUV ‘ 𝑡 ) “ { ( 1st𝑒 ) } ) )
61 60 39 41 wral 𝑒 ∈ ( mEx ‘ 𝑡 ) ( ( mEval ‘ 𝑡 ) “ { ⟨ 𝑚 , 𝑒 ⟩ } ) = ( ( ( mEval ‘ 𝑡 ) “ { ⟨ 𝑚 , ( ( mESyn ‘ 𝑡 ) ‘ 𝑒 ) ⟩ } ) ∩ ( ( mUV ‘ 𝑡 ) “ { ( 1st𝑒 ) } ) )
62 61 36 38 wral 𝑚 ∈ ( mVL ‘ 𝑡 ) ∀ 𝑒 ∈ ( mEx ‘ 𝑡 ) ( ( mEval ‘ 𝑡 ) “ { ⟨ 𝑚 , 𝑒 ⟩ } ) = ( ( ( mEval ‘ 𝑡 ) “ { ⟨ 𝑚 , ( ( mESyn ‘ 𝑡 ) ‘ 𝑒 ) ⟩ } ) ∩ ( ( mUV ‘ 𝑡 ) “ { ( 1st𝑒 ) } ) )
63 20 35 62 w3a ( ∀ 𝑐 ∈ ( mTC ‘ 𝑡 ) ( ( mUV ‘ 𝑡 ) “ { 𝑐 } ) ⊆ ( ( mUV ‘ 𝑡 ) “ { ( ( mSyn ‘ 𝑡 ) ‘ 𝑐 ) } ) ∧ ∀ 𝑣 ∈ ( mUV ‘ 𝑐 ) ∀ 𝑤 ∈ ( mUV ‘ 𝑐 ) ( 𝑣 ( mFresh ‘ 𝑡 ) 𝑤𝑣 ( mFresh ‘ 𝑡 ) ( ( mUSyn ‘ 𝑡 ) ‘ 𝑤 ) ) ∧ ∀ 𝑚 ∈ ( mVL ‘ 𝑡 ) ∀ 𝑒 ∈ ( mEx ‘ 𝑡 ) ( ( mEval ‘ 𝑡 ) “ { ⟨ 𝑚 , 𝑒 ⟩ } ) = ( ( ( mEval ‘ 𝑡 ) “ { ⟨ 𝑚 , ( ( mESyn ‘ 𝑡 ) ‘ 𝑒 ) ⟩ } ) ∩ ( ( mUV ‘ 𝑡 ) “ { ( 1st𝑒 ) } ) ) )
64 63 1 4 crab { 𝑡 ∈ ( mGFS ∩ mMdl ) ∣ ( ∀ 𝑐 ∈ ( mTC ‘ 𝑡 ) ( ( mUV ‘ 𝑡 ) “ { 𝑐 } ) ⊆ ( ( mUV ‘ 𝑡 ) “ { ( ( mSyn ‘ 𝑡 ) ‘ 𝑐 ) } ) ∧ ∀ 𝑣 ∈ ( mUV ‘ 𝑐 ) ∀ 𝑤 ∈ ( mUV ‘ 𝑐 ) ( 𝑣 ( mFresh ‘ 𝑡 ) 𝑤𝑣 ( mFresh ‘ 𝑡 ) ( ( mUSyn ‘ 𝑡 ) ‘ 𝑤 ) ) ∧ ∀ 𝑚 ∈ ( mVL ‘ 𝑡 ) ∀ 𝑒 ∈ ( mEx ‘ 𝑡 ) ( ( mEval ‘ 𝑡 ) “ { ⟨ 𝑚 , 𝑒 ⟩ } ) = ( ( ( mEval ‘ 𝑡 ) “ { ⟨ 𝑚 , ( ( mESyn ‘ 𝑡 ) ‘ 𝑒 ) ⟩ } ) ∩ ( ( mUV ‘ 𝑡 ) “ { ( 1st𝑒 ) } ) ) ) }
65 0 64 wceq mGMdl = { 𝑡 ∈ ( mGFS ∩ mMdl ) ∣ ( ∀ 𝑐 ∈ ( mTC ‘ 𝑡 ) ( ( mUV ‘ 𝑡 ) “ { 𝑐 } ) ⊆ ( ( mUV ‘ 𝑡 ) “ { ( ( mSyn ‘ 𝑡 ) ‘ 𝑐 ) } ) ∧ ∀ 𝑣 ∈ ( mUV ‘ 𝑐 ) ∀ 𝑤 ∈ ( mUV ‘ 𝑐 ) ( 𝑣 ( mFresh ‘ 𝑡 ) 𝑤𝑣 ( mFresh ‘ 𝑡 ) ( ( mUSyn ‘ 𝑡 ) ‘ 𝑤 ) ) ∧ ∀ 𝑚 ∈ ( mVL ‘ 𝑡 ) ∀ 𝑒 ∈ ( mEx ‘ 𝑡 ) ( ( mEval ‘ 𝑡 ) “ { ⟨ 𝑚 , 𝑒 ⟩ } ) = ( ( ( mEval ‘ 𝑡 ) “ { ⟨ 𝑚 , ( ( mESyn ‘ 𝑡 ) ‘ 𝑒 ) ⟩ } ) ∩ ( ( mUV ‘ 𝑡 ) “ { ( 1st𝑒 ) } ) ) ) }