在數學裏,集合建構式符號(set-builder notation)是常用於描述集合的一種記號,這種描述集合的方式一般也稱為集合抽象化(set abstraction)或set comprehension。一般寫為
或
,分別只在於論域的不同,前者的元素恰好是那些符合謂詞P的集合,而後者的元素除了符合謂詞P,還得是S的元素。
海什木(Alhazen)的正整數和公式推導。
以三角形數的集合為例。三角形數有一個規則,它是正整數的和。
下面的每一個等式給出了三角形數集合T的一個元素:
![{\displaystyle 1=1}](https://wikimedia.org/api/rest_v1/media/math/render/svg/25d99fe618d7f25081f5f92fb9556b41e772bddc)
![{\displaystyle 1+2=3}](https://wikimedia.org/api/rest_v1/media/math/render/svg/43f7e9a80913b9d5ec8d169140265d3e2fff5b4b)
![{\displaystyle 1+2+3=6}](https://wikimedia.org/api/rest_v1/media/math/render/svg/e1a8e20ad2745b7c3528c2530d174da207467411)
![{\displaystyle 1+2+3+4=10}](https://wikimedia.org/api/rest_v1/media/math/render/svg/c25cf2198514b7f13b27bb7462dc9e031f14c31f)
![{\displaystyle 1+2+3+4+5=15}](https://wikimedia.org/api/rest_v1/media/math/render/svg/003c4d43a79bde2b0e0382d6554c4d1256b9330d)
![{\displaystyle 1+2+3+4+5+6=21}](https://wikimedia.org/api/rest_v1/media/math/render/svg/9538eed90f0e06c22cd54dc492f74e8e9645668a)
![{\displaystyle \qquad \qquad \quad \vdots }](https://wikimedia.org/api/rest_v1/media/math/render/svg/53c145e81534ddb4cab4458eed453ca53f1d2417)
![{\displaystyle 1+2+3+\ldots +n=S}](https://wikimedia.org/api/rest_v1/media/math/render/svg/9877969a96bcd864496562a0196a81f3b2ce855d)
- 其中,n是正整數,S是左式的結果。
於是我們歸納出一個規則(即公式):
![{\displaystyle 1+2+3+\ldots +n={\frac {n(n+1)}{2}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/922347bb66f82d91dbeff0ef75a993f6dafec726)
這個規則可代表集合T中的元素。於是,集合T可以簡寫為:
![{\displaystyle T=\left\{S~\left|~S={\frac {n(n+1)}{2}},n\in \mathbb {N} ^{+}\right.\right\}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/c83eb7cda86f51ae58a2ec79f28e1e7d9c2e1de6)
在上面的簡單範例中,我們將一個繁複的集合表示法,透過一個簡單的規則,重新以簡單的符號來表示這個集合。
當一個集合的元素是用某種公式或條件(亦即,一個函數)所產生,這時候就可以用集合建構式來表示,例如:
- 偶數集合 =
是2的倍數![{\displaystyle \}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/2cf208e5d370391e66767f13641bd5ee6ad93825)
- 負數集合 =
是小於0的數![{\displaystyle \}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/2cf208e5d370391e66767f13641bd5ee6ad93825)
就哲學上來說,這些元素具有某種共同的性質(2的倍數,或是小於0);在一階邏輯中,這個性質可以使用謂詞來表示,而該集合的一般格式為:
![{\displaystyle A=\{x:P(x)\}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/a1298b94c7ddc74e93cc37c607b031c0e9ee9d77)
以偶數集合為例,其謂詞
「是2的倍數」。
「
是2的倍數」,被稱為一個命題函數。
集合
的元素必定是另一個集合
的元素
,使得
為真(亦即,
是
的一個子集),一般表述為:
或是![{\displaystyle A=\{x\in B:P(x)\}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/2913e3fa37253c29012c0bf15802697ba7919166)
在這裏,
是謂詞,
是主詞(
集合中的一個元素),
是一個傳回真假值的命題函數:
![{\displaystyle P\colon B\rightarrow \{true,false\}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/5a8bb21e426ae8b37deae031cf3b8d2336a1f9a2)
所以,在數學中,謂詞被視為一種布林值函數。
在實例中,如果沒有指定
集合,就表示
集合是由謂詞
所給出。
- 正整數集合可用下列建構式表示:
是大於0的整數![{\displaystyle \}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/2cf208e5d370391e66767f13641bd5ee6ad93825)
![{\displaystyle \{x:x>0\land x\in \mathbb {Z} \}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/e236d36be52d0ddb403e6b9a6fa1ef9426fac946)
- 偶數集合可用下列建構式表示:
是2的倍數![{\displaystyle \}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/2cf208e5d370391e66767f13641bd5ee6ad93825)
![{\displaystyle \{x:x=2k,k\in \mathbb {Z} \}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/e4412b6b57acdecd1bb25fc4f18f1d46d931c28d)
- 負數集合可用下列建構式表示:
是小於0的數![{\displaystyle \}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/2cf208e5d370391e66767f13641bd5ee6ad93825)
![{\displaystyle \{x~|~\forall x\in \mathbb {R} ,x<0\}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/5866b90283d74ec20ab8dfb5ac5a280c5f21c172)
![{\displaystyle \{x\in \mathbb {R} ~|~x<0\}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/e896948009b7442f135c728927ea34642cc4c114)
- 平方數集合可用下列建構式表示:
是某個整數的平方![{\displaystyle \}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/2cf208e5d370391e66767f13641bd5ee6ad93825)
![{\displaystyle \{x:x=k^{2};k\in \mathbb {Z} \}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/13516af48b2ec752a1dcdc7dd59cf149f49c639f)
![{\displaystyle \{x^{2}:x\in \mathbb {Z} \}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/4fa0b8aae394cf67054ee5d7db6ff5893a783729)
s.t. ![{\displaystyle k^{2}=x\}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/37d202fabbeb74af155da678c95d4a426a863e06)
在這裏,有幾個習慣用法:
- 冒號和豎線是一樣的,意思是「使得(such that,簡寫為s.t.)」。一般來說,冒號與豎線只使用在最前面,接下來的「使得」都使用別的符號,例如s.t.或是
。但是偶爾也會看到這樣的句子,奇數:
![{\displaystyle \{n\in \mathbb {Z} :\exists k\in \mathbb {Z} :n=2k+1\}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/375d11b57f1c61994f17e9cb1dd579588a25b1fd)
- 另一個更簡潔的句子可以表達相同的意思:
![{\displaystyle \{2n+1:n\in \mathbb {Z} \}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/00a7efe998a2fd2293b0f95ae54d58da76e5eb4c)
- 一般來說,
是省略不寫的,但是偶爾會看到使用
的句子。一個複雜的例句如下,非平方數:
![{\displaystyle \{x\in \mathbb {N} :\forall k\in \mathbb {Z} ,k^{2}\neq x\}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/2f3aeadc652cdef3b42a0b50e02b62bcb0a1e777)