Metamath Proof Explorer


Definition df-sat

Description: Define the satisfaction predicate. This recursive construction builds up a function over wff codes (see satff ) and simultaneously defines the set of assignments to all variables from M that makes the coded wff true in the model M , where e. is interpreted as the binary relation E on M .

The interpretation of the statement S e. ( ( ( M Sat E )n )U ) is that for the model <. M , E >. , S :om --> M is a valuation of the variables (v0 = ( S(/) ) , v_1 = ( S1o ) , etc.) and U is a code for a wff using e. , -/\ , A. that is true under the assignment S . The function is defined by finite recursion; ( ( M Sat E )n ) only operates on wffs of depth at most n e.om , and ( ( M Sat E )om ) = U_ n e. _om ( ( M Sat E )n ) operates on all wffs.

The coding scheme for the wffs is defined so that

(Contributed by Mario Carneiro, 14-Jul-2013)

Ref Expression
Assertion df-sat Sat = ( 𝑚 ∈ V , 𝑒 ∈ V ↦ ( rec ( ( 𝑓 ∈ V ↦ ( 𝑓 ∪ { ⟨ 𝑥 , 𝑦 ⟩ ∣ ∃ 𝑢𝑓 ( ∃ 𝑣𝑓 ( 𝑥 = ( ( 1st𝑢 ) ⊼𝑔 ( 1st𝑣 ) ) ∧ 𝑦 = ( ( 𝑚m ω ) ∖ ( ( 2nd𝑢 ) ∩ ( 2nd𝑣 ) ) ) ) ∨ ∃ 𝑖 ∈ ω ( 𝑥 = ∀𝑔 𝑖 ( 1st𝑢 ) ∧ 𝑦 = { 𝑎 ∈ ( 𝑚m ω ) ∣ ∀ 𝑧𝑚 ( { ⟨ 𝑖 , 𝑧 ⟩ } ∪ ( 𝑎 ↾ ( ω ∖ { 𝑖 } ) ) ) ∈ ( 2nd𝑢 ) } ) ) } ) ) , { ⟨ 𝑥 , 𝑦 ⟩ ∣ ∃ 𝑖 ∈ ω ∃ 𝑗 ∈ ω ( 𝑥 = ( 𝑖𝑔 𝑗 ) ∧ 𝑦 = { 𝑎 ∈ ( 𝑚m ω ) ∣ ( 𝑎𝑖 ) 𝑒 ( 𝑎𝑗 ) } ) } ) ↾ suc ω ) )

Detailed syntax breakdown

Step Hyp Ref Expression
0 csat Sat
1 vm 𝑚
2 cvv V
3 ve 𝑒
4 vf 𝑓
5 4 cv 𝑓
6 vx 𝑥
7 vy 𝑦
8 vu 𝑢
9 vv 𝑣
10 6 cv 𝑥
11 c1st 1st
12 8 cv 𝑢
13 12 11 cfv ( 1st𝑢 )
14 cgna 𝑔
15 9 cv 𝑣
16 15 11 cfv ( 1st𝑣 )
17 13 16 14 co ( ( 1st𝑢 ) ⊼𝑔 ( 1st𝑣 ) )
18 10 17 wceq 𝑥 = ( ( 1st𝑢 ) ⊼𝑔 ( 1st𝑣 ) )
19 7 cv 𝑦
20 1 cv 𝑚
21 cmap m
22 com ω
23 20 22 21 co ( 𝑚m ω )
24 c2nd 2nd
25 12 24 cfv ( 2nd𝑢 )
26 15 24 cfv ( 2nd𝑣 )
27 25 26 cin ( ( 2nd𝑢 ) ∩ ( 2nd𝑣 ) )
28 23 27 cdif ( ( 𝑚m ω ) ∖ ( ( 2nd𝑢 ) ∩ ( 2nd𝑣 ) ) )
29 19 28 wceq 𝑦 = ( ( 𝑚m ω ) ∖ ( ( 2nd𝑢 ) ∩ ( 2nd𝑣 ) ) )
30 18 29 wa ( 𝑥 = ( ( 1st𝑢 ) ⊼𝑔 ( 1st𝑣 ) ) ∧ 𝑦 = ( ( 𝑚m ω ) ∖ ( ( 2nd𝑢 ) ∩ ( 2nd𝑣 ) ) ) )
31 30 9 5 wrex 𝑣𝑓 ( 𝑥 = ( ( 1st𝑢 ) ⊼𝑔 ( 1st𝑣 ) ) ∧ 𝑦 = ( ( 𝑚m ω ) ∖ ( ( 2nd𝑢 ) ∩ ( 2nd𝑣 ) ) ) )
32 vi 𝑖
33 32 cv 𝑖
34 13 33 cgol 𝑔 𝑖 ( 1st𝑢 )
35 10 34 wceq 𝑥 = ∀𝑔 𝑖 ( 1st𝑢 )
36 va 𝑎
37 vz 𝑧
38 37 cv 𝑧
39 33 38 cop 𝑖 , 𝑧
40 39 csn { ⟨ 𝑖 , 𝑧 ⟩ }
41 36 cv 𝑎
42 33 csn { 𝑖 }
43 22 42 cdif ( ω ∖ { 𝑖 } )
44 41 43 cres ( 𝑎 ↾ ( ω ∖ { 𝑖 } ) )
45 40 44 cun ( { ⟨ 𝑖 , 𝑧 ⟩ } ∪ ( 𝑎 ↾ ( ω ∖ { 𝑖 } ) ) )
46 45 25 wcel ( { ⟨ 𝑖 , 𝑧 ⟩ } ∪ ( 𝑎 ↾ ( ω ∖ { 𝑖 } ) ) ) ∈ ( 2nd𝑢 )
47 46 37 20 wral 𝑧𝑚 ( { ⟨ 𝑖 , 𝑧 ⟩ } ∪ ( 𝑎 ↾ ( ω ∖ { 𝑖 } ) ) ) ∈ ( 2nd𝑢 )
48 47 36 23 crab { 𝑎 ∈ ( 𝑚m ω ) ∣ ∀ 𝑧𝑚 ( { ⟨ 𝑖 , 𝑧 ⟩ } ∪ ( 𝑎 ↾ ( ω ∖ { 𝑖 } ) ) ) ∈ ( 2nd𝑢 ) }
49 19 48 wceq 𝑦 = { 𝑎 ∈ ( 𝑚m ω ) ∣ ∀ 𝑧𝑚 ( { ⟨ 𝑖 , 𝑧 ⟩ } ∪ ( 𝑎 ↾ ( ω ∖ { 𝑖 } ) ) ) ∈ ( 2nd𝑢 ) }
50 35 49 wa ( 𝑥 = ∀𝑔 𝑖 ( 1st𝑢 ) ∧ 𝑦 = { 𝑎 ∈ ( 𝑚m ω ) ∣ ∀ 𝑧𝑚 ( { ⟨ 𝑖 , 𝑧 ⟩ } ∪ ( 𝑎 ↾ ( ω ∖ { 𝑖 } ) ) ) ∈ ( 2nd𝑢 ) } )
51 50 32 22 wrex 𝑖 ∈ ω ( 𝑥 = ∀𝑔 𝑖 ( 1st𝑢 ) ∧ 𝑦 = { 𝑎 ∈ ( 𝑚m ω ) ∣ ∀ 𝑧𝑚 ( { ⟨ 𝑖 , 𝑧 ⟩ } ∪ ( 𝑎 ↾ ( ω ∖ { 𝑖 } ) ) ) ∈ ( 2nd𝑢 ) } )
52 31 51 wo ( ∃ 𝑣𝑓 ( 𝑥 = ( ( 1st𝑢 ) ⊼𝑔 ( 1st𝑣 ) ) ∧ 𝑦 = ( ( 𝑚m ω ) ∖ ( ( 2nd𝑢 ) ∩ ( 2nd𝑣 ) ) ) ) ∨ ∃ 𝑖 ∈ ω ( 𝑥 = ∀𝑔 𝑖 ( 1st𝑢 ) ∧ 𝑦 = { 𝑎 ∈ ( 𝑚m ω ) ∣ ∀ 𝑧𝑚 ( { ⟨ 𝑖 , 𝑧 ⟩ } ∪ ( 𝑎 ↾ ( ω ∖ { 𝑖 } ) ) ) ∈ ( 2nd𝑢 ) } ) )
53 52 8 5 wrex 𝑢𝑓 ( ∃ 𝑣𝑓 ( 𝑥 = ( ( 1st𝑢 ) ⊼𝑔 ( 1st𝑣 ) ) ∧ 𝑦 = ( ( 𝑚m ω ) ∖ ( ( 2nd𝑢 ) ∩ ( 2nd𝑣 ) ) ) ) ∨ ∃ 𝑖 ∈ ω ( 𝑥 = ∀𝑔 𝑖 ( 1st𝑢 ) ∧ 𝑦 = { 𝑎 ∈ ( 𝑚m ω ) ∣ ∀ 𝑧𝑚 ( { ⟨ 𝑖 , 𝑧 ⟩ } ∪ ( 𝑎 ↾ ( ω ∖ { 𝑖 } ) ) ) ∈ ( 2nd𝑢 ) } ) )
54 53 6 7 copab { ⟨ 𝑥 , 𝑦 ⟩ ∣ ∃ 𝑢𝑓 ( ∃ 𝑣𝑓 ( 𝑥 = ( ( 1st𝑢 ) ⊼𝑔 ( 1st𝑣 ) ) ∧ 𝑦 = ( ( 𝑚m ω ) ∖ ( ( 2nd𝑢 ) ∩ ( 2nd𝑣 ) ) ) ) ∨ ∃ 𝑖 ∈ ω ( 𝑥 = ∀𝑔 𝑖 ( 1st𝑢 ) ∧ 𝑦 = { 𝑎 ∈ ( 𝑚m ω ) ∣ ∀ 𝑧𝑚 ( { ⟨ 𝑖 , 𝑧 ⟩ } ∪ ( 𝑎 ↾ ( ω ∖ { 𝑖 } ) ) ) ∈ ( 2nd𝑢 ) } ) ) }
55 5 54 cun ( 𝑓 ∪ { ⟨ 𝑥 , 𝑦 ⟩ ∣ ∃ 𝑢𝑓 ( ∃ 𝑣𝑓 ( 𝑥 = ( ( 1st𝑢 ) ⊼𝑔 ( 1st𝑣 ) ) ∧ 𝑦 = ( ( 𝑚m ω ) ∖ ( ( 2nd𝑢 ) ∩ ( 2nd𝑣 ) ) ) ) ∨ ∃ 𝑖 ∈ ω ( 𝑥 = ∀𝑔 𝑖 ( 1st𝑢 ) ∧ 𝑦 = { 𝑎 ∈ ( 𝑚m ω ) ∣ ∀ 𝑧𝑚 ( { ⟨ 𝑖 , 𝑧 ⟩ } ∪ ( 𝑎 ↾ ( ω ∖ { 𝑖 } ) ) ) ∈ ( 2nd𝑢 ) } ) ) } )
56 4 2 55 cmpt ( 𝑓 ∈ V ↦ ( 𝑓 ∪ { ⟨ 𝑥 , 𝑦 ⟩ ∣ ∃ 𝑢𝑓 ( ∃ 𝑣𝑓 ( 𝑥 = ( ( 1st𝑢 ) ⊼𝑔 ( 1st𝑣 ) ) ∧ 𝑦 = ( ( 𝑚m ω ) ∖ ( ( 2nd𝑢 ) ∩ ( 2nd𝑣 ) ) ) ) ∨ ∃ 𝑖 ∈ ω ( 𝑥 = ∀𝑔 𝑖 ( 1st𝑢 ) ∧ 𝑦 = { 𝑎 ∈ ( 𝑚m ω ) ∣ ∀ 𝑧𝑚 ( { ⟨ 𝑖 , 𝑧 ⟩ } ∪ ( 𝑎 ↾ ( ω ∖ { 𝑖 } ) ) ) ∈ ( 2nd𝑢 ) } ) ) } ) )
57 vj 𝑗
58 cgoe 𝑔
59 57 cv 𝑗
60 33 59 58 co ( 𝑖𝑔 𝑗 )
61 10 60 wceq 𝑥 = ( 𝑖𝑔 𝑗 )
62 33 41 cfv ( 𝑎𝑖 )
63 3 cv 𝑒
64 59 41 cfv ( 𝑎𝑗 )
65 62 64 63 wbr ( 𝑎𝑖 ) 𝑒 ( 𝑎𝑗 )
66 65 36 23 crab { 𝑎 ∈ ( 𝑚m ω ) ∣ ( 𝑎𝑖 ) 𝑒 ( 𝑎𝑗 ) }
67 19 66 wceq 𝑦 = { 𝑎 ∈ ( 𝑚m ω ) ∣ ( 𝑎𝑖 ) 𝑒 ( 𝑎𝑗 ) }
68 61 67 wa ( 𝑥 = ( 𝑖𝑔 𝑗 ) ∧ 𝑦 = { 𝑎 ∈ ( 𝑚m ω ) ∣ ( 𝑎𝑖 ) 𝑒 ( 𝑎𝑗 ) } )
69 68 57 22 wrex 𝑗 ∈ ω ( 𝑥 = ( 𝑖𝑔 𝑗 ) ∧ 𝑦 = { 𝑎 ∈ ( 𝑚m ω ) ∣ ( 𝑎𝑖 ) 𝑒 ( 𝑎𝑗 ) } )
70 69 32 22 wrex 𝑖 ∈ ω ∃ 𝑗 ∈ ω ( 𝑥 = ( 𝑖𝑔 𝑗 ) ∧ 𝑦 = { 𝑎 ∈ ( 𝑚m ω ) ∣ ( 𝑎𝑖 ) 𝑒 ( 𝑎𝑗 ) } )
71 70 6 7 copab { ⟨ 𝑥 , 𝑦 ⟩ ∣ ∃ 𝑖 ∈ ω ∃ 𝑗 ∈ ω ( 𝑥 = ( 𝑖𝑔 𝑗 ) ∧ 𝑦 = { 𝑎 ∈ ( 𝑚m ω ) ∣ ( 𝑎𝑖 ) 𝑒 ( 𝑎𝑗 ) } ) }
72 56 71 crdg rec ( ( 𝑓 ∈ V ↦ ( 𝑓 ∪ { ⟨ 𝑥 , 𝑦 ⟩ ∣ ∃ 𝑢𝑓 ( ∃ 𝑣𝑓 ( 𝑥 = ( ( 1st𝑢 ) ⊼𝑔 ( 1st𝑣 ) ) ∧ 𝑦 = ( ( 𝑚m ω ) ∖ ( ( 2nd𝑢 ) ∩ ( 2nd𝑣 ) ) ) ) ∨ ∃ 𝑖 ∈ ω ( 𝑥 = ∀𝑔 𝑖 ( 1st𝑢 ) ∧ 𝑦 = { 𝑎 ∈ ( 𝑚m ω ) ∣ ∀ 𝑧𝑚 ( { ⟨ 𝑖 , 𝑧 ⟩ } ∪ ( 𝑎 ↾ ( ω ∖ { 𝑖 } ) ) ) ∈ ( 2nd𝑢 ) } ) ) } ) ) , { ⟨ 𝑥 , 𝑦 ⟩ ∣ ∃ 𝑖 ∈ ω ∃ 𝑗 ∈ ω ( 𝑥 = ( 𝑖𝑔 𝑗 ) ∧ 𝑦 = { 𝑎 ∈ ( 𝑚m ω ) ∣ ( 𝑎𝑖 ) 𝑒 ( 𝑎𝑗 ) } ) } )
73 22 csuc suc ω
74 72 73 cres ( rec ( ( 𝑓 ∈ V ↦ ( 𝑓 ∪ { ⟨ 𝑥 , 𝑦 ⟩ ∣ ∃ 𝑢𝑓 ( ∃ 𝑣𝑓 ( 𝑥 = ( ( 1st𝑢 ) ⊼𝑔 ( 1st𝑣 ) ) ∧ 𝑦 = ( ( 𝑚m ω ) ∖ ( ( 2nd𝑢 ) ∩ ( 2nd𝑣 ) ) ) ) ∨ ∃ 𝑖 ∈ ω ( 𝑥 = ∀𝑔 𝑖 ( 1st𝑢 ) ∧ 𝑦 = { 𝑎 ∈ ( 𝑚m ω ) ∣ ∀ 𝑧𝑚 ( { ⟨ 𝑖 , 𝑧 ⟩ } ∪ ( 𝑎 ↾ ( ω ∖ { 𝑖 } ) ) ) ∈ ( 2nd𝑢 ) } ) ) } ) ) , { ⟨ 𝑥 , 𝑦 ⟩ ∣ ∃ 𝑖 ∈ ω ∃ 𝑗 ∈ ω ( 𝑥 = ( 𝑖𝑔 𝑗 ) ∧ 𝑦 = { 𝑎 ∈ ( 𝑚m ω ) ∣ ( 𝑎𝑖 ) 𝑒 ( 𝑎𝑗 ) } ) } ) ↾ suc ω )
75 1 3 2 2 74 cmpo ( 𝑚 ∈ V , 𝑒 ∈ V ↦ ( rec ( ( 𝑓 ∈ V ↦ ( 𝑓 ∪ { ⟨ 𝑥 , 𝑦 ⟩ ∣ ∃ 𝑢𝑓 ( ∃ 𝑣𝑓 ( 𝑥 = ( ( 1st𝑢 ) ⊼𝑔 ( 1st𝑣 ) ) ∧ 𝑦 = ( ( 𝑚m ω ) ∖ ( ( 2nd𝑢 ) ∩ ( 2nd𝑣 ) ) ) ) ∨ ∃ 𝑖 ∈ ω ( 𝑥 = ∀𝑔 𝑖 ( 1st𝑢 ) ∧ 𝑦 = { 𝑎 ∈ ( 𝑚m ω ) ∣ ∀ 𝑧𝑚 ( { ⟨ 𝑖 , 𝑧 ⟩ } ∪ ( 𝑎 ↾ ( ω ∖ { 𝑖 } ) ) ) ∈ ( 2nd𝑢 ) } ) ) } ) ) , { ⟨ 𝑥 , 𝑦 ⟩ ∣ ∃ 𝑖 ∈ ω ∃ 𝑗 ∈ ω ( 𝑥 = ( 𝑖𝑔 𝑗 ) ∧ 𝑦 = { 𝑎 ∈ ( 𝑚m ω ) ∣ ( 𝑎𝑖 ) 𝑒 ( 𝑎𝑗 ) } ) } ) ↾ suc ω ) )
76 0 75 wceq Sat = ( 𝑚 ∈ V , 𝑒 ∈ V ↦ ( rec ( ( 𝑓 ∈ V ↦ ( 𝑓 ∪ { ⟨ 𝑥 , 𝑦 ⟩ ∣ ∃ 𝑢𝑓 ( ∃ 𝑣𝑓 ( 𝑥 = ( ( 1st𝑢 ) ⊼𝑔 ( 1st𝑣 ) ) ∧ 𝑦 = ( ( 𝑚m ω ) ∖ ( ( 2nd𝑢 ) ∩ ( 2nd𝑣 ) ) ) ) ∨ ∃ 𝑖 ∈ ω ( 𝑥 = ∀𝑔 𝑖 ( 1st𝑢 ) ∧ 𝑦 = { 𝑎 ∈ ( 𝑚m ω ) ∣ ∀ 𝑧𝑚 ( { ⟨ 𝑖 , 𝑧 ⟩ } ∪ ( 𝑎 ↾ ( ω ∖ { 𝑖 } ) ) ) ∈ ( 2nd𝑢 ) } ) ) } ) ) , { ⟨ 𝑥 , 𝑦 ⟩ ∣ ∃ 𝑖 ∈ ω ∃ 𝑗 ∈ ω ( 𝑥 = ( 𝑖𝑔 𝑗 ) ∧ 𝑦 = { 𝑎 ∈ ( 𝑚m ω ) ∣ ( 𝑎𝑖 ) 𝑒 ( 𝑎𝑗 ) } ) } ) ↾ suc ω ) )