選択公理は、空でない集合たちの族の積が空でないという主張と同値である。証明は十分簡単である。各集合から元を選んで積において代表元を見つけるだけでよい。逆に、積の代表元は各成分からの元をちょうど1つずつ含む集合である。選択公理は積空間の研究において再び現れる。例えば、コンパクト集合に関するチコノフの定理は選択公理と同値なより複雑かつ微妙な主張の例である。
実数直線 R 上の標準位相から始め、R の n 個のコピーの積にこのように位相を定めれば、Rⁿ 上の通常のユークリッド位相を得る。カントール集合は離散空間 {0, 1} の可算個のコピーの積に同相であり、無理数全体からなる集合は自然数全体からなる集合（再び各コピーは離散位相を持っている）の可算個のコピーの積に同相である。いくつかの追加の例は始位相についての記事において与えられる。
位相幾何学とその周辺において、積空間（せきくうかん、英: product space）とは位相空間の族の直積に積位相 (product topology) と呼ばれる自然な位相を入れた空間のことである。この位相は他の、もしかするとより明らかな、箱位相と呼ばれる位相とは異なる。箱位相も積空間に与えることができ、有限個の空間の直積では積位相と一致する。しかしながら、積位相は位相空間の圏における圏論的積であるという意味で「正しい」位相である。（一方箱位相は細かすぎる。）これが積位相が「自然」であるという意味である。
相対式2面2線の地上駅で、2番線（駅舎と反対側）は一線スルー構造となっている。一線スルー構造になる前は2面3線であった。ホーム間の移動は跨線橋を使う。かつては有人駅だったが、後に無人駅となっている。
町名より。アイヌ語の、「ピピペッ（pipi-pet）」（石のごろごろしている・川）、あるいは「ピオプ」（pi-o-p）」（石の・多い・ところ）の転訛と考えられる。2012年（平成24年）以降、JRの駅で唯一、半濁音で始まる名前の駅となっている。1980年（昭和55年）には駅名に因み、製薬会社ピップ（当時の社名は藤本）の「ピップエレキバン」のテレビCM撮影が行われ、放映開始後は駅を訪問する旅客で賑わった。CMには樹木希林と横矢勲（当時の藤本の会長）が出演した。2015年には比布町が、同CMをまねたPR動画を公開した。
メモリを節約するため、一連のサブルーチンコールからサブルーチンのアドレスのリストを作り、小さなループを使って次々にサブルーチンを呼び出す。例えば次のようになる。start:  ip = &threadtop:  jump *ip++thread:  &pushA  &pushB  &add  ...pushA:  *sp++ = A  jump toppushB:  *sp++ = B  jump topadd:  *sp++ = *--sp + *--sp  jump topこの場合、バイトコードのデコードは1回だけ、コンパイル時かプログラムロード時になされ、実行時に毎回デコードするわけではない。実行コストに比べてデコードとディスパッチのオーバーヘッドが大きい場合、これで時間と領域を節約できる。なお、バイトコードのデコードとディスパッチを同時に行うインタプリタにおいては解釈すべき命令はそれぞれ1バイトだが、上記のスレッデッドコードのthread内の&pushAや&pushBといったアドレスは2バイト以上ということが普通である。一般にデコード&ディスパッチ・インタプリタにおける命令のサイズは一定ではない。例えば、そのようなインタプリタで Intel Pentium のシミュレーションを行う場合、デコードすべき命令の大きさは1バイトから16バイトまで様々である。しかし、バイトコード化システムは最も一般的な操作に1バイトのコードを割り当てる。従ってこのスレッデッドコードはバイトコードよりスペースコストがやや高い。多くの用途では、デコードコストの縮小はスペースコストの増加に優る。また、バイトコードは名目上マシンから独立しているが、スレッド内のポインタの形式や値はインタプリタを実行するターゲットマシンに依存しているのが一般的である。したがって、インタプリタがポータブルなバイトコードのプログラムをロードし、そのバイトコードをデコードしてプラットフォーム依存のスレッデッドコードを生成し、実際の実行時には元のバイトコードを全く参照せずにスレッデッドコードを実行する、ということになる。このループは単純なので、個々のインタプリタ命令を実装した機械語命令列の最後尾にある jump top を取り除き、それぞれが直接次のインタプリタ命令へジャンプするように修正可能である。例えば次のようになる。start:  ip = &thread  jump *ip++thread:  &pushA  &pushB  &add  ...pushA:  *sp++ = A  jump *ip++pushB:  *sp++ = B  jump *ip++add:  *sp++ = *--sp + *--sp  jump *ip++これを直接スレッデッドコード (direct threaded code, DTC) と呼ぶ。この技法は古くからあるが、「スレッデッドコード」という呼称が広まったのはベルの1973年の論文 "Threaded Code" からである。チャールズ・ムーアは、1970年にForth仮想機械のためにもっとコンパクトな技法を発明しており、それを間接スレッデッドコード (indirect threaded code, ITC) と呼ぶ。元々ムーアがその技法を発明したのは、Nova というミニコンピュータに多重メモリ間接モード（メモリ上のアドレスに間接ビットを付与できる）があり、実装が容易で高速だったためである。バイト誌のForth特集でムーアは、その後のForthの設計にもそれを適用していったことで、それがいかに便利だったかがわかったと述べている。ForthコンパイラがForthプログラムをコンパイルする場合、間接スレッデッドコードを生成するものと直接スレッデッドコードを生成するものがある。どちらであってもプログラムは同じように動作する。