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 ω ) ) |
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 ω ) ) |