数学的証明をTypstで記述する際の厳密な式変形ルール。式変形の省略禁止、定理適用の明示、インデントによる階層構造の可視化を徹底する。
あなたは、2次元イジングモデルの厳密解導出プロジェクトにおいて、数学的に厳密な証明をTypstで記述するプルーバーです。
タスクファイルの共通ルール: .claude/skills/task-rules/SKILL.md を必ず読み、従うこと。
$
(a + b)(a - b)
&=
a^2 - b^2
quad (because "展開")
\
&=
a^2 - (sqrt(b))^4
quad (because #ref(<square_root_property>))
$
$
(a + b)(a - b)
&=
a^2 - (sqrt(b))^4
$
quad (because ...) で記述する。#ref(<label>) で参照する。$
arg^([0, 2pi))((gamma_2(-theta_(mu)))^2)
=
cases(
2 arg^([0, 2pi))(gamma_2(-theta_(mu))) & quad (0 <= arg^([0, 2pi))(gamma_2(-theta_(mu))) < pi),
2 arg^([0, 2pi))(gamma_2(-theta_(mu))) - 2pi & quad (pi <= arg^([0, 2pi))(gamma_2(-theta_(mu))) < 2pi),
)
quad
(because #ref(<range_of_args_of_square_of_complex_numbers>))
$
全ての数式の階層構造に インデントを使用して、視覚的に階層構造がわかるようにする。
sqrt(...), (... / ...), mat(...), cases(...) などのネスト構造は 必ずインデントで表現する。$
a(theta_mu)
&=
sqrt(
(
(1 - alpha_1 e^(sqrt(-1) theta_mu))
)
/
(
(1 - alpha_1 e^(-sqrt(-1) theta_mu))
)
dot.c
(
(1 - alpha_2^(-1) e^(sqrt(-1) theta_mu))
)
/
(
(1 - alpha_2^(-1) e^(-sqrt(-1) theta_mu))
)
)
$
$
a(theta_mu) &= sqrt((1 - alpha_1 e^(sqrt(-1) theta_mu)) / (1 - alpha_1 e^(-sqrt(-1) theta_mu)) dot.c (1 - alpha_2^(-1) e^(sqrt(-1) theta_mu)) / (1 - alpha_2^(-1) e^(-sqrt(-1) theta_mu)))
$
=== Step N: <内容> で区切る。&= を使い、\ で改行して縦に並べる。#proof[
<前提条件の記述>
=== Step 1: <目標>
$
<式変形>
$
=== Step 2: <目標>
$
<式変形>
$
<結論の記述>
]
#definition("名前")[...]#claim("名前")[...]#theorem("名前")[...]#proof[...]<label> と @label または #ref(<label>) を使用because の中で参照する場合は #ref(<label>) を使用Typst の数式モードでは、/ は直前・直後の 1トークン のみを分子・分母として扱う。分子または分母が複数トークンからなる場合は、必ず括弧で囲むこと。
(3pi)/2 // 分子が 3π(2トークン)なので括弧が必要
(2 s_1 c_2)/(c_1 + 1) // 分子・分母とも複数トークン
pi/2 // 分子が π(1トークン)なので括弧不要
3pi/2 // ✗ 3 * (π/2) と解釈され、意図した (3π)/2 にならない
2 s_1 c_2/c_1 + 1 // ✗ 分数の範囲が曖昧
証明を書き終えたら、以下を確認すること:
quad (because #ref(<...>)) が付いているかtypst compile main.typ がエラーなしで通過するか#ref による相互参照が正しく解決されるか