diff --git a/aesop.html b/aesop.html index 72503598..3faf249d 100644 --- a/aesop.html +++ b/aesop.html @@ -170,7 +170,8 @@

Lean4 タクティク逆引きリスト

aesop

-

aesop は,introsimp を使用してルーチンな証明を自動で行おうとします.Aesop ライブラリに依存しています.

+

needs: import Aesop

+

aesop は,introsimp を使用してルーチンな証明を自動で行おうとします.

-- 合成 `g ∘ f` が単射なら,`f` も単射
 example {f : X → Y} {g : Y → Z} (hgfinj : Injective (g ∘ f)) : Injective f := by
   rw [Injective]
diff --git a/apply_question.html b/apply_question.html
index 6671175c..cab0168d 100644
--- a/apply_question.html
+++ b/apply_question.html
@@ -170,8 +170,9 @@ 

Lean4 タクティク逆引きリスト

apply?

-

apply? は,ゴールを閉じるのに必要な命題をライブラリから検索してきて,提案してくれるタクティクです.Mathlib.Tactic.LibrarySearch に依存しています.

-
-- 群順同型は積を保つ
+

needs: import Mathlib.Tactic.LibrarySearch

+

apply? は,ゴールを閉じるのに必要な命題をライブラリから検索してきて,提案してくれるタクティクです.

+
-- 群準同型は積を保つ
 example [Group G] [Group H] (f : G →* H) (a b : G) :
     f (a * b) = f a * f b := by
     -- `exact MonoidHom.map_mul f a b` を提案してくれる
diff --git a/by.html b/by.html
index 3117433c..6c757b26 100644
--- a/by.html
+++ b/by.html
@@ -183,7 +183,8 @@ 

by

exact hQR (hPQ hP)

by?

-

これは Std.Tactic.ShowTerm に依存した例ですが,by? を使えばタクティクモードで構成した証明を直接構成した証明に変換してくれます.

+

needs: import Std.Tactic.ShowTerm

+

by? を使うとタクティクモードで構成した証明を直接構成した証明に変換してくれます.

example (hPQ : P → Q) (hQR : Q → R) : P → R := by?
   -- `Try this: fun hP => hQR (hPQ hP)` と提案してくれる
   intro hP
diff --git a/by_contra.html b/by_contra.html
index 7ad2bbeb..558ad153 100644
--- a/by_contra.html
+++ b/by_contra.html
@@ -170,7 +170,8 @@ 

Lean4 タクティク逆引きリスト

by_contra

-

by_contra は,背理法を使いたいときに役立つタクティクです.Mathlib.Tactic.ByContra に依存しています.

+

needs: import Mathlib.Tactic.ByContra

+

by_contra は,背理法を使いたいときに役立つタクティクです.

ゴールが ⊢ P であるときに by_contra h を実行すると,h : ¬ P がローカルコンテキストに追加されて,同時にゴールが ⊢ False になります.

example (h: ¬Q → ¬P) : P → Q := by
   -- `P` であると仮定する
diff --git a/cases.html b/cases.html
index 4c88a4e1..636092b0 100644
--- a/cases.html
+++ b/cases.html
@@ -200,7 +200,8 @@ 

cas exact hQR hQ

cases'

-

Mathlib.Tactic.Cases に依存したタクティクですが,cases' を使用すると分解した仮定に簡潔に名前をつけることができます.

+

needs: import Mathlib.Tactic.Cases

+

cases' を使用すると分解した仮定に簡潔に名前をつけることができます.

example : P ∨ Q → (P → R) → (Q → R) → R := by
   intro h hPR hQR
 
@@ -210,7 +211,8 @@ 

cases'

· apply hQR hQ

rcases

-

Std.Tactic.RCases に依存したタクティクですが,rcasescases をパターンに従って再帰的(recursive)に適用します.論理和∨以外にも使うことができます.

+

needs: import Std.Tactic.RCases

+

rcasescases をパターンに従って再帰的(recursive)に適用します.論理和∨以外にも使うことができます.

variable (P Q R : Prop)
 
 example : P ∨ Q → (P → R) → (Q → R) → R := by
diff --git a/ext.html b/ext.html
index 37960b63..87009c5e 100644
--- a/ext.html
+++ b/ext.html
@@ -170,8 +170,9 @@ 

Lean4 タクティク逆引きリスト

ext

+

needs: import Std.Tactic.Ext

数学では集合 A, B ⊂ α について A = B を示すときに x ∈ Ax ∈ B が同値であることを示すのが常套手段として行われますが,ext はそういうことを行うタクティクです.

-

Std.Tactic.Ext に依存しているタクティクです.@[ext] で登録されたルールを使用するため,集合の等式 A = B を示すときは Mathlib.Data.SetLike.Basic も必要です.

+

@[ext] で登録されたルールを使用するため,集合の等式 A = B を示すときは Mathlib.Data.SetLike.Basic も必要です.

variable {α : Type}
 
 -- `s` と `t` は `α` の部分集合
diff --git a/induction.html b/induction.html
index 87bdc00d..4bf48fca 100644
--- a/induction.html
+++ b/induction.html
@@ -200,7 +200,8 @@ 

induction

positivity

induction'

-

Mathlib.Tactic.Cases 依存のタクティクですが,induction' というタクティクもあります.こちらは箇条書きによる,より簡潔な書き方が可能です.

+

needs: import Mathlib.Tactic.Cases

+

induction' というタクティクもあります.こちらは箇条書きによる,より簡潔な書き方が可能です.

example (n : Nat) : 0 < fac n := by
   -- `ih` は帰納法の仮定
   -- `k` は `ih` に登場する変数
diff --git a/left_right.html b/left_right.html
index 7bc74629..998be331 100644
--- a/left_right.html
+++ b/left_right.html
@@ -170,7 +170,8 @@ 

Lean4 タクティク逆引きリスト

left, right

-

ゴールが ⊢ P ∨ Q であるとき,left はゴールを ⊢ P に,right はゴールを ⊢ Q に変えます.Mathlib.Tactic.LeftRight に依存しているタクティクです.

+

needs: import Mathlib.Tactic.LeftRight

+

ゴールが ⊢ P ∨ Q であるとき,left はゴールを ⊢ P に,right はゴールを ⊢ Q に変えます.

example (hP: P) : P ∨ Q := by
   left
   assumption
diff --git a/print.html b/print.html
index f6c4a668..6ce5a43a 100644
--- a/print.html
+++ b/print.html
@@ -176,7 +176,8 @@ 

謝辞

数学系のためのLean勉強会 からいくつかコード例を拝借させていただきました.ありがとうございます.

aesop

-

aesop は,introsimp を使用してルーチンな証明を自動で行おうとします.Aesop ライブラリに依存しています.

+

needs: import Aesop

+

aesop は,introsimp を使用してルーチンな証明を自動で行おうとします.

-- 合成 `g ∘ f` が単射なら,`f` も単射
 example {f : X → Y} {g : Y → Z} (hgfinj : Injective (g ∘ f)) : Injective f := by
   rw [Injective]
@@ -234,8 +235,9 @@ 

exact< apply hP

apply?

-

apply? は,ゴールを閉じるのに必要な命題をライブラリから検索してきて,提案してくれるタクティクです.Mathlib.Tactic.LibrarySearch に依存しています.

-
-- 群順同型は積を保つ
+

needs: import Mathlib.Tactic.LibrarySearch

+

apply? は,ゴールを閉じるのに必要な命題をライブラリから検索してきて,提案してくれるタクティクです.

+
-- 群準同型は積を保つ
 example [Group G] [Group H] (f : G →* H) (a b : G) :
     f (a * b) = f a * f b := by
     -- `exact MonoidHom.map_mul f a b` を提案してくれる
@@ -268,7 +270,8 @@ 

exact< contradiction

by_contra

-

by_contra は,背理法を使いたいときに役立つタクティクです.Mathlib.Tactic.ByContra に依存しています.

+

needs: import Mathlib.Tactic.ByContra

+

by_contra は,背理法を使いたいときに役立つタクティクです.

ゴールが ⊢ P であるときに by_contra h を実行すると,h : ¬ P がローカルコンテキストに追加されて,同時にゴールが ⊢ False になります.

example (h: ¬Q → ¬P) : P → Q := by
   -- `P` であると仮定する
@@ -297,7 +300,8 @@ 

exact< exact hQR (hPQ hP)

by?

-

これは Std.Tactic.ShowTerm に依存した例ですが,by? を使えばタクティクモードで構成した証明を直接構成した証明に変換してくれます.

+

needs: import Std.Tactic.ShowTerm

+

by? を使うとタクティクモードで構成した証明を直接構成した証明に変換してくれます.

example (hPQ : P → Q) (hQR : Q → R) : P → R := by?
   -- `Try this: fun hP => hQR (hPQ hP)` と提案してくれる
   intro hP
@@ -336,7 +340,8 @@ 

cas exact hQR hQ

cases'

-

Mathlib.Tactic.Cases に依存したタクティクですが,cases' を使用すると分解した仮定に簡潔に名前をつけることができます.

+

needs: import Mathlib.Tactic.Cases

+

cases' を使用すると分解した仮定に簡潔に名前をつけることができます.

example : P ∨ Q → (P → R) → (Q → R) → R := by
   intro h hPR hQR
 
@@ -346,7 +351,8 @@ 

cases'

· apply hQR hQ

rcases

-

Std.Tactic.RCases に依存したタクティクですが,rcasescases をパターンに従って再帰的(recursive)に適用します.論理和∨以外にも使うことができます.

+

needs: import Std.Tactic.RCases

+

rcasescases をパターンに従って再帰的(recursive)に適用します.論理和∨以外にも使うことができます.

variable (P Q R : Prop)
 
 example : P ∨ Q → (P → R) → (Q → R) → R := by
@@ -427,8 +433,9 @@ 

同値を示 exists 2

ext

+

needs: import Std.Tactic.Ext

数学では集合 A, B ⊂ α について A = B を示すときに x ∈ Ax ∈ B が同値であることを示すのが常套手段として行われますが,ext はそういうことを行うタクティクです.

-

Std.Tactic.Ext に依存しているタクティクです.@[ext] で登録されたルールを使用するため,集合の等式 A = B を示すときは Mathlib.Data.SetLike.Basic も必要です.

+

@[ext] で登録されたルールを使用するため,集合の等式 A = B を示すときは Mathlib.Data.SetLike.Basic も必要です.

variable {α : Type}
 
 -- `s` と `t` は `α` の部分集合
@@ -524,7 +531,8 @@ 

存在 ∃

positivity

induction'

-

Mathlib.Tactic.Cases 依存のタクティクですが,induction' というタクティクもあります.こちらは箇条書きによる,より簡潔な書き方が可能です.

+

needs: import Mathlib.Tactic.Cases

+

induction' というタクティクもあります.こちらは箇条書きによる,より簡潔な書き方が可能です.

example (n : Nat) : 0 < fac n := by
   -- `ih` は帰納法の仮定
   -- `k` は `ih` に登場する変数
@@ -584,7 +592,8 @@ 

left, right

-

ゴールが ⊢ P ∨ Q であるとき,left はゴールを ⊢ P に,right はゴールを ⊢ Q に変えます.Mathlib.Tactic.LeftRight に依存しているタクティクです.

+

needs: import Mathlib.Tactic.LeftRight

+

ゴールが ⊢ P ∨ Q であるとき,left はゴールを ⊢ P に,right はゴールを ⊢ Q に変えます.

example (hP: P) : P ∨ Q := by
   left
   assumption
@@ -605,7 +614,8 @@ 

ring

-

ring は,可換環の等式を示します.Mathlib.Tactic.Ring に依存しています.

+

needs: import Mathlib.Tactic.Ring

+

ring は,可換環の等式を示します.

example : (x + y) ^ 2 = x ^ 2 + 2 * x * y + y ^ 2 := by
   ring
 
diff --git a/ring.html b/ring.html index 4e254e80..3b3194f5 100644 --- a/ring.html +++ b/ring.html @@ -170,7 +170,8 @@

Lean4 タクティク逆引きリスト

ring

-

ring は,可換環の等式を示します.Mathlib.Tactic.Ring に依存しています.

+

needs: import Mathlib.Tactic.Ring

+

ring は,可換環の等式を示します.

example : (x + y) ^ 2 = x ^ 2 + 2 * x * y + y ^ 2 := by
   ring
 
diff --git a/searchindex.js b/searchindex.js index ea3b1a70..4a5a99e2 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Object.assign(window.search, {"doc_urls":["index.html#lean4-タクティク逆引きリスト","index.html#謝辞","aesop.html#aesop","aesop.html#aesop-1","apply.html#apply","apply.html#否定--について","apply.html#よくあるエラー","apply.html#関連するタクティク","apply.html#exact","apply_question.html#apply","assumption.html#assumption","assumption.html#関連するタクティク","assumption.html#exact","by_cases.html#by_cases","by_contra.html#by_contra","by.html#by","by.html#by-1","calc.html#calc","cases.html#cases","cases.html#case-を書かない","cases.html#cases-1","cases.html#rcases","constructor.html#constructor","constructor.html#同値を示す","contradiction.html#contradiction","conv.html#conv","done.html#done","exact.html#exact","exists.html#exists","ext.html#ext","funext.html#funext","have.html#have","have.html#パターンマッチ","have.html#論理積-","have.html#存在-","induction.html#induction","induction.html#induction-1","intro.html#intro","intro.html#否定--について","left_right.html#left-right","rfl.html#rfl","ring.html#ring","rw.html#rw","show.html#show","simp.html#simp","simp.html#simp-1","simp.html#simp_all","simp.html#dsimp","sorry.html#sorry","suffices.html#suffices","trivial.html#trivial"],"index":{"documentStore":{"docInfo":{"0":{"body":3,"breadcrumbs":2,"title":1},"1":{"body":1,"breadcrumbs":1,"title":0},"10":{"body":9,"breadcrumbs":2,"title":1},"11":{"body":0,"breadcrumbs":1,"title":0},"12":{"body":2,"breadcrumbs":2,"title":1},"13":{"body":24,"breadcrumbs":2,"title":1},"14":{"body":26,"breadcrumbs":2,"title":1},"15":{"body":37,"breadcrumbs":0,"title":0},"16":{"body":22,"breadcrumbs":0,"title":0},"17":{"body":4,"breadcrumbs":2,"title":1},"18":{"body":49,"breadcrumbs":2,"title":1},"19":{"body":33,"breadcrumbs":2,"title":1},"2":{"body":23,"breadcrumbs":2,"title":1},"20":{"body":24,"breadcrumbs":2,"title":1},"21":{"body":56,"breadcrumbs":2,"title":1},"22":{"body":36,"breadcrumbs":2,"title":1},"23":{"body":27,"breadcrumbs":1,"title":0},"24":{"body":31,"breadcrumbs":2,"title":1},"25":{"body":4,"breadcrumbs":2,"title":1},"26":{"body":1,"breadcrumbs":2,"title":1},"27":{"body":25,"breadcrumbs":2,"title":1},"28":{"body":23,"breadcrumbs":2,"title":1},"29":{"body":35,"breadcrumbs":2,"title":1},"3":{"body":23,"breadcrumbs":2,"title":1},"30":{"body":40,"breadcrumbs":2,"title":1},"31":{"body":39,"breadcrumbs":0,"title":0},"32":{"body":0,"breadcrumbs":0,"title":0},"33":{"body":17,"breadcrumbs":0,"title":0},"34":{"body":38,"breadcrumbs":0,"title":0},"35":{"body":67,"breadcrumbs":2,"title":1},"36":{"body":20,"breadcrumbs":2,"title":1},"37":{"body":90,"breadcrumbs":2,"title":1},"38":{"body":40,"breadcrumbs":1,"title":0},"39":{"body":27,"breadcrumbs":4,"title":2},"4":{"body":47,"breadcrumbs":2,"title":1},"40":{"body":18,"breadcrumbs":2,"title":1},"41":{"body":31,"breadcrumbs":2,"title":1},"42":{"body":55,"breadcrumbs":2,"title":1},"43":{"body":19,"breadcrumbs":2,"title":1},"44":{"body":142,"breadcrumbs":2,"title":1},"45":{"body":2,"breadcrumbs":2,"title":1},"46":{"body":2,"breadcrumbs":2,"title":1},"47":{"body":2,"breadcrumbs":2,"title":1},"48":{"body":26,"breadcrumbs":2,"title":1},"49":{"body":32,"breadcrumbs":2,"title":1},"5":{"body":21,"breadcrumbs":1,"title":0},"50":{"body":14,"breadcrumbs":2,"title":1},"6":{"body":14,"breadcrumbs":1,"title":0},"7":{"body":0,"breadcrumbs":1,"title":0},"8":{"body":17,"breadcrumbs":2,"title":1},"9":{"body":21,"breadcrumbs":2,"title":1}},"docs":{"0":{"body":"「普段の数学を Lean でどうやって実現するんだろう」という疑問に答えるために,よく使うタクティクをユースケースから逆引きできるようにまとめたリストです. 全タクティクのリストが必要な場合は, mathlib4-all-tactics をご参照ください.","breadcrumbs":"Lean4 タクティク逆引きリスト » Lean4 タクティク逆引きリスト","id":"0","title":"Lean4 タクティク逆引きリスト"},"1":{"body":"数学系のためのLean勉強会 からいくつかコード例を拝借させていただきました.ありがとうございます.","breadcrumbs":"Lean4 タクティク逆引きリスト » 謝辞","id":"1","title":"謝辞"},"10":{"body":"assumption は,現在のゴール ⊢ P がローカルコンテキストにあるとき,ゴールを閉じます. example (hP: P) (_: Q) : P := by assumption","breadcrumbs":"assumption: 仮定をそのまま使う » assumption","id":"10","title":"assumption"},"11":{"body":"","breadcrumbs":"assumption: 仮定をそのまま使う » 関連するタクティク","id":"11","title":"関連するタクティク"},"12":{"body":"assumption による証明は,どの仮定を使うか明示すれば exact で書き直すことができます.","breadcrumbs":"assumption: 仮定をそのまま使う » exact","id":"12","title":"exact"},"13":{"body":"by_cases は排中律を使って場合分けをするタクティクです. by_cases h: P とすると,P が成り立つときと成り立たないときのゴールがそれぞれ生成されます. example (P: Prop) : ¬¬P → P := by intro hnnP -- `P` が成り立つかどうかで場合分けする by_cases hP: P case inl => -- `P` が成り立つとき assumption case inr => -- `P` が成り立たないとき contradiction","breadcrumbs":"by_cases: 排中律 » by_cases","id":"13","title":"by_cases"},"14":{"body":"by_contra は,背理法を使いたいときに役立つタクティクです.Mathlib.Tactic.ByContra に依存しています. ゴールが ⊢ P であるときに by_contra h を実行すると,h : ¬ P がローカルコンテキストに追加されて,同時にゴールが ⊢ False になります. example (h: ¬Q → ¬P) : P → Q := by -- `P` であると仮定する intro hP -- `¬Q` であると仮定する by_contra hnQ -- `¬ Q → ¬ P` と `¬Q` から `¬P` が導かれる have := h hnQ -- これは仮定に矛盾 contradiction","breadcrumbs":"by_contra: 背理法 » by_contra","id":"14","title":"by_contra"},"15":{"body":"型理論においては,命題 P は型で,証明 h : P はその項です.証明を構成するとは項 h を構成するということです.by は,証明の構成をタクティクで行いたいときに使います. -- `P → R` というのは `P` の証明を与えられたときに `R` の証明を返す関数の型\n-- したがって,その証明は関数となる\nexample (hPQ : P → Q) (hQR : Q → R) : P → R := fun hP ↦ hQR (hPQ hP) -- 同じ命題をタクティクで示した例\nexample (hPQ : P → Q) (hQR : Q → R) : P → R := by intro hP exact hQR (hPQ hP)","breadcrumbs":"by: タクティクモードに入る » by","id":"15","title":"by"},"16":{"body":"これは Std.Tactic.ShowTerm に依存した例ですが,by? を使えばタクティクモードで構成した証明を直接構成した証明に変換してくれます. example (hPQ : P → Q) (hQR : Q → R) : P → R := by? -- `Try this: fun hP => hQR (hPQ hP)` と提案してくれる intro hP exact hQR (hPQ hP)","breadcrumbs":"by: タクティクモードに入る » by?","id":"16","title":"by?"},"17":{"body":"calc は計算モードに入るためのタクティクです.詳細については Theorem Proving in Lean4 をご参照ください.","breadcrumbs":"calc: 計算モードに入る » calc","id":"17","title":"calc"},"18":{"body":"cases は場合分けを行います.ローカルコンテキストに h: P ∨ Q があるときに cases h とすると,仮定に P を付け加えたゴール inl と,仮定に Q を付け加えたゴール inr を生成します.それぞれ,insert left と insert right の略ではないかと思います. example : P ∨ Q → (P → R) → (Q → R) → R := by -- `h: P ∨ Q` intro h hPR hQR -- `case inl` と `case inr` の2つのゴールを生成する cases h -- `P` が成り立つ場合 case inl hP => exact hPR hP -- `Q` が成り立つ場合 case inr hQ => exact hQR hQ","breadcrumbs":"cases: 論理和∨を使う » cases","id":"18","title":"cases"},"19":{"body":"上記の例では case を場合分けの枝ごとに書いていますが,下の例のように case を書かずに済ませることもできます. example : P ∨ Q → (P → R) → (Q → R) → R := by -- `h: P ∨ Q` intro h hPR hQR -- `case inl` と `case inr` の2つのゴールを生成する cases h with | inl hP => exact hPR hP | inr hQ => exact hQR hQ","breadcrumbs":"cases: 論理和∨を使う » case を書かない","id":"19","title":"case を書かない"},"2":{"body":"aesop は,intro や simp を使用してルーチンな証明を自動で行おうとします.Aesop ライブラリに依存しています. -- 合成 `g ∘ f` が単射なら,`f` も単射\nexample {f : X → Y} {g : Y → Z} (hgfinj : Injective (g ∘ f)) : Injective f := by rw [Injective] aesop","breadcrumbs":"aesop: ルーチン自動化 » aesop","id":"2","title":"aesop"},"20":{"body":"Mathlib.Tactic.Cases に依存したタクティクですが,cases' を使用すると分解した仮定に簡潔に名前をつけることができます. example : P ∨ Q → (P → R) → (Q → R) → R := by intro h hPR hQR -- 場合分けをする cases' h with hP hQ · apply hPR hP · apply hQR hQ","breadcrumbs":"cases: 論理和∨を使う » cases'","id":"20","title":"cases'"},"21":{"body":"Std.Tactic.RCases に依存したタクティクですが,rcases は cases をパターンに従って再帰的(recursive)に適用します.論理和∨以外にも使うことができます. variable (P Q R : Prop) example : P ∨ Q → (P → R) → (Q → R) → R := by intro h hPR hQR -- 場合分けをする rcases h with hP | hQ · apply hPR hP · apply hQR hQ example : P ∧ Q → Q ∧ P := by -- `h: P ∧ Q` と仮定する intro h -- `h: P ∧ Q` を `hP: P` と `hQ: Q` に分解する rcases h with ⟨hP, hQ⟩ -- `Q ∧ P` を証明する exact ⟨hQ, hP⟩","breadcrumbs":"cases: 論理和∨を使う » rcases","id":"21","title":"rcases"},"22":{"body":"ゴールが ⊢ P ∧ Q であるとき,constructor を実行すると,ゴールが2つのゴール ⊢ P と ⊢ Q に分割されます. example (hP: P) (hQ: Q) : P ∧ Q := by -- goal が `left` と `right` に分割される constructor · -- `P` を示す exact hP · -- `Q` を示す exact hQ なお h: P ∧ Q から P や Q の証明を得るのは,それぞれ h.left と h.right で可能です. example (h: P ∧ Q) : P := by exact h.left","breadcrumbs":"constructor: 論理積∧を示す » constructor","id":"22","title":"constructor"},"23":{"body":"constructor はゴールが ⊢ P ↔ Q であるときにも使用できます. example (x : Nat) : x = 0 ↔ x + 1 = 1 := by constructor · -- `x = 0 → x + 1 = 1` を示す intro hx rw [hx] · -- `x + 1 = 1 → x = 0` を示す simp_all","breadcrumbs":"constructor: 論理積∧を示す » 同値を示す","id":"23","title":"同値を示す"},"24":{"body":"contradiction は,矛盾によりゴールを閉じるタクティクです.矛盾から任意の命題を証明することができます. ローカルコンテキストに P と ¬ P が同時にあるなど,矛盾した状況にあるときにゴールを閉じます. -- `False`\nexample (h : False) : P := by contradiction -- 明らかに偽な等式\nexample (h : 2 + 2 = 3) : P := by contradiction -- 明らかに偽な等式\nexample (x : Nat) (h : x ≠ x) : P := by contradiction -- 矛盾する仮定\nexample (hP : P) (hnP : ¬ P) : Q := by contradiction","breadcrumbs":"contradiction: 矛盾 » contradiction","id":"24","title":"contradiction"},"25":{"body":"conv は変換モードに入るためのタクティクです.詳細については Theorem Proving in Lean4 をご参照ください.","breadcrumbs":"conv: 変換モードに入る » conv","id":"25","title":"conv"},"26":{"body":"done は,証明終了の合図です.証明すべきゴールが残っていない時に成功し,それ以外の時にはエラーになります.QED のようなものです.","breadcrumbs":"done: 証明終了を宣言 » done","id":"26","title":"done"},"27":{"body":"ゴールが P で,ローカルコンテキストに hP: P があるときに,exact hP はゴールを閉じます. example (hP: P) : P := by exact hP hP がゴールの証明になっていないときには,失敗してエラーになります. exact ⟨ hP, hQ ⟩ のようにすると,論理積∧の形をした命題を証明することができます. example (hP: P) (hQ: Q) : P ∧ Q := by exact ⟨ hP, hQ ⟩","breadcrumbs":"exact: 証明を直接構成 » exact","id":"27","title":"exact"},"28":{"body":"exists は,「~という x が存在する」という命題を示すために,「この x を使え」と指示するコマンドです. ゴールが ⊢ ∃ x, P x のとき,x: X がローカルコンテキストにあれば,exists x によりゴールが P x に変わります.同時に,P x が自明な場合は証明が終了します. example : ∃ x : Nat, 3 * x + 1 = 7 := by exists 2","breadcrumbs":"exists: 存在∃を示す » exists","id":"28","title":"exists"},"29":{"body":"数学では集合 A, B ⊂ α について A = B を示すときに x ∈ A と x ∈ B が同値であることを示すのが常套手段として行われますが,ext はそういうことを行うタクティクです. Std.Tactic.Ext に依存しているタクティクです.@[ext] で登録されたルールを使用するため,集合の等式 A = B を示すときは Mathlib.Data.SetLike.Basic も必要です. variable {α : Type} -- `s` と `t` は `α` の部分集合\nvariable (s t : Set α) example : s ∩ t = t ∩ s := by -- `x ∈ α` を取る.` x ∈ s ∩ t ↔ x ∈ t ∩ s` を証明すればよい ext x aesop なお A ⊂ B を示すために元を取るのは intro x で可能です.","breadcrumbs":"ext: 外延性を使う » ext","id":"29","title":"ext"},"3":{"body":"aesop が成功したとき,aesop? に置き換えると,ゴールを達成するのにどんなタクティクを使用したか教えてくれます. example {f : X → Y} {g : Y → Z} (hgfinj : Injective (g ∘ f)) : Injective f := by rw [Injective] -- `aesop?` は以下を返す intro a₁ a₂ a apply hgfinj simp_all only [comp_apply]","breadcrumbs":"aesop: ルーチン自動化 » aesop?","id":"3","title":"aesop?"},"30":{"body":"関数 f と g が等しいことを示す際に,引数 x をとって f x = g x を示そうとすることがありますが,funext はそれを行うタクティクです. def f := fun (x : Nat) ↦ x + x def g := fun (x : Nat) ↦ 2 * x example : f = g := by -- 引数 `x` を取る funext x -- `f x` と `g x` を展開する dsimp [f, g] -- `x + x` と `2 * x` が等しいことを証明する ring","breadcrumbs":"funext: 関数等式を示す » funext","id":"30","title":"funext"},"31":{"body":"have は,証明の途中でわかることをローカルコンテキストに追加するコマンドです. have h: P := ... で P という命題の証明を構成し,その証明に h という名前を付けることができます. example (hPQ: P → Q) (hQR: Q → R) : P → R := by -- 示したいことが `P → R` なので,`P` だと仮定する intro hP -- 仮定 `hPQ : P → Q` と `hP : P` から `Q` が導かれる have hQ : Q := by exact hPQ hP -- 仮定 `hQR : Q → R` と `hQ : Q` から `R` が導かれる exact hQR hQ 名前を省略して have : P := ... とすると,自動的に this という名前になります.","breadcrumbs":"have: 補題を用意する » have","id":"31","title":"have"},"32":{"body":"補題を示すだけでなく,ある特定の形をした主張を分解するのにも have は使うことができます.","breadcrumbs":"have: 補題を用意する » パターンマッチ","id":"32","title":"パターンマッチ"},"33":{"body":"次のように,P ∧ Q という命題から P と Q を取り出すことができます. example (hPQ: P ∧ Q) : P := by -- `P ∧ Q` という仮定を分解する -- `hQ: Q` は不要なのでアンダースコアに置き換える have ⟨ hP, _ ⟩ := hPQ assumption","breadcrumbs":"have: 補題を用意する » 論理積 ∧","id":"33","title":"論理積 ∧"},"34":{"body":"次のように,∃ x: X, P x という命題から,条件を満たす x を取り出すことができます.x: X と hx: P x がローカルコンテキストに追加されます. -- `x`が偶数のとき`3 * x`も偶数\nexample (x : ℕ) (hx : ∃ y, x = 2 * y) : ∃ z, 3 * x = 2 * z := by -- `hx` で存在が主張されている `y` と, -- `x = 2 * y` という命題を得る have ⟨y, hy⟩ := hx exists 3 * y rw [hy] ring","breadcrumbs":"have: 補題を用意する » 存在 ∃","id":"34","title":"存在 ∃"},"35":{"body":"induction は,帰納法のためのタクティクです. 自然数を例に説明します.Lean では自然数は次のように帰納的に定義されています. inductive Nat | zero : Nat | succ (n : Nat) : Nat succ は後者関数と呼ばれる関数で,n + 1 := succ n です. n : Nat についてゴール P n ⊢ Q n があったとします.このとき induction n を行うと,コンストラクタ zero と succ のそれぞれに対して,対応するゴールを生成します.つまり P 0 ⊢ Q 0 (P (succ a)) (P a → Q a) ⊢ Q (succ a) の2つのゴールです. -- 階乗関数\ndef fac : Nat → Nat | 0 => 1 | n + 1 => (n + 1) * fac n example (n : Nat) : 0 < fac n := by -- `n` についての帰納法で示す induction n with | zero => -- `fac` の定義から従う simp [fac] | succ n ih => -- `fac` の定義から従う simp [fac] positivity","breadcrumbs":"induction: 帰納法 » induction","id":"35","title":"induction"},"36":{"body":"Mathlib.Tactic.Cases 依存のタクティクですが,induction' というタクティクもあります.こちらは箇条書きによる,より簡潔な書き方が可能です. example (n : Nat) : 0 < fac n := by -- `ih` は帰納法の仮定 -- `k` は `ih` に登場する変数 induction' n with k ih · simp [fac] · simp [fac] positivity","breadcrumbs":"induction: 帰納法 » induction'","id":"36","title":"induction'"},"37":{"body":"intro はその名の通り導入(introduce)のタクティクです.数学で慣習的に行われる P → Q を示すときに最初に P を仮定する ∀ x ∈ A, P(x) を示すときに最初に x ∈ A が与えられたと仮定する といった導入を intro は実行します. 具体的には,intro は ゴールが ⊢ P → Q という形であるときに P をローカルコンテキストに追加して,ゴールを ⊢ Q に変える ゴールが ⊢ ∀ x, P x という形であるときに x をローカルコンテキストに追加してゴールを ⊢ P x に変える といった挙動をします. example (hPQ: P → Q) (hQR: Q → R) : P → R := by -- 示したいことが `P → R` なので,`P` だと仮定する intro hP -- 仮定 `hPQ : P → Q` と `hP : P` から `Q` が導かれる have hQ : Q := hPQ hP -- 仮定 `hQR : Q → R` と `hQ : Q` から `R` が導かれる exact hQR hQ もう一つ使用例を挙げておきます: example (P Q : Nat → Prop) (h : ∀ n, P n ↔ Q n) : ∀ y, P (y + 1) → Q (y + 1) := by -- 任意の `y` について示すので,`intro` で `y` を導入する -- そして `P (y + 1) → Q(y + 1)` を示したいので,`P (y + 1)` を仮定する intro y hyP -- 同値を使ってゴールを書き換える rw [← h] -- 仮定 `P (y + 1)` より従う assumption","breadcrumbs":"intro: 含意→や全称∀を示す » intro","id":"37","title":"intro"},"38":{"body":"Lean では否定 ¬ P は P → False として定義されているので,ゴールが ¬ P のときに intro すると P が仮定に追加されて,ゴールが False に変わります. False は矛盾を導けば証明できます. example (h: P → Q) : ¬Q → ¬P := by -- 示したいことが `¬Q → ¬P` なので,`¬Q` だと仮定する -- そうするとゴールが `¬P` になるので, -- さらに `intro` を行って仮定 `hP : P` を導入する intro hnQ hP -- `hP : P` と `h : P → Q` から `Q` が導かれる have hQ : Q := h hP -- `hQ : Q` と `hnQ : ¬Q` から矛盾が導かれる contradiction","breadcrumbs":"intro: 含意→や全称∀を示す » 否定 ¬ について","id":"38","title":"否定 ¬ について"},"39":{"body":"ゴールが ⊢ P ∨ Q であるとき,left はゴールを ⊢ P に,right はゴールを ⊢ Q に変えます.Mathlib.Tactic.LeftRight に依存しているタクティクです. example (hP: P) : P ∨ Q := by left assumption left, right を使わずに Mathlib4 なしで同じことをするには,Or.inl または Or.inr を使用します. example (hP: P) : P ∨ Q := by apply Or.inl assumption","breadcrumbs":"left, right: 論理和∨を示す » left, right","id":"39","title":"left, right"},"4":{"body":"apply は含意 → をゴールに適用するタクティクです. ゴールが ⊢ Q で,ローカルコンテキストに h: P → Q があるときに,apply h を実行するとゴールが ⊢ P に書き換わります. -- `P → Q` かつ `P` ならば `Q`\nexample (h: P → Q) (hP: P) : Q := by -- ゴールが `P` に変わる apply h exact hP 注意点として,h: P → Q は P の証明を受け取って Q の証明を返す関数でもあるので,上記の例は apply を使わずに exact h hP で閉じることもできます. -- `P → Q` かつ `P` ならば `Q`\nexample (h: P → Q) (hP: P) : Q := by exact h hP","breadcrumbs":"apply: 含意→を使う » apply","id":"4","title":"apply"},"40":{"body":"rfl は,定義から等しいものが等しいことを示すタクティクです. -- 自明に正しい等式\nexample : 1 + 1 = 2 := by rfl -- 変数を含む等式\nexample (x : Nat) : x = x := by rfl example (P : Prop) : P = P := by rfl","breadcrumbs":"rfl: 定義そのまま » rfl","id":"40","title":"rfl"},"41":{"body":"ring は,可換環の等式を示します.Mathlib.Tactic.Ring に依存しています. example : (x + y) ^ 2 = x ^ 2 + 2 * x * y + y ^ 2 := by ring simp 等と異なり,ring? タクティクは用意されていませんが,show_term で具体的にどんなルールが適用されたのかを知ることができます.ただし,その出力結果は非常に長く読みづらいものであることがしばしばです.例えば, example : (x + y) ^ 2 = x ^ 2 + 2 * x * y + y ^ 2 := by show_term ring の出力をここに掲載すると100行を超えてしまいます.","breadcrumbs":"ring: 環の等式を示す » ring","id":"41","title":"ring"},"42":{"body":"rw は rewrite(書き換え)を行うタクティクです.等式や同値をもとに書き換えを行います. hab: a = b や hPQ : P ↔ Q がローカルコンテキストにあるとき, rw [hab] はゴールの中の a をすべて b に置き換え, rw [hPQ] はゴールの中の P をすべて Q に置き換えます. 順番は重要で,b を a に置き換えたいときなどは rw [← hab] のように ← をつけます. h1, h2, ... について続けて置き換えを行いたいときは,rw [h1, h2, ...] のようにします. ゴールではなく,ローカルコンテキストにある h: P を書き換えたいときには at をつけて rw [hPQ] at h とします.すべての箇所で置き換えたいときは rw [hPQ] at * とします. example (a b c d e f : Nat) (h : a * b = c * d) (h' : e = f) : a * (b * e) = c * (d * f) := by rw [h'] -- 結合法則を使う rw [← Nat.mul_assoc] rw [h] -- 結合法則を使う rw [Nat.mul_assoc]","breadcrumbs":"rw: 同値変形 » rw","id":"42","title":"rw"},"43":{"body":"show P は, ゴールの中に ⊢ P があるときにそれをメインのゴールにします. たとえば,証明中にこれから示すべきことを明示し,コードを読みやすくする目的で使うことができます. example (hP: P) (hQ: Q) : P ∧ Q := by constructor · show P exact hP · show Q exact hQ","breadcrumbs":"show: 示すべきことを宣言 » show","id":"43","title":"show"},"44":{"body":"simp は,ターゲットを決められた規則に基づいて自動で簡約(simplify)するタクティクです.カスタマイズすることが可能で,簡約に使ってほしい命題を登録することができます. universe u v -- 圏の公理\nclass Category (C : Type u) where -- 射 Hom : C → C → Type v -- 射の合成 comp : ∀ {a b c : C}, Hom a b → Hom b c → Hom a c -- 恒等射. `id a` が `a` 上の恒等射を意味する id : ∀ (a : C), Hom a a -- 恒等射の性質 id_comp : ∀ {a b : C} (f : Hom a b), comp (id a) f = f comp_id : ∀ {a b : C} (f : Hom a b), comp f (id b) = f -- 射の結合律 assoc : ∀ {a b c d : C} (f : Hom a b) (g : Hom b c) (h : Hom c d), comp (comp f g) h = comp f (comp g h) -- `f : Hom a b`と`g : Hom b c`の合成を`f ≫ g`と書く\ninfixr:80 \" ≫ \" => Category.comp -- `Category.hoge` ではなく `hoge` で呼び出せるようにする\nopen Category -- 公理の等式が `simp` で使えるようにする\nattribute [simp] id_comp comp_id assoc -- 変数の定義\nvariable {C : Type u} [Category.{u, v} C] {a b c d e : C} example (f : Hom a b) (g : Hom b c) (h : Hom c d) (i : Hom d e) : (f ≫ (id b ≫ g)) ≫ (h ≫ i) = f ≫ (g ≫ ((id c ≫ h) ≫ i)) := by -- 上で `simp` で使えるようにした等式を使って自動で簡約する simp 既知の h: P という証明を使って簡約させたいときは,明示的に simp [h] と指定することで可能です. 何も指定しなければゴールを簡約しますが,ローカルコンテキストにある h: P を簡約させたければ simp at h と指定することで可能です.","breadcrumbs":"simp: 簡約 » simp","id":"44","title":"simp"},"45":{"body":"simp は自動的に証明を行ってくれますが,何が使われたのか知りたいときもあります.simp? は簡約に何が使われたのかを示してくれるので,rw などを用いて明示的に書き直すことができます.","breadcrumbs":"simp: 簡約 » simp?","id":"45","title":"simp?"},"46":{"body":"simp_all は simp [*] at * の強化版で,ローカルコンテキストとゴールをこれ以上簡約できなくなるまですべて簡約します.","breadcrumbs":"simp: 簡約 » simp_all","id":"46","title":"simp_all"},"47":{"body":"dsimp は,定義上(definitionally)等しいもの同士しか簡約しないという制約付きの simp です.","breadcrumbs":"simp: 簡約 » dsimp","id":"47","title":"dsimp"},"48":{"body":"証明の細部を埋める前にコンパイルが通るようにしたいとき,証明で埋めるべき箇所に sorry と書くとコンパイルが通るようになります.ただし,sorry を使用しているという旨の警告が出ます. -- Fermat の最終定理\ndef FermatLastTheorem := ∀ x y z n : Nat, n > 2 ∧ x * y * z ≠ 0 → x ^ n + y ^ n ≠ z ^ n theorem flt : FermatLastTheorem := sorry","breadcrumbs":"sorry: 証明したことにする » sorry","id":"48","title":"sorry"},"49":{"body":"suffices は,数学でよくある「~を示せば十分である」という推論を行うタクティクです. ゴールが ⊢ P であるときに suffices Q from を実行すると, suffices Q from のブロック内では,仮定に this: Q が追加され, suffices Q from 以降では,ゴールが ⊢ Q に書き換えられます. apply と似ていますが,apply と違って「十分条件になっていること」の証明が明らかでないときにも使うことができます. example (hPQ: P → Q) (hQR: Q → R) (hP: P) : R := by -- `Q` を示せば十分 suffices Q from hQR this exact hPQ hP suffices Q from ... という形式の場合は,証明を直接構成することが必要です.suffices Q from by ... とすると,タクティクによって証明を構成するモードになります.","breadcrumbs":"suffices: 十分条件に帰着 » suffices","id":"49","title":"suffices"},"5":{"body":"また,Lean では否定 ¬ P は P → False として実装されているため,ゴールが ⊢ False であるときに hn: ¬P に対して apply hn とするとゴールが ⊢ P に書き換わります. -- 矛盾\nexample (hn: ¬ P) (hP: P) : False := by -- ゴールが `P` に変わる apply hn exact hP","breadcrumbs":"apply: 含意→を使う » 否定 ¬ について","id":"5","title":"否定 ¬ について"},"50":{"body":"trivial は明らかなことを示します. trivial は,rfl や contradiction などのタクティクを実行して,現在のゴールを閉じようとします. -- 定義から明らかな等式\nexample : 1 + 1 = 2 := by trivial -- 矛盾があるので, どんな命題でも証明できる\nexample (h: False) : P := by trivial","breadcrumbs":"trivial: 自明 » trivial","id":"50","title":"trivial"},"6":{"body":"apply には引数が必須なのですが,省略しても近くにエラーが出ません.一般に,構文的に間違った証明を書いた場合には,エラーがわかりやすい場所に出てくれる保証はありません. example (h: P → Q) : ¬Q → ¬P := by -- 引数は必須なので間違っているが,エラーが近くに出ない apply -- ここにエラーが出る\nexample (hP: P) : P := by exact hP","breadcrumbs":"apply: 含意→を使う » よくあるエラー","id":"6","title":"よくあるエラー"},"7":{"body":"","breadcrumbs":"apply: 含意→を使う » 関連するタクティク","id":"7","title":"関連するタクティク"},"8":{"body":"exact の代わりに apply を使うことができます. -- `P → Q` かつ `P` ならば `Q`\nexample (h: P → Q) (hP: P) : Q := by apply h apply hP","breadcrumbs":"apply: 含意→を使う » exact","id":"8","title":"exact"},"9":{"body":"apply? は,ゴールを閉じるのに必要な命題をライブラリから検索してきて,提案してくれるタクティクです.Mathlib.Tactic.LibrarySearch に依存しています. -- 群順同型は積を保つ\nexample [Group G] [Group H] (f : G →* H) (a b : G) : f (a * b) = f a * f b := by -- `exact MonoidHom.map_mul f a b` を提案してくれる apply? 複数の候補が提案されたときは,どれを選ぶとゴールが何に変わるのか表示されるので,その中から好ましいものを選ぶと良いでしょう.","breadcrumbs":"apply?: ライブラリ検索 » apply?","id":"9","title":"apply?"}},"length":51,"save":true},"fields":["title","body","breadcrumbs"],"index":{"body":{"root":{"0":{"df":4,"docs":{"23":{"tf":1.7320508075688772},"35":{"tf":2.0},"36":{"tf":1.0},"48":{"tf":1.0}}},"1":{"0":{"0":{"df":1,"docs":{"41":{"tf":1.0}}},"df":0,"docs":{}},"df":6,"docs":{"23":{"tf":2.449489742783178},"28":{"tf":1.0},"35":{"tf":2.0},"37":{"tf":2.449489742783178},"40":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951}}},"2":{"df":8,"docs":{"24":{"tf":1.4142135623730951},"28":{"tf":1.0},"30":{"tf":1.4142135623730951},"34":{"tf":1.7320508075688772},"40":{"tf":1.0},"41":{"tf":2.8284271247461903},"48":{"tf":1.0},"50":{"tf":1.0}}},"3":{"df":3,"docs":{"24":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.4142135623730951}}},"7":{"df":1,"docs":{"28":{"tf":1.0}}},"_":{"df":2,"docs":{"10":{"tf":1.0},"33":{"tf":1.0}}},"a":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":3,"docs":{"2":{"tf":2.0},"29":{"tf":1.0},"3":{"tf":2.0}}}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":10,"docs":{"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"3":{"tf":1.0},"39":{"tf":1.0},"4":{"tf":2.23606797749979},"49":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":6,"docs":{"10":{"tf":1.7320508075688772},"12":{"tf":1.0},"13":{"tf":1.0},"33":{"tf":1.0},"37":{"tf":1.0},"39":{"tf":1.4142135623730951}}}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"b":{"`":{"df":0,"docs":{},"と":{"`":{"df":0,"docs":{},"g":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":0,"docs":{}}},"df":4,"docs":{"29":{"tf":2.23606797749979},"42":{"tf":2.449489742783178},"44":{"tf":4.0},"9":{"tf":2.0}},"y":{"_":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"13":{"tf":2.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"14":{"tf":2.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"c":{"`":{"df":0,"docs":{},"の":{"df":0,"docs":{},"合":{"df":0,"docs":{},"成":{"df":0,"docs":{},"を":{"`":{"df":0,"docs":{},"f":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"l":{"c":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":5,"docs":{"13":{"tf":1.4142135623730951},"18":{"tf":2.8284271247461903},"19":{"tf":2.449489742783178},"20":{"tf":1.7320508075688772},"21":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}},"y":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"44":{"tf":1.0}}}}},"{":{"df":0,"docs":{},"u":{"df":1,"docs":{"44":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"df":2,"docs":{"42":{"tf":1.7320508075688772},"44":{"tf":4.58257569495584}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"44":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":1,"docs":{"44":{"tf":2.6457513110645907}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"22":{"tf":1.7320508075688772},"23":{"tf":1.4142135623730951},"43":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"r":{"a":{"d":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"13":{"tf":1.0},"14":{"tf":1.0},"24":{"tf":2.449489742783178},"38":{"tf":1.0},"50":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"v":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}}},"d":{"df":2,"docs":{"42":{"tf":1.7320508075688772},"44":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"f":{"df":3,"docs":{"30":{"tf":1.4142135623730951},"35":{"tf":1.0},"48":{"tf":1.0}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"26":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":2,"docs":{"30":{"tf":1.0},"47":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"e":{"df":2,"docs":{"42":{"tf":1.7320508075688772},"44":{"tf":1.4142135623730951}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":17,"docs":{"12":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.7320508075688772},"27":{"tf":2.23606797749979},"31":{"tf":1.4142135623730951},"37":{"tf":1.0},"4":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"49":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":38,"docs":{"10":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":2.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.4142135623730951},"38":{"tf":1.0},"39":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"40":{"tf":1.7320508075688772},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":2.0},"34":{"tf":1.0}}}}},"t":{"df":1,"docs":{"29":{"tf":1.7320508075688772}}}}},"f":{"a":{"c":{"df":2,"docs":{"35":{"tf":2.6457513110645907},"36":{"tf":1.7320508075688772}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":5,"docs":{"14":{"tf":1.0},"24":{"tf":1.4142135623730951},"38":{"tf":1.7320508075688772},"5":{"tf":1.7320508075688772},"50":{"tf":1.0}}}}},"df":6,"docs":{"2":{"tf":2.23606797749979},"3":{"tf":1.7320508075688772},"30":{"tf":2.449489742783178},"42":{"tf":1.7320508075688772},"44":{"tf":3.605551275463989},"9":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"tf":1.0}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"48":{"tf":1.4142135623730951}}}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":3,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"30":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":1.7320508075688772}}}}}}}},"g":{"df":5,"docs":{"2":{"tf":1.7320508075688772},"3":{"tf":1.4142135623730951},"30":{"tf":2.449489742783178},"44":{"tf":2.6457513110645907},"9":{"tf":1.7320508075688772}},"o":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}}}}},"h":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}}}},"1":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}},"a":{"b":{"df":1,"docs":{"42":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":19,"docs":{"13":{"tf":1.0},"14":{"tf":2.0},"15":{"tf":1.4142135623730951},"18":{"tf":2.23606797749979},"19":{"tf":1.7320508075688772},"20":{"tf":1.4142135623730951},"21":{"tf":2.449489742783178},"22":{"tf":1.4142135623730951},"24":{"tf":1.7320508075688772},"31":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"38":{"tf":1.7320508075688772},"4":{"tf":2.8284271247461903},"42":{"tf":2.449489742783178},"44":{"tf":3.1622776601683795},"50":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"g":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"j":{"df":2,"docs":{"2":{"tf":1.0},"3":{"tf":1.4142135623730951}}}}}}},"n":{"df":1,"docs":{"5":{"tf":2.0}},"n":{"df":0,"docs":{},"p":{"df":1,"docs":{"13":{"tf":1.0}}}},"p":{"df":1,"docs":{"24":{"tf":1.0}}},"q":{"df":2,"docs":{"14":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":1,"docs":{"44":{"tf":1.0}}}},"m":{"df":1,"docs":{"44":{"tf":4.0}}}},"p":{"df":23,"docs":{"10":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":2.0},"16":{"tf":2.0},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":2.23606797749979},"22":{"tf":1.4142135623730951},"24":{"tf":1.0},"27":{"tf":2.8284271247461903},"31":{"tf":1.7320508075688772},"33":{"tf":1.0},"37":{"tf":1.7320508075688772},"38":{"tf":2.0},"39":{"tf":1.4142135623730951},"4":{"tf":2.23606797749979},"43":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}},"q":{"df":7,"docs":{"15":{"tf":2.0},"16":{"tf":1.7320508075688772},"31":{"tf":1.7320508075688772},"33":{"tf":1.4142135623730951},"37":{"tf":1.7320508075688772},"42":{"tf":2.0},"49":{"tf":1.4142135623730951}}},"r":{"df":4,"docs":{"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951}}}},"q":{"df":11,"docs":{"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":2.23606797749979},"22":{"tf":1.4142135623730951},"27":{"tf":1.7320508075688772},"31":{"tf":1.7320508075688772},"33":{"tf":1.0},"37":{"tf":1.7320508075688772},"38":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951}},"r":{"df":9,"docs":{"15":{"tf":2.0},"16":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"31":{"tf":1.7320508075688772},"37":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951}}}},"x":{"df":2,"docs":{"23":{"tf":1.4142135623730951},"34":{"tf":2.0}}},"y":{"df":1,"docs":{"34":{"tf":1.4142135623730951}},"p":{"df":1,"docs":{"37":{"tf":1.0}}}}},"i":{"d":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":1,"docs":{"44":{"tf":2.449489742783178}}},"df":0,"docs":{},"h":{"df":2,"docs":{"35":{"tf":1.0},"36":{"tf":1.7320508075688772}}},"n":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"35":{"tf":2.23606797749979},"36":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":0,"docs":{},"r":{":":{"8":{"0":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"2":{"tf":1.7320508075688772},"3":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"l":{"df":3,"docs":{"13":{"tf":1.0},"18":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951}}},"r":{"df":3,"docs":{"13":{"tf":1.0},"18":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":15,"docs":{"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.4142135623730951},"23":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":1.0},"31":{"tf":1.0},"37":{"tf":2.6457513110645907},"38":{"tf":1.7320508075688772}}}}}}},"k":{"df":1,"docs":{"36":{"tf":1.4142135623730951}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"4":{"df":3,"docs":{"0":{"tf":1.0},"17":{"tf":1.0},"25":{"tf":1.0}}},"df":5,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"35":{"tf":1.0},"38":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":3,"docs":{"18":{"tf":1.0},"22":{"tf":1.0},"39":{"tf":2.0}}}}}},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"d":{"a":{"df":0,"docs":{},"t":{"a":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{".":{"b":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{".":{"c":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"20":{"tf":1.0},"36":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}}}}}}}}},"r":{"df":1,"docs":{"41":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"4":{"df":2,"docs":{"0":{"tf":1.0},"39":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"n":{"a":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"_":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":10,"docs":{"23":{"tf":1.0},"24":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.4142135623730951},"35":{"tf":2.8284271247461903},"36":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0},"48":{"tf":1.0}}}},"df":4,"docs":{"35":{"tf":3.872983346207417},"36":{"tf":1.7320508075688772},"37":{"tf":1.7320508075688772},"48":{"tf":2.23606797749979}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}}}},"r":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"l":{"df":1,"docs":{"39":{"tf":1.4142135623730951}}},"r":{"df":1,"docs":{"39":{"tf":1.0}}}}}},"df":0,"docs":{}}},"p":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"37":{"tf":1.0}}}},"df":31,"docs":{"10":{"tf":1.7320508075688772},"13":{"tf":3.0},"14":{"tf":2.6457513110645907},"15":{"tf":2.8284271247461903},"16":{"tf":1.4142135623730951},"18":{"tf":2.449489742783178},"19":{"tf":1.7320508075688772},"20":{"tf":1.4142135623730951},"21":{"tf":3.0},"22":{"tf":3.0},"23":{"tf":1.0},"24":{"tf":2.6457513110645907},"27":{"tf":2.449489742783178},"28":{"tf":1.7320508075688772},"31":{"tf":3.0},"33":{"tf":2.23606797749979},"34":{"tf":1.4142135623730951},"35":{"tf":2.0},"37":{"tf":4.242640687119285},"38":{"tf":3.3166247903554},"39":{"tf":2.449489742783178},"4":{"tf":3.605551275463989},"40":{"tf":1.7320508075688772},"42":{"tf":1.7320508075688772},"43":{"tf":2.23606797749979},"44":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772},"5":{"tf":2.6457513110645907},"50":{"tf":1.0},"6":{"tf":2.0},"8":{"tf":2.0}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"35":{"tf":1.0},"36":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":4,"docs":{"13":{"tf":1.0},"21":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"17":{"tf":1.0},"25":{"tf":1.0}}}}}}},"q":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"37":{"tf":1.0}}}},"df":24,"docs":{"10":{"tf":1.0},"14":{"tf":2.23606797749979},"15":{"tf":2.0},"16":{"tf":1.4142135623730951},"18":{"tf":2.449489742783178},"19":{"tf":1.7320508075688772},"20":{"tf":1.4142135623730951},"21":{"tf":3.0},"22":{"tf":2.8284271247461903},"23":{"tf":1.0},"24":{"tf":1.0},"27":{"tf":1.4142135623730951},"31":{"tf":2.6457513110645907},"33":{"tf":2.23606797749979},"35":{"tf":2.0},"37":{"tf":3.605551275463989},"38":{"tf":3.0},"39":{"tf":2.0},"4":{"tf":3.4641016151377544},"42":{"tf":1.4142135623730951},"43":{"tf":1.7320508075688772},"49":{"tf":3.3166247903554},"6":{"tf":1.4142135623730951},"8":{"tf":2.0}}},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"21":{"tf":2.0}}}}},"df":0,"docs":{}},"df":9,"docs":{"15":{"tf":2.449489742783178},"16":{"tf":1.4142135623730951},"18":{"tf":1.7320508075688772},"19":{"tf":1.7320508075688772},"20":{"tf":1.7320508075688772},"21":{"tf":2.0},"31":{"tf":2.23606797749979},"37":{"tf":2.23606797749979},"49":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"l":{"df":2,"docs":{"40":{"tf":2.23606797749979},"50":{"tf":1.0}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":3,"docs":{"18":{"tf":1.0},"22":{"tf":1.0},"39":{"tf":1.7320508075688772}}}}},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"30":{"tf":1.0},"34":{"tf":1.0},"41":{"tf":2.23606797749979}}}}},"w":{"df":7,"docs":{"2":{"tf":1.0},"23":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.0},"37":{"tf":1.0},"42":{"tf":3.4641016151377544},"45":{"tf":1.0}}}},"s":{"df":1,"docs":{"29":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"41":{"tf":1.4142135623730951}}}}}}},"df":1,"docs":{"43":{"tf":2.0}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"_":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"23":{"tf":1.0},"3":{"tf":1.0},"46":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":8,"docs":{"2":{"tf":1.0},"35":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"41":{"tf":1.0},"44":{"tf":2.8284271247461903},"45":{"tf":1.4142135623730951},"46":{"tf":1.0},"47":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":2.0}}}}}},"t":{"d":{".":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}}},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"c":{"c":{"df":1,"docs":{"35":{"tf":2.6457513110645907}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"49":{"tf":2.6457513110645907}}},"df":0,"docs":{}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"29":{"tf":2.449489742783178}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":3,"docs":{"17":{"tf":1.0},"25":{"tf":1.0},"48":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}},"v":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":2.23606797749979}}}},"df":0,"docs":{}}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":2,"docs":{"29":{"tf":1.0},"44":{"tf":1.7320508075688772}}}}}},"u":{"df":1,"docs":{"44":{"tf":1.7320508075688772}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"44":{"tf":1.0}}}}}}}}},"v":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"21":{"tf":1.0},"29":{"tf":1.4142135623730951},"44":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"44":{"tf":1.7320508075688772}}},"x":{"`":{"df":0,"docs":{},"が":{"df":0,"docs":{},"偶":{"df":0,"docs":{},"数":{"df":0,"docs":{},"の":{"df":0,"docs":{},"と":{"df":0,"docs":{},"き":{"`":{"3":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":12,"docs":{"2":{"tf":1.0},"23":{"tf":2.6457513110645907},"24":{"tf":1.7320508075688772},"28":{"tf":3.3166247903554},"29":{"tf":2.6457513110645907},"3":{"tf":1.0},"30":{"tf":3.872983346207417},"34":{"tf":3.4641016151377544},"37":{"tf":2.449489742783178},"40":{"tf":1.7320508075688772},"41":{"tf":2.449489742783178},"48":{"tf":1.7320508075688772}}},"y":{"df":6,"docs":{"2":{"tf":1.4142135623730951},"3":{"tf":1.4142135623730951},"34":{"tf":2.449489742783178},"37":{"tf":3.0},"41":{"tf":2.449489742783178},"48":{"tf":1.7320508075688772}}},"z":{"df":4,"docs":{"2":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.4142135623730951},"48":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"35":{"tf":1.7320508075688772}}}}}}}},"breadcrumbs":{"root":{"0":{"df":4,"docs":{"23":{"tf":1.7320508075688772},"35":{"tf":2.0},"36":{"tf":1.0},"48":{"tf":1.0}}},"1":{"0":{"0":{"df":1,"docs":{"41":{"tf":1.0}}},"df":0,"docs":{}},"df":6,"docs":{"23":{"tf":2.449489742783178},"28":{"tf":1.0},"35":{"tf":2.0},"37":{"tf":2.449489742783178},"40":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951}}},"2":{"df":8,"docs":{"24":{"tf":1.4142135623730951},"28":{"tf":1.0},"30":{"tf":1.4142135623730951},"34":{"tf":1.7320508075688772},"40":{"tf":1.0},"41":{"tf":2.8284271247461903},"48":{"tf":1.0},"50":{"tf":1.0}}},"3":{"df":3,"docs":{"24":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.4142135623730951}}},"7":{"df":1,"docs":{"28":{"tf":1.0}}},"_":{"df":2,"docs":{"10":{"tf":1.0},"33":{"tf":1.0}}},"a":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":3,"docs":{"2":{"tf":2.449489742783178},"29":{"tf":1.0},"3":{"tf":2.449489742783178}}}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":11,"docs":{"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"3":{"tf":1.0},"39":{"tf":1.0},"4":{"tf":2.6457513110645907},"49":{"tf":1.4142135623730951},"5":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"7":{"tf":1.0},"8":{"tf":2.0},"9":{"tf":2.23606797749979}}}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":7,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"13":{"tf":1.0},"33":{"tf":1.0},"37":{"tf":1.0},"39":{"tf":1.4142135623730951}}}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"b":{"`":{"df":0,"docs":{},"と":{"`":{"df":0,"docs":{},"g":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":0,"docs":{}}},"df":4,"docs":{"29":{"tf":2.23606797749979},"42":{"tf":2.449489742783178},"44":{"tf":4.0},"9":{"tf":2.0}},"y":{"_":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"13":{"tf":2.449489742783178}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"14":{"tf":2.449489742783178}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"c":{"`":{"df":0,"docs":{},"の":{"df":0,"docs":{},"合":{"df":0,"docs":{},"成":{"df":0,"docs":{},"を":{"`":{"df":0,"docs":{},"f":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"l":{"c":{"df":1,"docs":{"17":{"tf":2.0}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":5,"docs":{"13":{"tf":1.4142135623730951},"18":{"tf":3.1622776601683795},"19":{"tf":2.8284271247461903},"20":{"tf":2.23606797749979},"21":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}},"y":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"44":{"tf":1.0}}}}},"{":{"df":0,"docs":{},"u":{"df":1,"docs":{"44":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"df":2,"docs":{"42":{"tf":1.7320508075688772},"44":{"tf":4.58257569495584}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"44":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":1,"docs":{"44":{"tf":2.6457513110645907}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"22":{"tf":2.23606797749979},"23":{"tf":1.7320508075688772},"43":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"r":{"a":{"d":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"13":{"tf":1.0},"14":{"tf":1.0},"24":{"tf":2.8284271247461903},"38":{"tf":1.0},"50":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"v":{"df":1,"docs":{"25":{"tf":2.0}}}}}},"d":{"df":2,"docs":{"42":{"tf":1.7320508075688772},"44":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"f":{"df":3,"docs":{"30":{"tf":1.4142135623730951},"35":{"tf":1.0},"48":{"tf":1.0}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"26":{"tf":2.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":2,"docs":{"30":{"tf":1.0},"47":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{},"e":{"df":2,"docs":{"42":{"tf":1.7320508075688772},"44":{"tf":1.4142135623730951}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":17,"docs":{"12":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.7320508075688772},"27":{"tf":2.6457513110645907},"31":{"tf":1.4142135623730951},"37":{"tf":1.0},"4":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"49":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":38,"docs":{"10":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":2.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.4142135623730951},"38":{"tf":1.0},"39":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"40":{"tf":1.7320508075688772},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":2.449489742783178},"34":{"tf":1.0}}}}},"t":{"df":1,"docs":{"29":{"tf":2.23606797749979}}}}},"f":{"a":{"c":{"df":2,"docs":{"35":{"tf":2.6457513110645907},"36":{"tf":1.7320508075688772}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":5,"docs":{"14":{"tf":1.0},"24":{"tf":1.4142135623730951},"38":{"tf":1.7320508075688772},"5":{"tf":1.7320508075688772},"50":{"tf":1.0}}}}},"df":6,"docs":{"2":{"tf":2.23606797749979},"3":{"tf":1.7320508075688772},"30":{"tf":2.449489742783178},"42":{"tf":1.7320508075688772},"44":{"tf":3.605551275463989},"9":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"tf":1.0}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"48":{"tf":1.4142135623730951}}}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":3,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"30":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":2.23606797749979}}}}}}}},"g":{"df":5,"docs":{"2":{"tf":1.7320508075688772},"3":{"tf":1.4142135623730951},"30":{"tf":2.449489742783178},"44":{"tf":2.6457513110645907},"9":{"tf":1.7320508075688772}},"o":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}}}}},"h":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}}}},"1":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}},"a":{"b":{"df":1,"docs":{"42":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":19,"docs":{"13":{"tf":1.0},"14":{"tf":2.0},"15":{"tf":1.4142135623730951},"18":{"tf":2.23606797749979},"19":{"tf":1.7320508075688772},"20":{"tf":1.4142135623730951},"21":{"tf":2.449489742783178},"22":{"tf":1.4142135623730951},"24":{"tf":1.7320508075688772},"31":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"38":{"tf":1.7320508075688772},"4":{"tf":2.8284271247461903},"42":{"tf":2.449489742783178},"44":{"tf":3.1622776601683795},"50":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"g":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"j":{"df":2,"docs":{"2":{"tf":1.0},"3":{"tf":1.4142135623730951}}}}}}},"n":{"df":1,"docs":{"5":{"tf":2.0}},"n":{"df":0,"docs":{},"p":{"df":1,"docs":{"13":{"tf":1.0}}}},"p":{"df":1,"docs":{"24":{"tf":1.0}}},"q":{"df":2,"docs":{"14":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":1,"docs":{"44":{"tf":1.0}}}},"m":{"df":1,"docs":{"44":{"tf":4.0}}}},"p":{"df":23,"docs":{"10":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":2.0},"16":{"tf":2.0},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":2.23606797749979},"22":{"tf":1.4142135623730951},"24":{"tf":1.0},"27":{"tf":2.8284271247461903},"31":{"tf":1.7320508075688772},"33":{"tf":1.0},"37":{"tf":1.7320508075688772},"38":{"tf":2.0},"39":{"tf":1.4142135623730951},"4":{"tf":2.23606797749979},"43":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}},"q":{"df":7,"docs":{"15":{"tf":2.0},"16":{"tf":1.7320508075688772},"31":{"tf":1.7320508075688772},"33":{"tf":1.4142135623730951},"37":{"tf":1.7320508075688772},"42":{"tf":2.0},"49":{"tf":1.4142135623730951}}},"r":{"df":4,"docs":{"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951}}}},"q":{"df":11,"docs":{"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":2.23606797749979},"22":{"tf":1.4142135623730951},"27":{"tf":1.7320508075688772},"31":{"tf":1.7320508075688772},"33":{"tf":1.0},"37":{"tf":1.7320508075688772},"38":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951}},"r":{"df":9,"docs":{"15":{"tf":2.0},"16":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"31":{"tf":1.7320508075688772},"37":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951}}}},"x":{"df":2,"docs":{"23":{"tf":1.4142135623730951},"34":{"tf":2.0}}},"y":{"df":1,"docs":{"34":{"tf":1.4142135623730951}},"p":{"df":1,"docs":{"37":{"tf":1.0}}}}},"i":{"d":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":1,"docs":{"44":{"tf":2.449489742783178}}},"df":0,"docs":{},"h":{"df":2,"docs":{"35":{"tf":1.0},"36":{"tf":1.7320508075688772}}},"n":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"35":{"tf":2.6457513110645907},"36":{"tf":2.23606797749979}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":0,"docs":{},"r":{":":{"8":{"0":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"2":{"tf":1.7320508075688772},"3":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"l":{"df":3,"docs":{"13":{"tf":1.0},"18":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951}}},"r":{"df":3,"docs":{"13":{"tf":1.0},"18":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":15,"docs":{"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.4142135623730951},"23":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":1.0},"31":{"tf":1.0},"37":{"tf":3.0},"38":{"tf":2.0}}}}}}},"k":{"df":1,"docs":{"36":{"tf":1.4142135623730951}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"4":{"df":4,"docs":{"0":{"tf":1.7320508075688772},"1":{"tf":1.0},"17":{"tf":1.0},"25":{"tf":1.0}}},"df":5,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"35":{"tf":1.0},"38":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":3,"docs":{"18":{"tf":1.0},"22":{"tf":1.0},"39":{"tf":2.449489742783178}}}}}},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"d":{"a":{"df":0,"docs":{},"t":{"a":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{".":{"b":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{".":{"c":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"20":{"tf":1.0},"36":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}}}}}}}}},"r":{"df":1,"docs":{"41":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"4":{"df":2,"docs":{"0":{"tf":1.0},"39":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"n":{"a":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"_":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":10,"docs":{"23":{"tf":1.0},"24":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.4142135623730951},"35":{"tf":2.8284271247461903},"36":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0},"48":{"tf":1.0}}}},"df":4,"docs":{"35":{"tf":3.872983346207417},"36":{"tf":1.7320508075688772},"37":{"tf":1.7320508075688772},"48":{"tf":2.23606797749979}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}}}},"r":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"l":{"df":1,"docs":{"39":{"tf":1.4142135623730951}}},"r":{"df":1,"docs":{"39":{"tf":1.0}}}}}},"df":0,"docs":{}}},"p":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"37":{"tf":1.0}}}},"df":31,"docs":{"10":{"tf":1.7320508075688772},"13":{"tf":3.0},"14":{"tf":2.6457513110645907},"15":{"tf":2.8284271247461903},"16":{"tf":1.4142135623730951},"18":{"tf":2.449489742783178},"19":{"tf":1.7320508075688772},"20":{"tf":1.4142135623730951},"21":{"tf":3.0},"22":{"tf":3.0},"23":{"tf":1.0},"24":{"tf":2.6457513110645907},"27":{"tf":2.449489742783178},"28":{"tf":1.7320508075688772},"31":{"tf":3.0},"33":{"tf":2.23606797749979},"34":{"tf":1.4142135623730951},"35":{"tf":2.0},"37":{"tf":4.242640687119285},"38":{"tf":3.3166247903554},"39":{"tf":2.449489742783178},"4":{"tf":3.605551275463989},"40":{"tf":1.7320508075688772},"42":{"tf":1.7320508075688772},"43":{"tf":2.23606797749979},"44":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772},"5":{"tf":2.6457513110645907},"50":{"tf":1.0},"6":{"tf":2.0},"8":{"tf":2.0}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"35":{"tf":1.0},"36":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":4,"docs":{"13":{"tf":1.0},"21":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"17":{"tf":1.0},"25":{"tf":1.0}}}}}}},"q":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"37":{"tf":1.0}}}},"df":24,"docs":{"10":{"tf":1.0},"14":{"tf":2.23606797749979},"15":{"tf":2.0},"16":{"tf":1.4142135623730951},"18":{"tf":2.449489742783178},"19":{"tf":1.7320508075688772},"20":{"tf":1.4142135623730951},"21":{"tf":3.0},"22":{"tf":2.8284271247461903},"23":{"tf":1.0},"24":{"tf":1.0},"27":{"tf":1.4142135623730951},"31":{"tf":2.6457513110645907},"33":{"tf":2.23606797749979},"35":{"tf":2.0},"37":{"tf":3.605551275463989},"38":{"tf":3.0},"39":{"tf":2.0},"4":{"tf":3.4641016151377544},"42":{"tf":1.4142135623730951},"43":{"tf":1.7320508075688772},"49":{"tf":3.3166247903554},"6":{"tf":1.4142135623730951},"8":{"tf":2.0}}},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"21":{"tf":2.23606797749979}}}}},"df":0,"docs":{}},"df":9,"docs":{"15":{"tf":2.449489742783178},"16":{"tf":1.4142135623730951},"18":{"tf":1.7320508075688772},"19":{"tf":1.7320508075688772},"20":{"tf":1.7320508075688772},"21":{"tf":2.0},"31":{"tf":2.23606797749979},"37":{"tf":2.23606797749979},"49":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"l":{"df":2,"docs":{"40":{"tf":2.6457513110645907},"50":{"tf":1.0}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":3,"docs":{"18":{"tf":1.0},"22":{"tf":1.0},"39":{"tf":2.23606797749979}}}}},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"30":{"tf":1.0},"34":{"tf":1.0},"41":{"tf":2.6457513110645907}}}}},"w":{"df":7,"docs":{"2":{"tf":1.0},"23":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.0},"37":{"tf":1.0},"42":{"tf":3.7416573867739413},"45":{"tf":1.0}}}},"s":{"df":1,"docs":{"29":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"41":{"tf":1.4142135623730951}}}}}}},"df":1,"docs":{"43":{"tf":2.449489742783178}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"_":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"23":{"tf":1.0},"3":{"tf":1.0},"46":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":8,"docs":{"2":{"tf":1.0},"35":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"41":{"tf":1.0},"44":{"tf":3.1622776601683795},"45":{"tf":2.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":2.449489742783178}}}}}},"t":{"d":{".":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}}},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"c":{"c":{"df":1,"docs":{"35":{"tf":2.6457513110645907}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"49":{"tf":3.0}}},"df":0,"docs":{}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"29":{"tf":2.449489742783178}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":3,"docs":{"17":{"tf":1.0},"25":{"tf":1.0},"48":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}},"v":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":2.6457513110645907}}}},"df":0,"docs":{}}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":2,"docs":{"29":{"tf":1.0},"44":{"tf":1.7320508075688772}}}}}},"u":{"df":1,"docs":{"44":{"tf":1.7320508075688772}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"44":{"tf":1.0}}}}}}}}},"v":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"21":{"tf":1.0},"29":{"tf":1.4142135623730951},"44":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"44":{"tf":1.7320508075688772}}},"x":{"`":{"df":0,"docs":{},"が":{"df":0,"docs":{},"偶":{"df":0,"docs":{},"数":{"df":0,"docs":{},"の":{"df":0,"docs":{},"と":{"df":0,"docs":{},"き":{"`":{"3":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":12,"docs":{"2":{"tf":1.0},"23":{"tf":2.6457513110645907},"24":{"tf":1.7320508075688772},"28":{"tf":3.3166247903554},"29":{"tf":2.6457513110645907},"3":{"tf":1.0},"30":{"tf":3.872983346207417},"34":{"tf":3.4641016151377544},"37":{"tf":2.449489742783178},"40":{"tf":1.7320508075688772},"41":{"tf":2.449489742783178},"48":{"tf":1.7320508075688772}}},"y":{"df":6,"docs":{"2":{"tf":1.4142135623730951},"3":{"tf":1.4142135623730951},"34":{"tf":2.449489742783178},"37":{"tf":3.0},"41":{"tf":2.449489742783178},"48":{"tf":1.7320508075688772}}},"z":{"df":4,"docs":{"2":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.4142135623730951},"48":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"35":{"tf":1.7320508075688772}}}}}}}},"title":{"root":{"a":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":2,"docs":{"2":{"tf":1.0},"3":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"4":{"tf":1.0},"9":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}}}}}}},"b":{"df":0,"docs":{},"y":{"_":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"l":{"c":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":3,"docs":{"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"r":{"a":{"d":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"24":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"v":{"df":1,"docs":{"25":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"26":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"47":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"12":{"tf":1.0},"27":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":1.0}}}}},"t":{"df":1,"docs":{"29":{"tf":1.0}}}}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"35":{"tf":1.0},"36":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"37":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"4":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}}}},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"21":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":1,"docs":{"40":{"tf":1.0}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"41":{"tf":1.0}}}}},"w":{"df":1,"docs":{"42":{"tf":1.0}}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"43":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"_":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"44":{"tf":1.0},"45":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}},"lang":"English","pipeline":["trimmer","stopWordFilter","stemmer"],"ref":"id","version":"0.9.5"},"results_options":{"limit_results":30,"teaser_word_count":30},"search_options":{"bool":"OR","expand":true,"fields":{"body":{"boost":1},"breadcrumbs":{"boost":1},"title":{"boost":2}}}}); \ No newline at end of file +Object.assign(window.search, {"doc_urls":["index.html#lean4-タクティク逆引きリスト","index.html#謝辞","aesop.html#aesop","aesop.html#aesop-1","apply.html#apply","apply.html#否定--について","apply.html#よくあるエラー","apply.html#関連するタクティク","apply.html#exact","apply_question.html#apply","assumption.html#assumption","assumption.html#関連するタクティク","assumption.html#exact","by_cases.html#by_cases","by_contra.html#by_contra","by.html#by","by.html#by-1","calc.html#calc","cases.html#cases","cases.html#case-を書かない","cases.html#cases-1","cases.html#rcases","constructor.html#constructor","constructor.html#同値を示す","contradiction.html#contradiction","conv.html#conv","done.html#done","exact.html#exact","exists.html#exists","ext.html#ext","funext.html#funext","have.html#have","have.html#パターンマッチ","have.html#論理積-","have.html#存在-","induction.html#induction","induction.html#induction-1","intro.html#intro","intro.html#否定--について","left_right.html#left-right","rfl.html#rfl","ring.html#ring","rw.html#rw","show.html#show","simp.html#simp","simp.html#simp-1","simp.html#simp_all","simp.html#dsimp","sorry.html#sorry","suffices.html#suffices","trivial.html#trivial"],"index":{"documentStore":{"docInfo":{"0":{"body":3,"breadcrumbs":2,"title":1},"1":{"body":1,"breadcrumbs":1,"title":0},"10":{"body":9,"breadcrumbs":2,"title":1},"11":{"body":0,"breadcrumbs":1,"title":0},"12":{"body":2,"breadcrumbs":2,"title":1},"13":{"body":24,"breadcrumbs":2,"title":1},"14":{"body":29,"breadcrumbs":2,"title":1},"15":{"body":37,"breadcrumbs":0,"title":0},"16":{"body":24,"breadcrumbs":0,"title":0},"17":{"body":4,"breadcrumbs":2,"title":1},"18":{"body":49,"breadcrumbs":2,"title":1},"19":{"body":33,"breadcrumbs":2,"title":1},"2":{"body":25,"breadcrumbs":2,"title":1},"20":{"body":26,"breadcrumbs":2,"title":1},"21":{"body":58,"breadcrumbs":2,"title":1},"22":{"body":36,"breadcrumbs":2,"title":1},"23":{"body":27,"breadcrumbs":1,"title":0},"24":{"body":31,"breadcrumbs":2,"title":1},"25":{"body":4,"breadcrumbs":2,"title":1},"26":{"body":1,"breadcrumbs":2,"title":1},"27":{"body":25,"breadcrumbs":2,"title":1},"28":{"body":23,"breadcrumbs":2,"title":1},"29":{"body":37,"breadcrumbs":2,"title":1},"3":{"body":23,"breadcrumbs":2,"title":1},"30":{"body":40,"breadcrumbs":2,"title":1},"31":{"body":39,"breadcrumbs":0,"title":0},"32":{"body":0,"breadcrumbs":0,"title":0},"33":{"body":17,"breadcrumbs":0,"title":0},"34":{"body":38,"breadcrumbs":0,"title":0},"35":{"body":67,"breadcrumbs":2,"title":1},"36":{"body":22,"breadcrumbs":2,"title":1},"37":{"body":90,"breadcrumbs":2,"title":1},"38":{"body":40,"breadcrumbs":1,"title":0},"39":{"body":29,"breadcrumbs":4,"title":2},"4":{"body":47,"breadcrumbs":2,"title":1},"40":{"body":18,"breadcrumbs":2,"title":1},"41":{"body":33,"breadcrumbs":2,"title":1},"42":{"body":55,"breadcrumbs":2,"title":1},"43":{"body":19,"breadcrumbs":2,"title":1},"44":{"body":142,"breadcrumbs":2,"title":1},"45":{"body":2,"breadcrumbs":2,"title":1},"46":{"body":2,"breadcrumbs":2,"title":1},"47":{"body":2,"breadcrumbs":2,"title":1},"48":{"body":26,"breadcrumbs":2,"title":1},"49":{"body":32,"breadcrumbs":2,"title":1},"5":{"body":21,"breadcrumbs":1,"title":0},"50":{"body":14,"breadcrumbs":2,"title":1},"6":{"body":14,"breadcrumbs":1,"title":0},"7":{"body":0,"breadcrumbs":1,"title":0},"8":{"body":17,"breadcrumbs":2,"title":1},"9":{"body":24,"breadcrumbs":2,"title":1}},"docs":{"0":{"body":"「普段の数学を Lean でどうやって実現するんだろう」という疑問に答えるために,よく使うタクティクをユースケースから逆引きできるようにまとめたリストです. 全タクティクのリストが必要な場合は, mathlib4-all-tactics をご参照ください.","breadcrumbs":"Lean4 タクティク逆引きリスト » Lean4 タクティク逆引きリスト","id":"0","title":"Lean4 タクティク逆引きリスト"},"1":{"body":"数学系のためのLean勉強会 からいくつかコード例を拝借させていただきました.ありがとうございます.","breadcrumbs":"Lean4 タクティク逆引きリスト » 謝辞","id":"1","title":"謝辞"},"10":{"body":"assumption は,現在のゴール ⊢ P がローカルコンテキストにあるとき,ゴールを閉じます. example (hP: P) (_: Q) : P := by assumption","breadcrumbs":"assumption: 仮定をそのまま使う » assumption","id":"10","title":"assumption"},"11":{"body":"","breadcrumbs":"assumption: 仮定をそのまま使う » 関連するタクティク","id":"11","title":"関連するタクティク"},"12":{"body":"assumption による証明は,どの仮定を使うか明示すれば exact で書き直すことができます.","breadcrumbs":"assumption: 仮定をそのまま使う » exact","id":"12","title":"exact"},"13":{"body":"by_cases は排中律を使って場合分けをするタクティクです. by_cases h: P とすると,P が成り立つときと成り立たないときのゴールがそれぞれ生成されます. example (P: Prop) : ¬¬P → P := by intro hnnP -- `P` が成り立つかどうかで場合分けする by_cases hP: P case inl => -- `P` が成り立つとき assumption case inr => -- `P` が成り立たないとき contradiction","breadcrumbs":"by_cases: 排中律 » by_cases","id":"13","title":"by_cases"},"14":{"body":"needs: import Mathlib.Tactic.ByContra by_contra は,背理法を使いたいときに役立つタクティクです. ゴールが ⊢ P であるときに by_contra h を実行すると,h : ¬ P がローカルコンテキストに追加されて,同時にゴールが ⊢ False になります. example (h: ¬Q → ¬P) : P → Q := by -- `P` であると仮定する intro hP -- `¬Q` であると仮定する by_contra hnQ -- `¬ Q → ¬ P` と `¬Q` から `¬P` が導かれる have := h hnQ -- これは仮定に矛盾 contradiction","breadcrumbs":"by_contra: 背理法 » by_contra","id":"14","title":"by_contra"},"15":{"body":"型理論においては,命題 P は型で,証明 h : P はその項です.証明を構成するとは項 h を構成するということです.by は,証明の構成をタクティクで行いたいときに使います. -- `P → R` というのは `P` の証明を与えられたときに `R` の証明を返す関数の型\n-- したがって,その証明は関数となる\nexample (hPQ : P → Q) (hQR : Q → R) : P → R := fun hP ↦ hQR (hPQ hP) -- 同じ命題をタクティクで示した例\nexample (hPQ : P → Q) (hQR : Q → R) : P → R := by intro hP exact hQR (hPQ hP)","breadcrumbs":"by: タクティクモードに入る » by","id":"15","title":"by"},"16":{"body":"needs: import Std.Tactic.ShowTerm by? を使うとタクティクモードで構成した証明を直接構成した証明に変換してくれます. example (hPQ : P → Q) (hQR : Q → R) : P → R := by? -- `Try this: fun hP => hQR (hPQ hP)` と提案してくれる intro hP exact hQR (hPQ hP)","breadcrumbs":"by: タクティクモードに入る » by?","id":"16","title":"by?"},"17":{"body":"calc は計算モードに入るためのタクティクです.詳細については Theorem Proving in Lean4 をご参照ください.","breadcrumbs":"calc: 計算モードに入る » calc","id":"17","title":"calc"},"18":{"body":"cases は場合分けを行います.ローカルコンテキストに h: P ∨ Q があるときに cases h とすると,仮定に P を付け加えたゴール inl と,仮定に Q を付け加えたゴール inr を生成します.それぞれ,insert left と insert right の略ではないかと思います. example : P ∨ Q → (P → R) → (Q → R) → R := by -- `h: P ∨ Q` intro h hPR hQR -- `case inl` と `case inr` の2つのゴールを生成する cases h -- `P` が成り立つ場合 case inl hP => exact hPR hP -- `Q` が成り立つ場合 case inr hQ => exact hQR hQ","breadcrumbs":"cases: 論理和∨を使う » cases","id":"18","title":"cases"},"19":{"body":"上記の例では case を場合分けの枝ごとに書いていますが,下の例のように case を書かずに済ませることもできます. example : P ∨ Q → (P → R) → (Q → R) → R := by -- `h: P ∨ Q` intro h hPR hQR -- `case inl` と `case inr` の2つのゴールを生成する cases h with | inl hP => exact hPR hP | inr hQ => exact hQR hQ","breadcrumbs":"cases: 論理和∨を使う » case を書かない","id":"19","title":"case を書かない"},"2":{"body":"needs: import Aesop aesop は,intro や simp を使用してルーチンな証明を自動で行おうとします. -- 合成 `g ∘ f` が単射なら,`f` も単射\nexample {f : X → Y} {g : Y → Z} (hgfinj : Injective (g ∘ f)) : Injective f := by rw [Injective] aesop","breadcrumbs":"aesop: ルーチン自動化 » aesop","id":"2","title":"aesop"},"20":{"body":"needs: import Mathlib.Tactic.Cases cases' を使用すると分解した仮定に簡潔に名前をつけることができます. example : P ∨ Q → (P → R) → (Q → R) → R := by intro h hPR hQR -- 場合分けをする cases' h with hP hQ · apply hPR hP · apply hQR hQ","breadcrumbs":"cases: 論理和∨を使う » cases'","id":"20","title":"cases'"},"21":{"body":"needs: import Std.Tactic.RCases rcases は cases をパターンに従って再帰的(recursive)に適用します.論理和∨以外にも使うことができます. variable (P Q R : Prop) example : P ∨ Q → (P → R) → (Q → R) → R := by intro h hPR hQR -- 場合分けをする rcases h with hP | hQ · apply hPR hP · apply hQR hQ example : P ∧ Q → Q ∧ P := by -- `h: P ∧ Q` と仮定する intro h -- `h: P ∧ Q` を `hP: P` と `hQ: Q` に分解する rcases h with ⟨hP, hQ⟩ -- `Q ∧ P` を証明する exact ⟨hQ, hP⟩","breadcrumbs":"cases: 論理和∨を使う » rcases","id":"21","title":"rcases"},"22":{"body":"ゴールが ⊢ P ∧ Q であるとき,constructor を実行すると,ゴールが2つのゴール ⊢ P と ⊢ Q に分割されます. example (hP: P) (hQ: Q) : P ∧ Q := by -- goal が `left` と `right` に分割される constructor · -- `P` を示す exact hP · -- `Q` を示す exact hQ なお h: P ∧ Q から P や Q の証明を得るのは,それぞれ h.left と h.right で可能です. example (h: P ∧ Q) : P := by exact h.left","breadcrumbs":"constructor: 論理積∧を示す » constructor","id":"22","title":"constructor"},"23":{"body":"constructor はゴールが ⊢ P ↔ Q であるときにも使用できます. example (x : Nat) : x = 0 ↔ x + 1 = 1 := by constructor · -- `x = 0 → x + 1 = 1` を示す intro hx rw [hx] · -- `x + 1 = 1 → x = 0` を示す simp_all","breadcrumbs":"constructor: 論理積∧を示す » 同値を示す","id":"23","title":"同値を示す"},"24":{"body":"contradiction は,矛盾によりゴールを閉じるタクティクです.矛盾から任意の命題を証明することができます. ローカルコンテキストに P と ¬ P が同時にあるなど,矛盾した状況にあるときにゴールを閉じます. -- `False`\nexample (h : False) : P := by contradiction -- 明らかに偽な等式\nexample (h : 2 + 2 = 3) : P := by contradiction -- 明らかに偽な等式\nexample (x : Nat) (h : x ≠ x) : P := by contradiction -- 矛盾する仮定\nexample (hP : P) (hnP : ¬ P) : Q := by contradiction","breadcrumbs":"contradiction: 矛盾 » contradiction","id":"24","title":"contradiction"},"25":{"body":"conv は変換モードに入るためのタクティクです.詳細については Theorem Proving in Lean4 をご参照ください.","breadcrumbs":"conv: 変換モードに入る » conv","id":"25","title":"conv"},"26":{"body":"done は,証明終了の合図です.証明すべきゴールが残っていない時に成功し,それ以外の時にはエラーになります.QED のようなものです.","breadcrumbs":"done: 証明終了を宣言 » done","id":"26","title":"done"},"27":{"body":"ゴールが P で,ローカルコンテキストに hP: P があるときに,exact hP はゴールを閉じます. example (hP: P) : P := by exact hP hP がゴールの証明になっていないときには,失敗してエラーになります. exact ⟨ hP, hQ ⟩ のようにすると,論理積∧の形をした命題を証明することができます. example (hP: P) (hQ: Q) : P ∧ Q := by exact ⟨ hP, hQ ⟩","breadcrumbs":"exact: 証明を直接構成 » exact","id":"27","title":"exact"},"28":{"body":"exists は,「~という x が存在する」という命題を示すために,「この x を使え」と指示するコマンドです. ゴールが ⊢ ∃ x, P x のとき,x: X がローカルコンテキストにあれば,exists x によりゴールが P x に変わります.同時に,P x が自明な場合は証明が終了します. example : ∃ x : Nat, 3 * x + 1 = 7 := by exists 2","breadcrumbs":"exists: 存在∃を示す » exists","id":"28","title":"exists"},"29":{"body":"needs: import Std.Tactic.Ext 数学では集合 A, B ⊂ α について A = B を示すときに x ∈ A と x ∈ B が同値であることを示すのが常套手段として行われますが,ext はそういうことを行うタクティクです. @[ext] で登録されたルールを使用するため,集合の等式 A = B を示すときは Mathlib.Data.SetLike.Basic も必要です. variable {α : Type} -- `s` と `t` は `α` の部分集合\nvariable (s t : Set α) example : s ∩ t = t ∩ s := by -- `x ∈ α` を取る.` x ∈ s ∩ t ↔ x ∈ t ∩ s` を証明すればよい ext x aesop なお A ⊂ B を示すために元を取るのは intro x で可能です.","breadcrumbs":"ext: 外延性を使う » ext","id":"29","title":"ext"},"3":{"body":"aesop が成功したとき,aesop? に置き換えると,ゴールを達成するのにどんなタクティクを使用したか教えてくれます. example {f : X → Y} {g : Y → Z} (hgfinj : Injective (g ∘ f)) : Injective f := by rw [Injective] -- `aesop?` は以下を返す intro a₁ a₂ a apply hgfinj simp_all only [comp_apply]","breadcrumbs":"aesop: ルーチン自動化 » aesop?","id":"3","title":"aesop?"},"30":{"body":"関数 f と g が等しいことを示す際に,引数 x をとって f x = g x を示そうとすることがありますが,funext はそれを行うタクティクです. def f := fun (x : Nat) ↦ x + x def g := fun (x : Nat) ↦ 2 * x example : f = g := by -- 引数 `x` を取る funext x -- `f x` と `g x` を展開する dsimp [f, g] -- `x + x` と `2 * x` が等しいことを証明する ring","breadcrumbs":"funext: 関数等式を示す » funext","id":"30","title":"funext"},"31":{"body":"have は,証明の途中でわかることをローカルコンテキストに追加するコマンドです. have h: P := ... で P という命題の証明を構成し,その証明に h という名前を付けることができます. example (hPQ: P → Q) (hQR: Q → R) : P → R := by -- 示したいことが `P → R` なので,`P` だと仮定する intro hP -- 仮定 `hPQ : P → Q` と `hP : P` から `Q` が導かれる have hQ : Q := by exact hPQ hP -- 仮定 `hQR : Q → R` と `hQ : Q` から `R` が導かれる exact hQR hQ 名前を省略して have : P := ... とすると,自動的に this という名前になります.","breadcrumbs":"have: 補題を用意する » have","id":"31","title":"have"},"32":{"body":"補題を示すだけでなく,ある特定の形をした主張を分解するのにも have は使うことができます.","breadcrumbs":"have: 補題を用意する » パターンマッチ","id":"32","title":"パターンマッチ"},"33":{"body":"次のように,P ∧ Q という命題から P と Q を取り出すことができます. example (hPQ: P ∧ Q) : P := by -- `P ∧ Q` という仮定を分解する -- `hQ: Q` は不要なのでアンダースコアに置き換える have ⟨ hP, _ ⟩ := hPQ assumption","breadcrumbs":"have: 補題を用意する » 論理積 ∧","id":"33","title":"論理積 ∧"},"34":{"body":"次のように,∃ x: X, P x という命題から,条件を満たす x を取り出すことができます.x: X と hx: P x がローカルコンテキストに追加されます. -- `x`が偶数のとき`3 * x`も偶数\nexample (x : ℕ) (hx : ∃ y, x = 2 * y) : ∃ z, 3 * x = 2 * z := by -- `hx` で存在が主張されている `y` と, -- `x = 2 * y` という命題を得る have ⟨y, hy⟩ := hx exists 3 * y rw [hy] ring","breadcrumbs":"have: 補題を用意する » 存在 ∃","id":"34","title":"存在 ∃"},"35":{"body":"induction は,帰納法のためのタクティクです. 自然数を例に説明します.Lean では自然数は次のように帰納的に定義されています. inductive Nat | zero : Nat | succ (n : Nat) : Nat succ は後者関数と呼ばれる関数で,n + 1 := succ n です. n : Nat についてゴール P n ⊢ Q n があったとします.このとき induction n を行うと,コンストラクタ zero と succ のそれぞれに対して,対応するゴールを生成します.つまり P 0 ⊢ Q 0 (P (succ a)) (P a → Q a) ⊢ Q (succ a) の2つのゴールです. -- 階乗関数\ndef fac : Nat → Nat | 0 => 1 | n + 1 => (n + 1) * fac n example (n : Nat) : 0 < fac n := by -- `n` についての帰納法で示す induction n with | zero => -- `fac` の定義から従う simp [fac] | succ n ih => -- `fac` の定義から従う simp [fac] positivity","breadcrumbs":"induction: 帰納法 » induction","id":"35","title":"induction"},"36":{"body":"needs: import Mathlib.Tactic.Cases induction' というタクティクもあります.こちらは箇条書きによる,より簡潔な書き方が可能です. example (n : Nat) : 0 < fac n := by -- `ih` は帰納法の仮定 -- `k` は `ih` に登場する変数 induction' n with k ih · simp [fac] · simp [fac] positivity","breadcrumbs":"induction: 帰納法 » induction'","id":"36","title":"induction'"},"37":{"body":"intro はその名の通り導入(introduce)のタクティクです.数学で慣習的に行われる P → Q を示すときに最初に P を仮定する ∀ x ∈ A, P(x) を示すときに最初に x ∈ A が与えられたと仮定する といった導入を intro は実行します. 具体的には,intro は ゴールが ⊢ P → Q という形であるときに P をローカルコンテキストに追加して,ゴールを ⊢ Q に変える ゴールが ⊢ ∀ x, P x という形であるときに x をローカルコンテキストに追加してゴールを ⊢ P x に変える といった挙動をします. example (hPQ: P → Q) (hQR: Q → R) : P → R := by -- 示したいことが `P → R` なので,`P` だと仮定する intro hP -- 仮定 `hPQ : P → Q` と `hP : P` から `Q` が導かれる have hQ : Q := hPQ hP -- 仮定 `hQR : Q → R` と `hQ : Q` から `R` が導かれる exact hQR hQ もう一つ使用例を挙げておきます: example (P Q : Nat → Prop) (h : ∀ n, P n ↔ Q n) : ∀ y, P (y + 1) → Q (y + 1) := by -- 任意の `y` について示すので,`intro` で `y` を導入する -- そして `P (y + 1) → Q(y + 1)` を示したいので,`P (y + 1)` を仮定する intro y hyP -- 同値を使ってゴールを書き換える rw [← h] -- 仮定 `P (y + 1)` より従う assumption","breadcrumbs":"intro: 含意→や全称∀を示す » intro","id":"37","title":"intro"},"38":{"body":"Lean では否定 ¬ P は P → False として定義されているので,ゴールが ¬ P のときに intro すると P が仮定に追加されて,ゴールが False に変わります. False は矛盾を導けば証明できます. example (h: P → Q) : ¬Q → ¬P := by -- 示したいことが `¬Q → ¬P` なので,`¬Q` だと仮定する -- そうするとゴールが `¬P` になるので, -- さらに `intro` を行って仮定 `hP : P` を導入する intro hnQ hP -- `hP : P` と `h : P → Q` から `Q` が導かれる have hQ : Q := h hP -- `hQ : Q` と `hnQ : ¬Q` から矛盾が導かれる contradiction","breadcrumbs":"intro: 含意→や全称∀を示す » 否定 ¬ について","id":"38","title":"否定 ¬ について"},"39":{"body":"needs: import Mathlib.Tactic.LeftRight ゴールが ⊢ P ∨ Q であるとき,left はゴールを ⊢ P に,right はゴールを ⊢ Q に変えます. example (hP: P) : P ∨ Q := by left assumption left, right を使わずに Mathlib4 なしで同じことをするには,Or.inl または Or.inr を使用します. example (hP: P) : P ∨ Q := by apply Or.inl assumption","breadcrumbs":"left, right: 論理和∨を示す » left, right","id":"39","title":"left, right"},"4":{"body":"apply は含意 → をゴールに適用するタクティクです. ゴールが ⊢ Q で,ローカルコンテキストに h: P → Q があるときに,apply h を実行するとゴールが ⊢ P に書き換わります. -- `P → Q` かつ `P` ならば `Q`\nexample (h: P → Q) (hP: P) : Q := by -- ゴールが `P` に変わる apply h exact hP 注意点として,h: P → Q は P の証明を受け取って Q の証明を返す関数でもあるので,上記の例は apply を使わずに exact h hP で閉じることもできます. -- `P → Q` かつ `P` ならば `Q`\nexample (h: P → Q) (hP: P) : Q := by exact h hP","breadcrumbs":"apply: 含意→を使う » apply","id":"4","title":"apply"},"40":{"body":"rfl は,定義から等しいものが等しいことを示すタクティクです. -- 自明に正しい等式\nexample : 1 + 1 = 2 := by rfl -- 変数を含む等式\nexample (x : Nat) : x = x := by rfl example (P : Prop) : P = P := by rfl","breadcrumbs":"rfl: 定義そのまま » rfl","id":"40","title":"rfl"},"41":{"body":"needs: import Mathlib.Tactic.Ring ring は,可換環の等式を示します. example : (x + y) ^ 2 = x ^ 2 + 2 * x * y + y ^ 2 := by ring simp 等と異なり,ring? タクティクは用意されていませんが,show_term で具体的にどんなルールが適用されたのかを知ることができます.ただし,その出力結果は非常に長く読みづらいものであることがしばしばです.例えば, example : (x + y) ^ 2 = x ^ 2 + 2 * x * y + y ^ 2 := by show_term ring の出力をここに掲載すると100行を超えてしまいます.","breadcrumbs":"ring: 環の等式を示す » ring","id":"41","title":"ring"},"42":{"body":"rw は rewrite(書き換え)を行うタクティクです.等式や同値をもとに書き換えを行います. hab: a = b や hPQ : P ↔ Q がローカルコンテキストにあるとき, rw [hab] はゴールの中の a をすべて b に置き換え, rw [hPQ] はゴールの中の P をすべて Q に置き換えます. 順番は重要で,b を a に置き換えたいときなどは rw [← hab] のように ← をつけます. h1, h2, ... について続けて置き換えを行いたいときは,rw [h1, h2, ...] のようにします. ゴールではなく,ローカルコンテキストにある h: P を書き換えたいときには at をつけて rw [hPQ] at h とします.すべての箇所で置き換えたいときは rw [hPQ] at * とします. example (a b c d e f : Nat) (h : a * b = c * d) (h' : e = f) : a * (b * e) = c * (d * f) := by rw [h'] -- 結合法則を使う rw [← Nat.mul_assoc] rw [h] -- 結合法則を使う rw [Nat.mul_assoc]","breadcrumbs":"rw: 同値変形 » rw","id":"42","title":"rw"},"43":{"body":"show P は, ゴールの中に ⊢ P があるときにそれをメインのゴールにします. たとえば,証明中にこれから示すべきことを明示し,コードを読みやすくする目的で使うことができます. example (hP: P) (hQ: Q) : P ∧ Q := by constructor · show P exact hP · show Q exact hQ","breadcrumbs":"show: 示すべきことを宣言 » show","id":"43","title":"show"},"44":{"body":"simp は,ターゲットを決められた規則に基づいて自動で簡約(simplify)するタクティクです.カスタマイズすることが可能で,簡約に使ってほしい命題を登録することができます. universe u v -- 圏の公理\nclass Category (C : Type u) where -- 射 Hom : C → C → Type v -- 射の合成 comp : ∀ {a b c : C}, Hom a b → Hom b c → Hom a c -- 恒等射. `id a` が `a` 上の恒等射を意味する id : ∀ (a : C), Hom a a -- 恒等射の性質 id_comp : ∀ {a b : C} (f : Hom a b), comp (id a) f = f comp_id : ∀ {a b : C} (f : Hom a b), comp f (id b) = f -- 射の結合律 assoc : ∀ {a b c d : C} (f : Hom a b) (g : Hom b c) (h : Hom c d), comp (comp f g) h = comp f (comp g h) -- `f : Hom a b`と`g : Hom b c`の合成を`f ≫ g`と書く\ninfixr:80 \" ≫ \" => Category.comp -- `Category.hoge` ではなく `hoge` で呼び出せるようにする\nopen Category -- 公理の等式が `simp` で使えるようにする\nattribute [simp] id_comp comp_id assoc -- 変数の定義\nvariable {C : Type u} [Category.{u, v} C] {a b c d e : C} example (f : Hom a b) (g : Hom b c) (h : Hom c d) (i : Hom d e) : (f ≫ (id b ≫ g)) ≫ (h ≫ i) = f ≫ (g ≫ ((id c ≫ h) ≫ i)) := by -- 上で `simp` で使えるようにした等式を使って自動で簡約する simp 既知の h: P という証明を使って簡約させたいときは,明示的に simp [h] と指定することで可能です. 何も指定しなければゴールを簡約しますが,ローカルコンテキストにある h: P を簡約させたければ simp at h と指定することで可能です.","breadcrumbs":"simp: 簡約 » simp","id":"44","title":"simp"},"45":{"body":"simp は自動的に証明を行ってくれますが,何が使われたのか知りたいときもあります.simp? は簡約に何が使われたのかを示してくれるので,rw などを用いて明示的に書き直すことができます.","breadcrumbs":"simp: 簡約 » simp?","id":"45","title":"simp?"},"46":{"body":"simp_all は simp [*] at * の強化版で,ローカルコンテキストとゴールをこれ以上簡約できなくなるまですべて簡約します.","breadcrumbs":"simp: 簡約 » simp_all","id":"46","title":"simp_all"},"47":{"body":"dsimp は,定義上(definitionally)等しいもの同士しか簡約しないという制約付きの simp です.","breadcrumbs":"simp: 簡約 » dsimp","id":"47","title":"dsimp"},"48":{"body":"証明の細部を埋める前にコンパイルが通るようにしたいとき,証明で埋めるべき箇所に sorry と書くとコンパイルが通るようになります.ただし,sorry を使用しているという旨の警告が出ます. -- Fermat の最終定理\ndef FermatLastTheorem := ∀ x y z n : Nat, n > 2 ∧ x * y * z ≠ 0 → x ^ n + y ^ n ≠ z ^ n theorem flt : FermatLastTheorem := sorry","breadcrumbs":"sorry: 証明したことにする » sorry","id":"48","title":"sorry"},"49":{"body":"suffices は,数学でよくある「~を示せば十分である」という推論を行うタクティクです. ゴールが ⊢ P であるときに suffices Q from を実行すると, suffices Q from のブロック内では,仮定に this: Q が追加され, suffices Q from 以降では,ゴールが ⊢ Q に書き換えられます. apply と似ていますが,apply と違って「十分条件になっていること」の証明が明らかでないときにも使うことができます. example (hPQ: P → Q) (hQR: Q → R) (hP: P) : R := by -- `Q` を示せば十分 suffices Q from hQR this exact hPQ hP suffices Q from ... という形式の場合は,証明を直接構成することが必要です.suffices Q from by ... とすると,タクティクによって証明を構成するモードになります.","breadcrumbs":"suffices: 十分条件に帰着 » suffices","id":"49","title":"suffices"},"5":{"body":"また,Lean では否定 ¬ P は P → False として実装されているため,ゴールが ⊢ False であるときに hn: ¬P に対して apply hn とするとゴールが ⊢ P に書き換わります. -- 矛盾\nexample (hn: ¬ P) (hP: P) : False := by -- ゴールが `P` に変わる apply hn exact hP","breadcrumbs":"apply: 含意→を使う » 否定 ¬ について","id":"5","title":"否定 ¬ について"},"50":{"body":"trivial は明らかなことを示します. trivial は,rfl や contradiction などのタクティクを実行して,現在のゴールを閉じようとします. -- 定義から明らかな等式\nexample : 1 + 1 = 2 := by trivial -- 矛盾があるので, どんな命題でも証明できる\nexample (h: False) : P := by trivial","breadcrumbs":"trivial: 自明 » trivial","id":"50","title":"trivial"},"6":{"body":"apply には引数が必須なのですが,省略しても近くにエラーが出ません.一般に,構文的に間違った証明を書いた場合には,エラーがわかりやすい場所に出てくれる保証はありません. example (h: P → Q) : ¬Q → ¬P := by -- 引数は必須なので間違っているが,エラーが近くに出ない apply -- ここにエラーが出る\nexample (hP: P) : P := by exact hP","breadcrumbs":"apply: 含意→を使う » よくあるエラー","id":"6","title":"よくあるエラー"},"7":{"body":"","breadcrumbs":"apply: 含意→を使う » 関連するタクティク","id":"7","title":"関連するタクティク"},"8":{"body":"exact の代わりに apply を使うことができます. -- `P → Q` かつ `P` ならば `Q`\nexample (h: P → Q) (hP: P) : Q := by apply h apply hP","breadcrumbs":"apply: 含意→を使う » exact","id":"8","title":"exact"},"9":{"body":"needs: import Mathlib.Tactic.LibrarySearch apply? は,ゴールを閉じるのに必要な命題をライブラリから検索してきて,提案してくれるタクティクです. -- 群準同型は積を保つ\nexample [Group G] [Group H] (f : G →* H) (a b : G) : f (a * b) = f a * f b := by -- `exact MonoidHom.map_mul f a b` を提案してくれる apply? 複数の候補が提案されたときは,どれを選ぶとゴールが何に変わるのか表示されるので,その中から好ましいものを選ぶと良いでしょう.","breadcrumbs":"apply?: ライブラリ検索 » apply?","id":"9","title":"apply?"}},"length":51,"save":true},"fields":["title","body","breadcrumbs"],"index":{"body":{"root":{"0":{"df":4,"docs":{"23":{"tf":1.7320508075688772},"35":{"tf":2.0},"36":{"tf":1.0},"48":{"tf":1.0}}},"1":{"0":{"0":{"df":1,"docs":{"41":{"tf":1.0}}},"df":0,"docs":{}},"df":6,"docs":{"23":{"tf":2.449489742783178},"28":{"tf":1.0},"35":{"tf":2.0},"37":{"tf":2.449489742783178},"40":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951}}},"2":{"df":8,"docs":{"24":{"tf":1.4142135623730951},"28":{"tf":1.0},"30":{"tf":1.4142135623730951},"34":{"tf":1.7320508075688772},"40":{"tf":1.0},"41":{"tf":2.8284271247461903},"48":{"tf":1.0},"50":{"tf":1.0}}},"3":{"df":3,"docs":{"24":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.4142135623730951}}},"7":{"df":1,"docs":{"28":{"tf":1.0}}},"_":{"df":2,"docs":{"10":{"tf":1.0},"33":{"tf":1.0}}},"a":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":3,"docs":{"2":{"tf":2.0},"29":{"tf":1.0},"3":{"tf":2.0}}}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":10,"docs":{"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"3":{"tf":1.0},"39":{"tf":1.0},"4":{"tf":2.23606797749979},"49":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":6,"docs":{"10":{"tf":1.7320508075688772},"12":{"tf":1.0},"13":{"tf":1.0},"33":{"tf":1.0},"37":{"tf":1.0},"39":{"tf":1.4142135623730951}}}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"b":{"`":{"df":0,"docs":{},"と":{"`":{"df":0,"docs":{},"g":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":0,"docs":{}}},"df":4,"docs":{"29":{"tf":2.23606797749979},"42":{"tf":2.449489742783178},"44":{"tf":4.0},"9":{"tf":2.0}},"y":{"_":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"13":{"tf":2.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"14":{"tf":2.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"c":{"`":{"df":0,"docs":{},"の":{"df":0,"docs":{},"合":{"df":0,"docs":{},"成":{"df":0,"docs":{},"を":{"`":{"df":0,"docs":{},"f":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"l":{"c":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":5,"docs":{"13":{"tf":1.4142135623730951},"18":{"tf":2.8284271247461903},"19":{"tf":2.449489742783178},"20":{"tf":1.7320508075688772},"21":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}},"y":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"44":{"tf":1.0}}}}},"{":{"df":0,"docs":{},"u":{"df":1,"docs":{"44":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"df":2,"docs":{"42":{"tf":1.7320508075688772},"44":{"tf":4.58257569495584}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"44":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":1,"docs":{"44":{"tf":2.6457513110645907}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"22":{"tf":1.7320508075688772},"23":{"tf":1.4142135623730951},"43":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"r":{"a":{"d":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"13":{"tf":1.0},"14":{"tf":1.0},"24":{"tf":2.449489742783178},"38":{"tf":1.0},"50":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"v":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}}},"d":{"df":2,"docs":{"42":{"tf":1.7320508075688772},"44":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"f":{"df":3,"docs":{"30":{"tf":1.4142135623730951},"35":{"tf":1.0},"48":{"tf":1.0}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"26":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":2,"docs":{"30":{"tf":1.0},"47":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"e":{"df":2,"docs":{"42":{"tf":1.7320508075688772},"44":{"tf":1.4142135623730951}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":17,"docs":{"12":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.7320508075688772},"27":{"tf":2.23606797749979},"31":{"tf":1.4142135623730951},"37":{"tf":1.0},"4":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"49":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":38,"docs":{"10":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":2.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.4142135623730951},"38":{"tf":1.0},"39":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"40":{"tf":1.7320508075688772},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":2.0},"34":{"tf":1.0}}}}},"t":{"df":1,"docs":{"29":{"tf":1.7320508075688772}}}}},"f":{"a":{"c":{"df":2,"docs":{"35":{"tf":2.6457513110645907},"36":{"tf":1.7320508075688772}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":5,"docs":{"14":{"tf":1.0},"24":{"tf":1.4142135623730951},"38":{"tf":1.7320508075688772},"5":{"tf":1.7320508075688772},"50":{"tf":1.0}}}}},"df":6,"docs":{"2":{"tf":2.23606797749979},"3":{"tf":1.7320508075688772},"30":{"tf":2.449489742783178},"42":{"tf":1.7320508075688772},"44":{"tf":3.605551275463989},"9":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"tf":1.0}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"48":{"tf":1.4142135623730951}}}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":3,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"30":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":1.7320508075688772}}}}}}}},"g":{"df":5,"docs":{"2":{"tf":1.7320508075688772},"3":{"tf":1.4142135623730951},"30":{"tf":2.449489742783178},"44":{"tf":2.6457513110645907},"9":{"tf":1.7320508075688772}},"o":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}}}}},"h":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}}}},"1":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}},"a":{"b":{"df":1,"docs":{"42":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":19,"docs":{"13":{"tf":1.0},"14":{"tf":2.0},"15":{"tf":1.4142135623730951},"18":{"tf":2.23606797749979},"19":{"tf":1.7320508075688772},"20":{"tf":1.4142135623730951},"21":{"tf":2.449489742783178},"22":{"tf":1.4142135623730951},"24":{"tf":1.7320508075688772},"31":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"38":{"tf":1.7320508075688772},"4":{"tf":2.8284271247461903},"42":{"tf":2.449489742783178},"44":{"tf":3.1622776601683795},"50":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"g":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"j":{"df":2,"docs":{"2":{"tf":1.0},"3":{"tf":1.4142135623730951}}}}}}},"n":{"df":1,"docs":{"5":{"tf":2.0}},"n":{"df":0,"docs":{},"p":{"df":1,"docs":{"13":{"tf":1.0}}}},"p":{"df":1,"docs":{"24":{"tf":1.0}}},"q":{"df":2,"docs":{"14":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":1,"docs":{"44":{"tf":1.0}}}},"m":{"df":1,"docs":{"44":{"tf":4.0}}}},"p":{"df":23,"docs":{"10":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":2.0},"16":{"tf":2.0},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":2.23606797749979},"22":{"tf":1.4142135623730951},"24":{"tf":1.0},"27":{"tf":2.8284271247461903},"31":{"tf":1.7320508075688772},"33":{"tf":1.0},"37":{"tf":1.7320508075688772},"38":{"tf":2.0},"39":{"tf":1.4142135623730951},"4":{"tf":2.23606797749979},"43":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}},"q":{"df":7,"docs":{"15":{"tf":2.0},"16":{"tf":1.7320508075688772},"31":{"tf":1.7320508075688772},"33":{"tf":1.4142135623730951},"37":{"tf":1.7320508075688772},"42":{"tf":2.0},"49":{"tf":1.4142135623730951}}},"r":{"df":4,"docs":{"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951}}}},"q":{"df":11,"docs":{"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":2.23606797749979},"22":{"tf":1.4142135623730951},"27":{"tf":1.7320508075688772},"31":{"tf":1.7320508075688772},"33":{"tf":1.0},"37":{"tf":1.7320508075688772},"38":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951}},"r":{"df":9,"docs":{"15":{"tf":2.0},"16":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"31":{"tf":1.7320508075688772},"37":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951}}}},"x":{"df":2,"docs":{"23":{"tf":1.4142135623730951},"34":{"tf":2.0}}},"y":{"df":1,"docs":{"34":{"tf":1.4142135623730951}},"p":{"df":1,"docs":{"37":{"tf":1.0}}}}},"i":{"d":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":1,"docs":{"44":{"tf":2.449489742783178}}},"df":0,"docs":{},"h":{"df":2,"docs":{"35":{"tf":1.0},"36":{"tf":1.7320508075688772}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":10,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0},"39":{"tf":1.0},"41":{"tf":1.0},"9":{"tf":1.0}}}}}}},"n":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"35":{"tf":2.23606797749979},"36":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":0,"docs":{},"r":{":":{"8":{"0":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"2":{"tf":1.7320508075688772},"3":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"l":{"df":3,"docs":{"13":{"tf":1.0},"18":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951}}},"r":{"df":3,"docs":{"13":{"tf":1.0},"18":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":15,"docs":{"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.4142135623730951},"23":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":1.0},"31":{"tf":1.0},"37":{"tf":2.6457513110645907},"38":{"tf":1.7320508075688772}}}}}}},"k":{"df":1,"docs":{"36":{"tf":1.4142135623730951}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"4":{"df":3,"docs":{"0":{"tf":1.0},"17":{"tf":1.0},"25":{"tf":1.0}}},"df":5,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"35":{"tf":1.0},"38":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":3,"docs":{"18":{"tf":1.0},"22":{"tf":1.0},"39":{"tf":2.0}}}}}},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"d":{"a":{"df":0,"docs":{},"t":{"a":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{".":{"b":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{".":{"b":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"20":{"tf":1.0},"36":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}}}}}}}},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"r":{"df":1,"docs":{"41":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"4":{"df":2,"docs":{"0":{"tf":1.0},"39":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"n":{"a":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"_":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":10,"docs":{"23":{"tf":1.0},"24":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.4142135623730951},"35":{"tf":2.8284271247461903},"36":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0},"48":{"tf":1.0}}}},"df":4,"docs":{"35":{"tf":3.872983346207417},"36":{"tf":1.7320508075688772},"37":{"tf":1.7320508075688772},"48":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"e":{"d":{"df":10,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0},"39":{"tf":1.0},"41":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}}}},"r":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"l":{"df":1,"docs":{"39":{"tf":1.4142135623730951}}},"r":{"df":1,"docs":{"39":{"tf":1.0}}}}}},"df":0,"docs":{}}},"p":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"37":{"tf":1.0}}}},"df":31,"docs":{"10":{"tf":1.7320508075688772},"13":{"tf":3.0},"14":{"tf":2.6457513110645907},"15":{"tf":2.8284271247461903},"16":{"tf":1.4142135623730951},"18":{"tf":2.449489742783178},"19":{"tf":1.7320508075688772},"20":{"tf":1.4142135623730951},"21":{"tf":3.0},"22":{"tf":3.0},"23":{"tf":1.0},"24":{"tf":2.6457513110645907},"27":{"tf":2.449489742783178},"28":{"tf":1.7320508075688772},"31":{"tf":3.0},"33":{"tf":2.23606797749979},"34":{"tf":1.4142135623730951},"35":{"tf":2.0},"37":{"tf":4.242640687119285},"38":{"tf":3.3166247903554},"39":{"tf":2.449489742783178},"4":{"tf":3.605551275463989},"40":{"tf":1.7320508075688772},"42":{"tf":1.7320508075688772},"43":{"tf":2.23606797749979},"44":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772},"5":{"tf":2.6457513110645907},"50":{"tf":1.0},"6":{"tf":2.0},"8":{"tf":2.0}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"35":{"tf":1.0},"36":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":4,"docs":{"13":{"tf":1.0},"21":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"17":{"tf":1.0},"25":{"tf":1.0}}}}}}},"q":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"37":{"tf":1.0}}}},"df":24,"docs":{"10":{"tf":1.0},"14":{"tf":2.23606797749979},"15":{"tf":2.0},"16":{"tf":1.4142135623730951},"18":{"tf":2.449489742783178},"19":{"tf":1.7320508075688772},"20":{"tf":1.4142135623730951},"21":{"tf":3.0},"22":{"tf":2.8284271247461903},"23":{"tf":1.0},"24":{"tf":1.0},"27":{"tf":1.4142135623730951},"31":{"tf":2.6457513110645907},"33":{"tf":2.23606797749979},"35":{"tf":2.0},"37":{"tf":3.605551275463989},"38":{"tf":3.0},"39":{"tf":2.0},"4":{"tf":3.4641016151377544},"42":{"tf":1.4142135623730951},"43":{"tf":1.7320508075688772},"49":{"tf":3.3166247903554},"6":{"tf":1.4142135623730951},"8":{"tf":2.0}}},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"21":{"tf":2.0}}}}},"df":0,"docs":{}},"df":9,"docs":{"15":{"tf":2.449489742783178},"16":{"tf":1.4142135623730951},"18":{"tf":1.7320508075688772},"19":{"tf":1.7320508075688772},"20":{"tf":1.7320508075688772},"21":{"tf":2.0},"31":{"tf":2.23606797749979},"37":{"tf":2.23606797749979},"49":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"l":{"df":2,"docs":{"40":{"tf":2.23606797749979},"50":{"tf":1.0}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":3,"docs":{"18":{"tf":1.0},"22":{"tf":1.0},"39":{"tf":1.7320508075688772}}}}},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"30":{"tf":1.0},"34":{"tf":1.0},"41":{"tf":2.23606797749979}}}}},"w":{"df":7,"docs":{"2":{"tf":1.0},"23":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.0},"37":{"tf":1.0},"42":{"tf":3.4641016151377544},"45":{"tf":1.0}}}},"s":{"df":1,"docs":{"29":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"41":{"tf":1.4142135623730951}}}}}}},"df":1,"docs":{"43":{"tf":2.0}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"_":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"23":{"tf":1.0},"3":{"tf":1.0},"46":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":8,"docs":{"2":{"tf":1.0},"35":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"41":{"tf":1.0},"44":{"tf":2.8284271247461903},"45":{"tf":1.4142135623730951},"46":{"tf":1.0},"47":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":2.0}}}}}},"t":{"d":{".":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}}},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"c":{"c":{"df":1,"docs":{"35":{"tf":2.6457513110645907}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"49":{"tf":2.6457513110645907}}},"df":0,"docs":{}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"29":{"tf":2.449489742783178}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":3,"docs":{"17":{"tf":1.0},"25":{"tf":1.0},"48":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}},"v":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":2.23606797749979}}}},"df":0,"docs":{}}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":2,"docs":{"29":{"tf":1.0},"44":{"tf":1.7320508075688772}}}}}},"u":{"df":1,"docs":{"44":{"tf":1.7320508075688772}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"44":{"tf":1.0}}}}}}}}},"v":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"21":{"tf":1.0},"29":{"tf":1.4142135623730951},"44":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"44":{"tf":1.7320508075688772}}},"x":{"`":{"df":0,"docs":{},"が":{"df":0,"docs":{},"偶":{"df":0,"docs":{},"数":{"df":0,"docs":{},"の":{"df":0,"docs":{},"と":{"df":0,"docs":{},"き":{"`":{"3":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":12,"docs":{"2":{"tf":1.0},"23":{"tf":2.6457513110645907},"24":{"tf":1.7320508075688772},"28":{"tf":3.3166247903554},"29":{"tf":2.6457513110645907},"3":{"tf":1.0},"30":{"tf":3.872983346207417},"34":{"tf":3.4641016151377544},"37":{"tf":2.449489742783178},"40":{"tf":1.7320508075688772},"41":{"tf":2.449489742783178},"48":{"tf":1.7320508075688772}}},"y":{"df":6,"docs":{"2":{"tf":1.4142135623730951},"3":{"tf":1.4142135623730951},"34":{"tf":2.449489742783178},"37":{"tf":3.0},"41":{"tf":2.449489742783178},"48":{"tf":1.7320508075688772}}},"z":{"df":4,"docs":{"2":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.4142135623730951},"48":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"35":{"tf":1.7320508075688772}}}}}}}},"breadcrumbs":{"root":{"0":{"df":4,"docs":{"23":{"tf":1.7320508075688772},"35":{"tf":2.0},"36":{"tf":1.0},"48":{"tf":1.0}}},"1":{"0":{"0":{"df":1,"docs":{"41":{"tf":1.0}}},"df":0,"docs":{}},"df":6,"docs":{"23":{"tf":2.449489742783178},"28":{"tf":1.0},"35":{"tf":2.0},"37":{"tf":2.449489742783178},"40":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951}}},"2":{"df":8,"docs":{"24":{"tf":1.4142135623730951},"28":{"tf":1.0},"30":{"tf":1.4142135623730951},"34":{"tf":1.7320508075688772},"40":{"tf":1.0},"41":{"tf":2.8284271247461903},"48":{"tf":1.0},"50":{"tf":1.0}}},"3":{"df":3,"docs":{"24":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.4142135623730951}}},"7":{"df":1,"docs":{"28":{"tf":1.0}}},"_":{"df":2,"docs":{"10":{"tf":1.0},"33":{"tf":1.0}}},"a":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":3,"docs":{"2":{"tf":2.449489742783178},"29":{"tf":1.0},"3":{"tf":2.449489742783178}}}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":11,"docs":{"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"3":{"tf":1.0},"39":{"tf":1.0},"4":{"tf":2.6457513110645907},"49":{"tf":1.4142135623730951},"5":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"7":{"tf":1.0},"8":{"tf":2.0},"9":{"tf":2.23606797749979}}}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":7,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"13":{"tf":1.0},"33":{"tf":1.0},"37":{"tf":1.0},"39":{"tf":1.4142135623730951}}}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"b":{"`":{"df":0,"docs":{},"と":{"`":{"df":0,"docs":{},"g":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":0,"docs":{}}},"df":4,"docs":{"29":{"tf":2.23606797749979},"42":{"tf":2.449489742783178},"44":{"tf":4.0},"9":{"tf":2.0}},"y":{"_":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"13":{"tf":2.449489742783178}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"14":{"tf":2.449489742783178}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"c":{"`":{"df":0,"docs":{},"の":{"df":0,"docs":{},"合":{"df":0,"docs":{},"成":{"df":0,"docs":{},"を":{"`":{"df":0,"docs":{},"f":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"l":{"c":{"df":1,"docs":{"17":{"tf":2.0}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":5,"docs":{"13":{"tf":1.4142135623730951},"18":{"tf":3.1622776601683795},"19":{"tf":2.8284271247461903},"20":{"tf":2.23606797749979},"21":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}},"y":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"44":{"tf":1.0}}}}},"{":{"df":0,"docs":{},"u":{"df":1,"docs":{"44":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"df":2,"docs":{"42":{"tf":1.7320508075688772},"44":{"tf":4.58257569495584}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"44":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":1,"docs":{"44":{"tf":2.6457513110645907}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"22":{"tf":2.23606797749979},"23":{"tf":1.7320508075688772},"43":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"r":{"a":{"d":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"13":{"tf":1.0},"14":{"tf":1.0},"24":{"tf":2.8284271247461903},"38":{"tf":1.0},"50":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"v":{"df":1,"docs":{"25":{"tf":2.0}}}}}},"d":{"df":2,"docs":{"42":{"tf":1.7320508075688772},"44":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"f":{"df":3,"docs":{"30":{"tf":1.4142135623730951},"35":{"tf":1.0},"48":{"tf":1.0}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"26":{"tf":2.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":2,"docs":{"30":{"tf":1.0},"47":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{},"e":{"df":2,"docs":{"42":{"tf":1.7320508075688772},"44":{"tf":1.4142135623730951}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":17,"docs":{"12":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.7320508075688772},"27":{"tf":2.6457513110645907},"31":{"tf":1.4142135623730951},"37":{"tf":1.0},"4":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"49":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":38,"docs":{"10":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":2.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.4142135623730951},"38":{"tf":1.0},"39":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"40":{"tf":1.7320508075688772},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":2.449489742783178},"34":{"tf":1.0}}}}},"t":{"df":1,"docs":{"29":{"tf":2.23606797749979}}}}},"f":{"a":{"c":{"df":2,"docs":{"35":{"tf":2.6457513110645907},"36":{"tf":1.7320508075688772}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":5,"docs":{"14":{"tf":1.0},"24":{"tf":1.4142135623730951},"38":{"tf":1.7320508075688772},"5":{"tf":1.7320508075688772},"50":{"tf":1.0}}}}},"df":6,"docs":{"2":{"tf":2.23606797749979},"3":{"tf":1.7320508075688772},"30":{"tf":2.449489742783178},"42":{"tf":1.7320508075688772},"44":{"tf":3.605551275463989},"9":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"tf":1.0}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"48":{"tf":1.4142135623730951}}}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":3,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"30":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":2.23606797749979}}}}}}}},"g":{"df":5,"docs":{"2":{"tf":1.7320508075688772},"3":{"tf":1.4142135623730951},"30":{"tf":2.449489742783178},"44":{"tf":2.6457513110645907},"9":{"tf":1.7320508075688772}},"o":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}}}}},"h":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}}}},"1":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}},"a":{"b":{"df":1,"docs":{"42":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":19,"docs":{"13":{"tf":1.0},"14":{"tf":2.0},"15":{"tf":1.4142135623730951},"18":{"tf":2.23606797749979},"19":{"tf":1.7320508075688772},"20":{"tf":1.4142135623730951},"21":{"tf":2.449489742783178},"22":{"tf":1.4142135623730951},"24":{"tf":1.7320508075688772},"31":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"38":{"tf":1.7320508075688772},"4":{"tf":2.8284271247461903},"42":{"tf":2.449489742783178},"44":{"tf":3.1622776601683795},"50":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"g":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"j":{"df":2,"docs":{"2":{"tf":1.0},"3":{"tf":1.4142135623730951}}}}}}},"n":{"df":1,"docs":{"5":{"tf":2.0}},"n":{"df":0,"docs":{},"p":{"df":1,"docs":{"13":{"tf":1.0}}}},"p":{"df":1,"docs":{"24":{"tf":1.0}}},"q":{"df":2,"docs":{"14":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":1,"docs":{"44":{"tf":1.0}}}},"m":{"df":1,"docs":{"44":{"tf":4.0}}}},"p":{"df":23,"docs":{"10":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":2.0},"16":{"tf":2.0},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":2.23606797749979},"22":{"tf":1.4142135623730951},"24":{"tf":1.0},"27":{"tf":2.8284271247461903},"31":{"tf":1.7320508075688772},"33":{"tf":1.0},"37":{"tf":1.7320508075688772},"38":{"tf":2.0},"39":{"tf":1.4142135623730951},"4":{"tf":2.23606797749979},"43":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}},"q":{"df":7,"docs":{"15":{"tf":2.0},"16":{"tf":1.7320508075688772},"31":{"tf":1.7320508075688772},"33":{"tf":1.4142135623730951},"37":{"tf":1.7320508075688772},"42":{"tf":2.0},"49":{"tf":1.4142135623730951}}},"r":{"df":4,"docs":{"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951}}}},"q":{"df":11,"docs":{"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":2.23606797749979},"22":{"tf":1.4142135623730951},"27":{"tf":1.7320508075688772},"31":{"tf":1.7320508075688772},"33":{"tf":1.0},"37":{"tf":1.7320508075688772},"38":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951}},"r":{"df":9,"docs":{"15":{"tf":2.0},"16":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"31":{"tf":1.7320508075688772},"37":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951}}}},"x":{"df":2,"docs":{"23":{"tf":1.4142135623730951},"34":{"tf":2.0}}},"y":{"df":1,"docs":{"34":{"tf":1.4142135623730951}},"p":{"df":1,"docs":{"37":{"tf":1.0}}}}},"i":{"d":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":1,"docs":{"44":{"tf":2.449489742783178}}},"df":0,"docs":{},"h":{"df":2,"docs":{"35":{"tf":1.0},"36":{"tf":1.7320508075688772}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":10,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0},"39":{"tf":1.0},"41":{"tf":1.0},"9":{"tf":1.0}}}}}}},"n":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"35":{"tf":2.6457513110645907},"36":{"tf":2.23606797749979}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":0,"docs":{},"r":{":":{"8":{"0":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"2":{"tf":1.7320508075688772},"3":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"l":{"df":3,"docs":{"13":{"tf":1.0},"18":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951}}},"r":{"df":3,"docs":{"13":{"tf":1.0},"18":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":15,"docs":{"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.4142135623730951},"23":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":1.0},"31":{"tf":1.0},"37":{"tf":3.0},"38":{"tf":2.0}}}}}}},"k":{"df":1,"docs":{"36":{"tf":1.4142135623730951}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"4":{"df":4,"docs":{"0":{"tf":1.7320508075688772},"1":{"tf":1.0},"17":{"tf":1.0},"25":{"tf":1.0}}},"df":5,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"35":{"tf":1.0},"38":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":3,"docs":{"18":{"tf":1.0},"22":{"tf":1.0},"39":{"tf":2.449489742783178}}}}}},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"d":{"a":{"df":0,"docs":{},"t":{"a":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{".":{"b":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{".":{"b":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"20":{"tf":1.0},"36":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}}}}}}}},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"r":{"df":1,"docs":{"41":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"4":{"df":2,"docs":{"0":{"tf":1.0},"39":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"n":{"a":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"_":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":10,"docs":{"23":{"tf":1.0},"24":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.4142135623730951},"35":{"tf":2.8284271247461903},"36":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0},"48":{"tf":1.0}}}},"df":4,"docs":{"35":{"tf":3.872983346207417},"36":{"tf":1.7320508075688772},"37":{"tf":1.7320508075688772},"48":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"e":{"d":{"df":10,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0},"39":{"tf":1.0},"41":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}}}},"r":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"l":{"df":1,"docs":{"39":{"tf":1.4142135623730951}}},"r":{"df":1,"docs":{"39":{"tf":1.0}}}}}},"df":0,"docs":{}}},"p":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"37":{"tf":1.0}}}},"df":31,"docs":{"10":{"tf":1.7320508075688772},"13":{"tf":3.0},"14":{"tf":2.6457513110645907},"15":{"tf":2.8284271247461903},"16":{"tf":1.4142135623730951},"18":{"tf":2.449489742783178},"19":{"tf":1.7320508075688772},"20":{"tf":1.4142135623730951},"21":{"tf":3.0},"22":{"tf":3.0},"23":{"tf":1.0},"24":{"tf":2.6457513110645907},"27":{"tf":2.449489742783178},"28":{"tf":1.7320508075688772},"31":{"tf":3.0},"33":{"tf":2.23606797749979},"34":{"tf":1.4142135623730951},"35":{"tf":2.0},"37":{"tf":4.242640687119285},"38":{"tf":3.3166247903554},"39":{"tf":2.449489742783178},"4":{"tf":3.605551275463989},"40":{"tf":1.7320508075688772},"42":{"tf":1.7320508075688772},"43":{"tf":2.23606797749979},"44":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772},"5":{"tf":2.6457513110645907},"50":{"tf":1.0},"6":{"tf":2.0},"8":{"tf":2.0}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"35":{"tf":1.0},"36":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":4,"docs":{"13":{"tf":1.0},"21":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"17":{"tf":1.0},"25":{"tf":1.0}}}}}}},"q":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"37":{"tf":1.0}}}},"df":24,"docs":{"10":{"tf":1.0},"14":{"tf":2.23606797749979},"15":{"tf":2.0},"16":{"tf":1.4142135623730951},"18":{"tf":2.449489742783178},"19":{"tf":1.7320508075688772},"20":{"tf":1.4142135623730951},"21":{"tf":3.0},"22":{"tf":2.8284271247461903},"23":{"tf":1.0},"24":{"tf":1.0},"27":{"tf":1.4142135623730951},"31":{"tf":2.6457513110645907},"33":{"tf":2.23606797749979},"35":{"tf":2.0},"37":{"tf":3.605551275463989},"38":{"tf":3.0},"39":{"tf":2.0},"4":{"tf":3.4641016151377544},"42":{"tf":1.4142135623730951},"43":{"tf":1.7320508075688772},"49":{"tf":3.3166247903554},"6":{"tf":1.4142135623730951},"8":{"tf":2.0}}},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"21":{"tf":2.23606797749979}}}}},"df":0,"docs":{}},"df":9,"docs":{"15":{"tf":2.449489742783178},"16":{"tf":1.4142135623730951},"18":{"tf":1.7320508075688772},"19":{"tf":1.7320508075688772},"20":{"tf":1.7320508075688772},"21":{"tf":2.0},"31":{"tf":2.23606797749979},"37":{"tf":2.23606797749979},"49":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"l":{"df":2,"docs":{"40":{"tf":2.6457513110645907},"50":{"tf":1.0}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":3,"docs":{"18":{"tf":1.0},"22":{"tf":1.0},"39":{"tf":2.23606797749979}}}}},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"30":{"tf":1.0},"34":{"tf":1.0},"41":{"tf":2.6457513110645907}}}}},"w":{"df":7,"docs":{"2":{"tf":1.0},"23":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.0},"37":{"tf":1.0},"42":{"tf":3.7416573867739413},"45":{"tf":1.0}}}},"s":{"df":1,"docs":{"29":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"41":{"tf":1.4142135623730951}}}}}}},"df":1,"docs":{"43":{"tf":2.449489742783178}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"_":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"23":{"tf":1.0},"3":{"tf":1.0},"46":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":8,"docs":{"2":{"tf":1.0},"35":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"41":{"tf":1.0},"44":{"tf":3.1622776601683795},"45":{"tf":2.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":2.449489742783178}}}}}},"t":{"d":{".":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}}},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"c":{"c":{"df":1,"docs":{"35":{"tf":2.6457513110645907}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"49":{"tf":3.0}}},"df":0,"docs":{}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"29":{"tf":2.449489742783178}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":3,"docs":{"17":{"tf":1.0},"25":{"tf":1.0},"48":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}},"v":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":2.6457513110645907}}}},"df":0,"docs":{}}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":2,"docs":{"29":{"tf":1.0},"44":{"tf":1.7320508075688772}}}}}},"u":{"df":1,"docs":{"44":{"tf":1.7320508075688772}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"44":{"tf":1.0}}}}}}}}},"v":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"21":{"tf":1.0},"29":{"tf":1.4142135623730951},"44":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"44":{"tf":1.7320508075688772}}},"x":{"`":{"df":0,"docs":{},"が":{"df":0,"docs":{},"偶":{"df":0,"docs":{},"数":{"df":0,"docs":{},"の":{"df":0,"docs":{},"と":{"df":0,"docs":{},"き":{"`":{"3":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":12,"docs":{"2":{"tf":1.0},"23":{"tf":2.6457513110645907},"24":{"tf":1.7320508075688772},"28":{"tf":3.3166247903554},"29":{"tf":2.6457513110645907},"3":{"tf":1.0},"30":{"tf":3.872983346207417},"34":{"tf":3.4641016151377544},"37":{"tf":2.449489742783178},"40":{"tf":1.7320508075688772},"41":{"tf":2.449489742783178},"48":{"tf":1.7320508075688772}}},"y":{"df":6,"docs":{"2":{"tf":1.4142135623730951},"3":{"tf":1.4142135623730951},"34":{"tf":2.449489742783178},"37":{"tf":3.0},"41":{"tf":2.449489742783178},"48":{"tf":1.7320508075688772}}},"z":{"df":4,"docs":{"2":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.4142135623730951},"48":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"35":{"tf":1.7320508075688772}}}}}}}},"title":{"root":{"a":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":2,"docs":{"2":{"tf":1.0},"3":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"4":{"tf":1.0},"9":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}}}}}}},"b":{"df":0,"docs":{},"y":{"_":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"l":{"c":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":3,"docs":{"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"r":{"a":{"d":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"24":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"v":{"df":1,"docs":{"25":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"26":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"47":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"12":{"tf":1.0},"27":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":1.0}}}}},"t":{"df":1,"docs":{"29":{"tf":1.0}}}}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"35":{"tf":1.0},"36":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"37":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"4":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}}}},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"21":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":1,"docs":{"40":{"tf":1.0}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"41":{"tf":1.0}}}}},"w":{"df":1,"docs":{"42":{"tf":1.0}}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"43":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"_":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"44":{"tf":1.0},"45":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}},"lang":"English","pipeline":["trimmer","stopWordFilter","stemmer"],"ref":"id","version":"0.9.5"},"results_options":{"limit_results":30,"teaser_word_count":30},"search_options":{"bool":"OR","expand":true,"fields":{"body":{"boost":1},"breadcrumbs":{"boost":1},"title":{"boost":2}}}}); \ No newline at end of file diff --git a/searchindex.json b/searchindex.json index b6b658dc..1c6f2def 100644 --- a/searchindex.json +++ b/searchindex.json @@ -1 +1 @@ -{"doc_urls":["index.html#lean4-タクティク逆引きリスト","index.html#謝辞","aesop.html#aesop","aesop.html#aesop-1","apply.html#apply","apply.html#否定--について","apply.html#よくあるエラー","apply.html#関連するタクティク","apply.html#exact","apply_question.html#apply","assumption.html#assumption","assumption.html#関連するタクティク","assumption.html#exact","by_cases.html#by_cases","by_contra.html#by_contra","by.html#by","by.html#by-1","calc.html#calc","cases.html#cases","cases.html#case-を書かない","cases.html#cases-1","cases.html#rcases","constructor.html#constructor","constructor.html#同値を示す","contradiction.html#contradiction","conv.html#conv","done.html#done","exact.html#exact","exists.html#exists","ext.html#ext","funext.html#funext","have.html#have","have.html#パターンマッチ","have.html#論理積-","have.html#存在-","induction.html#induction","induction.html#induction-1","intro.html#intro","intro.html#否定--について","left_right.html#left-right","rfl.html#rfl","ring.html#ring","rw.html#rw","show.html#show","simp.html#simp","simp.html#simp-1","simp.html#simp_all","simp.html#dsimp","sorry.html#sorry","suffices.html#suffices","trivial.html#trivial"],"index":{"documentStore":{"docInfo":{"0":{"body":3,"breadcrumbs":2,"title":1},"1":{"body":1,"breadcrumbs":1,"title":0},"10":{"body":9,"breadcrumbs":2,"title":1},"11":{"body":0,"breadcrumbs":1,"title":0},"12":{"body":2,"breadcrumbs":2,"title":1},"13":{"body":24,"breadcrumbs":2,"title":1},"14":{"body":26,"breadcrumbs":2,"title":1},"15":{"body":37,"breadcrumbs":0,"title":0},"16":{"body":22,"breadcrumbs":0,"title":0},"17":{"body":4,"breadcrumbs":2,"title":1},"18":{"body":49,"breadcrumbs":2,"title":1},"19":{"body":33,"breadcrumbs":2,"title":1},"2":{"body":23,"breadcrumbs":2,"title":1},"20":{"body":24,"breadcrumbs":2,"title":1},"21":{"body":56,"breadcrumbs":2,"title":1},"22":{"body":36,"breadcrumbs":2,"title":1},"23":{"body":27,"breadcrumbs":1,"title":0},"24":{"body":31,"breadcrumbs":2,"title":1},"25":{"body":4,"breadcrumbs":2,"title":1},"26":{"body":1,"breadcrumbs":2,"title":1},"27":{"body":25,"breadcrumbs":2,"title":1},"28":{"body":23,"breadcrumbs":2,"title":1},"29":{"body":35,"breadcrumbs":2,"title":1},"3":{"body":23,"breadcrumbs":2,"title":1},"30":{"body":40,"breadcrumbs":2,"title":1},"31":{"body":39,"breadcrumbs":0,"title":0},"32":{"body":0,"breadcrumbs":0,"title":0},"33":{"body":17,"breadcrumbs":0,"title":0},"34":{"body":38,"breadcrumbs":0,"title":0},"35":{"body":67,"breadcrumbs":2,"title":1},"36":{"body":20,"breadcrumbs":2,"title":1},"37":{"body":90,"breadcrumbs":2,"title":1},"38":{"body":40,"breadcrumbs":1,"title":0},"39":{"body":27,"breadcrumbs":4,"title":2},"4":{"body":47,"breadcrumbs":2,"title":1},"40":{"body":18,"breadcrumbs":2,"title":1},"41":{"body":31,"breadcrumbs":2,"title":1},"42":{"body":55,"breadcrumbs":2,"title":1},"43":{"body":19,"breadcrumbs":2,"title":1},"44":{"body":142,"breadcrumbs":2,"title":1},"45":{"body":2,"breadcrumbs":2,"title":1},"46":{"body":2,"breadcrumbs":2,"title":1},"47":{"body":2,"breadcrumbs":2,"title":1},"48":{"body":26,"breadcrumbs":2,"title":1},"49":{"body":32,"breadcrumbs":2,"title":1},"5":{"body":21,"breadcrumbs":1,"title":0},"50":{"body":14,"breadcrumbs":2,"title":1},"6":{"body":14,"breadcrumbs":1,"title":0},"7":{"body":0,"breadcrumbs":1,"title":0},"8":{"body":17,"breadcrumbs":2,"title":1},"9":{"body":21,"breadcrumbs":2,"title":1}},"docs":{"0":{"body":"「普段の数学を Lean でどうやって実現するんだろう」という疑問に答えるために,よく使うタクティクをユースケースから逆引きできるようにまとめたリストです. 全タクティクのリストが必要な場合は, mathlib4-all-tactics をご参照ください.","breadcrumbs":"Lean4 タクティク逆引きリスト » Lean4 タクティク逆引きリスト","id":"0","title":"Lean4 タクティク逆引きリスト"},"1":{"body":"数学系のためのLean勉強会 からいくつかコード例を拝借させていただきました.ありがとうございます.","breadcrumbs":"Lean4 タクティク逆引きリスト » 謝辞","id":"1","title":"謝辞"},"10":{"body":"assumption は,現在のゴール ⊢ P がローカルコンテキストにあるとき,ゴールを閉じます. example (hP: P) (_: Q) : P := by assumption","breadcrumbs":"assumption: 仮定をそのまま使う » assumption","id":"10","title":"assumption"},"11":{"body":"","breadcrumbs":"assumption: 仮定をそのまま使う » 関連するタクティク","id":"11","title":"関連するタクティク"},"12":{"body":"assumption による証明は,どの仮定を使うか明示すれば exact で書き直すことができます.","breadcrumbs":"assumption: 仮定をそのまま使う » exact","id":"12","title":"exact"},"13":{"body":"by_cases は排中律を使って場合分けをするタクティクです. by_cases h: P とすると,P が成り立つときと成り立たないときのゴールがそれぞれ生成されます. example (P: Prop) : ¬¬P → P := by intro hnnP -- `P` が成り立つかどうかで場合分けする by_cases hP: P case inl => -- `P` が成り立つとき assumption case inr => -- `P` が成り立たないとき contradiction","breadcrumbs":"by_cases: 排中律 » by_cases","id":"13","title":"by_cases"},"14":{"body":"by_contra は,背理法を使いたいときに役立つタクティクです.Mathlib.Tactic.ByContra に依存しています. ゴールが ⊢ P であるときに by_contra h を実行すると,h : ¬ P がローカルコンテキストに追加されて,同時にゴールが ⊢ False になります. example (h: ¬Q → ¬P) : P → Q := by -- `P` であると仮定する intro hP -- `¬Q` であると仮定する by_contra hnQ -- `¬ Q → ¬ P` と `¬Q` から `¬P` が導かれる have := h hnQ -- これは仮定に矛盾 contradiction","breadcrumbs":"by_contra: 背理法 » by_contra","id":"14","title":"by_contra"},"15":{"body":"型理論においては,命題 P は型で,証明 h : P はその項です.証明を構成するとは項 h を構成するということです.by は,証明の構成をタクティクで行いたいときに使います. -- `P → R` というのは `P` の証明を与えられたときに `R` の証明を返す関数の型\n-- したがって,その証明は関数となる\nexample (hPQ : P → Q) (hQR : Q → R) : P → R := fun hP ↦ hQR (hPQ hP) -- 同じ命題をタクティクで示した例\nexample (hPQ : P → Q) (hQR : Q → R) : P → R := by intro hP exact hQR (hPQ hP)","breadcrumbs":"by: タクティクモードに入る » by","id":"15","title":"by"},"16":{"body":"これは Std.Tactic.ShowTerm に依存した例ですが,by? を使えばタクティクモードで構成した証明を直接構成した証明に変換してくれます. example (hPQ : P → Q) (hQR : Q → R) : P → R := by? -- `Try this: fun hP => hQR (hPQ hP)` と提案してくれる intro hP exact hQR (hPQ hP)","breadcrumbs":"by: タクティクモードに入る » by?","id":"16","title":"by?"},"17":{"body":"calc は計算モードに入るためのタクティクです.詳細については Theorem Proving in Lean4 をご参照ください.","breadcrumbs":"calc: 計算モードに入る » calc","id":"17","title":"calc"},"18":{"body":"cases は場合分けを行います.ローカルコンテキストに h: P ∨ Q があるときに cases h とすると,仮定に P を付け加えたゴール inl と,仮定に Q を付け加えたゴール inr を生成します.それぞれ,insert left と insert right の略ではないかと思います. example : P ∨ Q → (P → R) → (Q → R) → R := by -- `h: P ∨ Q` intro h hPR hQR -- `case inl` と `case inr` の2つのゴールを生成する cases h -- `P` が成り立つ場合 case inl hP => exact hPR hP -- `Q` が成り立つ場合 case inr hQ => exact hQR hQ","breadcrumbs":"cases: 論理和∨を使う » cases","id":"18","title":"cases"},"19":{"body":"上記の例では case を場合分けの枝ごとに書いていますが,下の例のように case を書かずに済ませることもできます. example : P ∨ Q → (P → R) → (Q → R) → R := by -- `h: P ∨ Q` intro h hPR hQR -- `case inl` と `case inr` の2つのゴールを生成する cases h with | inl hP => exact hPR hP | inr hQ => exact hQR hQ","breadcrumbs":"cases: 論理和∨を使う » case を書かない","id":"19","title":"case を書かない"},"2":{"body":"aesop は,intro や simp を使用してルーチンな証明を自動で行おうとします.Aesop ライブラリに依存しています. -- 合成 `g ∘ f` が単射なら,`f` も単射\nexample {f : X → Y} {g : Y → Z} (hgfinj : Injective (g ∘ f)) : Injective f := by rw [Injective] aesop","breadcrumbs":"aesop: ルーチン自動化 » aesop","id":"2","title":"aesop"},"20":{"body":"Mathlib.Tactic.Cases に依存したタクティクですが,cases' を使用すると分解した仮定に簡潔に名前をつけることができます. example : P ∨ Q → (P → R) → (Q → R) → R := by intro h hPR hQR -- 場合分けをする cases' h with hP hQ · apply hPR hP · apply hQR hQ","breadcrumbs":"cases: 論理和∨を使う » cases'","id":"20","title":"cases'"},"21":{"body":"Std.Tactic.RCases に依存したタクティクですが,rcases は cases をパターンに従って再帰的(recursive)に適用します.論理和∨以外にも使うことができます. variable (P Q R : Prop) example : P ∨ Q → (P → R) → (Q → R) → R := by intro h hPR hQR -- 場合分けをする rcases h with hP | hQ · apply hPR hP · apply hQR hQ example : P ∧ Q → Q ∧ P := by -- `h: P ∧ Q` と仮定する intro h -- `h: P ∧ Q` を `hP: P` と `hQ: Q` に分解する rcases h with ⟨hP, hQ⟩ -- `Q ∧ P` を証明する exact ⟨hQ, hP⟩","breadcrumbs":"cases: 論理和∨を使う » rcases","id":"21","title":"rcases"},"22":{"body":"ゴールが ⊢ P ∧ Q であるとき,constructor を実行すると,ゴールが2つのゴール ⊢ P と ⊢ Q に分割されます. example (hP: P) (hQ: Q) : P ∧ Q := by -- goal が `left` と `right` に分割される constructor · -- `P` を示す exact hP · -- `Q` を示す exact hQ なお h: P ∧ Q から P や Q の証明を得るのは,それぞれ h.left と h.right で可能です. example (h: P ∧ Q) : P := by exact h.left","breadcrumbs":"constructor: 論理積∧を示す » constructor","id":"22","title":"constructor"},"23":{"body":"constructor はゴールが ⊢ P ↔ Q であるときにも使用できます. example (x : Nat) : x = 0 ↔ x + 1 = 1 := by constructor · -- `x = 0 → x + 1 = 1` を示す intro hx rw [hx] · -- `x + 1 = 1 → x = 0` を示す simp_all","breadcrumbs":"constructor: 論理積∧を示す » 同値を示す","id":"23","title":"同値を示す"},"24":{"body":"contradiction は,矛盾によりゴールを閉じるタクティクです.矛盾から任意の命題を証明することができます. ローカルコンテキストに P と ¬ P が同時にあるなど,矛盾した状況にあるときにゴールを閉じます. -- `False`\nexample (h : False) : P := by contradiction -- 明らかに偽な等式\nexample (h : 2 + 2 = 3) : P := by contradiction -- 明らかに偽な等式\nexample (x : Nat) (h : x ≠ x) : P := by contradiction -- 矛盾する仮定\nexample (hP : P) (hnP : ¬ P) : Q := by contradiction","breadcrumbs":"contradiction: 矛盾 » contradiction","id":"24","title":"contradiction"},"25":{"body":"conv は変換モードに入るためのタクティクです.詳細については Theorem Proving in Lean4 をご参照ください.","breadcrumbs":"conv: 変換モードに入る » conv","id":"25","title":"conv"},"26":{"body":"done は,証明終了の合図です.証明すべきゴールが残っていない時に成功し,それ以外の時にはエラーになります.QED のようなものです.","breadcrumbs":"done: 証明終了を宣言 » done","id":"26","title":"done"},"27":{"body":"ゴールが P で,ローカルコンテキストに hP: P があるときに,exact hP はゴールを閉じます. example (hP: P) : P := by exact hP hP がゴールの証明になっていないときには,失敗してエラーになります. exact ⟨ hP, hQ ⟩ のようにすると,論理積∧の形をした命題を証明することができます. example (hP: P) (hQ: Q) : P ∧ Q := by exact ⟨ hP, hQ ⟩","breadcrumbs":"exact: 証明を直接構成 » exact","id":"27","title":"exact"},"28":{"body":"exists は,「~という x が存在する」という命題を示すために,「この x を使え」と指示するコマンドです. ゴールが ⊢ ∃ x, P x のとき,x: X がローカルコンテキストにあれば,exists x によりゴールが P x に変わります.同時に,P x が自明な場合は証明が終了します. example : ∃ x : Nat, 3 * x + 1 = 7 := by exists 2","breadcrumbs":"exists: 存在∃を示す » exists","id":"28","title":"exists"},"29":{"body":"数学では集合 A, B ⊂ α について A = B を示すときに x ∈ A と x ∈ B が同値であることを示すのが常套手段として行われますが,ext はそういうことを行うタクティクです. Std.Tactic.Ext に依存しているタクティクです.@[ext] で登録されたルールを使用するため,集合の等式 A = B を示すときは Mathlib.Data.SetLike.Basic も必要です. variable {α : Type} -- `s` と `t` は `α` の部分集合\nvariable (s t : Set α) example : s ∩ t = t ∩ s := by -- `x ∈ α` を取る.` x ∈ s ∩ t ↔ x ∈ t ∩ s` を証明すればよい ext x aesop なお A ⊂ B を示すために元を取るのは intro x で可能です.","breadcrumbs":"ext: 外延性を使う » ext","id":"29","title":"ext"},"3":{"body":"aesop が成功したとき,aesop? に置き換えると,ゴールを達成するのにどんなタクティクを使用したか教えてくれます. example {f : X → Y} {g : Y → Z} (hgfinj : Injective (g ∘ f)) : Injective f := by rw [Injective] -- `aesop?` は以下を返す intro a₁ a₂ a apply hgfinj simp_all only [comp_apply]","breadcrumbs":"aesop: ルーチン自動化 » aesop?","id":"3","title":"aesop?"},"30":{"body":"関数 f と g が等しいことを示す際に,引数 x をとって f x = g x を示そうとすることがありますが,funext はそれを行うタクティクです. def f := fun (x : Nat) ↦ x + x def g := fun (x : Nat) ↦ 2 * x example : f = g := by -- 引数 `x` を取る funext x -- `f x` と `g x` を展開する dsimp [f, g] -- `x + x` と `2 * x` が等しいことを証明する ring","breadcrumbs":"funext: 関数等式を示す » funext","id":"30","title":"funext"},"31":{"body":"have は,証明の途中でわかることをローカルコンテキストに追加するコマンドです. have h: P := ... で P という命題の証明を構成し,その証明に h という名前を付けることができます. example (hPQ: P → Q) (hQR: Q → R) : P → R := by -- 示したいことが `P → R` なので,`P` だと仮定する intro hP -- 仮定 `hPQ : P → Q` と `hP : P` から `Q` が導かれる have hQ : Q := by exact hPQ hP -- 仮定 `hQR : Q → R` と `hQ : Q` から `R` が導かれる exact hQR hQ 名前を省略して have : P := ... とすると,自動的に this という名前になります.","breadcrumbs":"have: 補題を用意する » have","id":"31","title":"have"},"32":{"body":"補題を示すだけでなく,ある特定の形をした主張を分解するのにも have は使うことができます.","breadcrumbs":"have: 補題を用意する » パターンマッチ","id":"32","title":"パターンマッチ"},"33":{"body":"次のように,P ∧ Q という命題から P と Q を取り出すことができます. example (hPQ: P ∧ Q) : P := by -- `P ∧ Q` という仮定を分解する -- `hQ: Q` は不要なのでアンダースコアに置き換える have ⟨ hP, _ ⟩ := hPQ assumption","breadcrumbs":"have: 補題を用意する » 論理積 ∧","id":"33","title":"論理積 ∧"},"34":{"body":"次のように,∃ x: X, P x という命題から,条件を満たす x を取り出すことができます.x: X と hx: P x がローカルコンテキストに追加されます. -- `x`が偶数のとき`3 * x`も偶数\nexample (x : ℕ) (hx : ∃ y, x = 2 * y) : ∃ z, 3 * x = 2 * z := by -- `hx` で存在が主張されている `y` と, -- `x = 2 * y` という命題を得る have ⟨y, hy⟩ := hx exists 3 * y rw [hy] ring","breadcrumbs":"have: 補題を用意する » 存在 ∃","id":"34","title":"存在 ∃"},"35":{"body":"induction は,帰納法のためのタクティクです. 自然数を例に説明します.Lean では自然数は次のように帰納的に定義されています. inductive Nat | zero : Nat | succ (n : Nat) : Nat succ は後者関数と呼ばれる関数で,n + 1 := succ n です. n : Nat についてゴール P n ⊢ Q n があったとします.このとき induction n を行うと,コンストラクタ zero と succ のそれぞれに対して,対応するゴールを生成します.つまり P 0 ⊢ Q 0 (P (succ a)) (P a → Q a) ⊢ Q (succ a) の2つのゴールです. -- 階乗関数\ndef fac : Nat → Nat | 0 => 1 | n + 1 => (n + 1) * fac n example (n : Nat) : 0 < fac n := by -- `n` についての帰納法で示す induction n with | zero => -- `fac` の定義から従う simp [fac] | succ n ih => -- `fac` の定義から従う simp [fac] positivity","breadcrumbs":"induction: 帰納法 » induction","id":"35","title":"induction"},"36":{"body":"Mathlib.Tactic.Cases 依存のタクティクですが,induction' というタクティクもあります.こちらは箇条書きによる,より簡潔な書き方が可能です. example (n : Nat) : 0 < fac n := by -- `ih` は帰納法の仮定 -- `k` は `ih` に登場する変数 induction' n with k ih · simp [fac] · simp [fac] positivity","breadcrumbs":"induction: 帰納法 » induction'","id":"36","title":"induction'"},"37":{"body":"intro はその名の通り導入(introduce)のタクティクです.数学で慣習的に行われる P → Q を示すときに最初に P を仮定する ∀ x ∈ A, P(x) を示すときに最初に x ∈ A が与えられたと仮定する といった導入を intro は実行します. 具体的には,intro は ゴールが ⊢ P → Q という形であるときに P をローカルコンテキストに追加して,ゴールを ⊢ Q に変える ゴールが ⊢ ∀ x, P x という形であるときに x をローカルコンテキストに追加してゴールを ⊢ P x に変える といった挙動をします. example (hPQ: P → Q) (hQR: Q → R) : P → R := by -- 示したいことが `P → R` なので,`P` だと仮定する intro hP -- 仮定 `hPQ : P → Q` と `hP : P` から `Q` が導かれる have hQ : Q := hPQ hP -- 仮定 `hQR : Q → R` と `hQ : Q` から `R` が導かれる exact hQR hQ もう一つ使用例を挙げておきます: example (P Q : Nat → Prop) (h : ∀ n, P n ↔ Q n) : ∀ y, P (y + 1) → Q (y + 1) := by -- 任意の `y` について示すので,`intro` で `y` を導入する -- そして `P (y + 1) → Q(y + 1)` を示したいので,`P (y + 1)` を仮定する intro y hyP -- 同値を使ってゴールを書き換える rw [← h] -- 仮定 `P (y + 1)` より従う assumption","breadcrumbs":"intro: 含意→や全称∀を示す » intro","id":"37","title":"intro"},"38":{"body":"Lean では否定 ¬ P は P → False として定義されているので,ゴールが ¬ P のときに intro すると P が仮定に追加されて,ゴールが False に変わります. False は矛盾を導けば証明できます. example (h: P → Q) : ¬Q → ¬P := by -- 示したいことが `¬Q → ¬P` なので,`¬Q` だと仮定する -- そうするとゴールが `¬P` になるので, -- さらに `intro` を行って仮定 `hP : P` を導入する intro hnQ hP -- `hP : P` と `h : P → Q` から `Q` が導かれる have hQ : Q := h hP -- `hQ : Q` と `hnQ : ¬Q` から矛盾が導かれる contradiction","breadcrumbs":"intro: 含意→や全称∀を示す » 否定 ¬ について","id":"38","title":"否定 ¬ について"},"39":{"body":"ゴールが ⊢ P ∨ Q であるとき,left はゴールを ⊢ P に,right はゴールを ⊢ Q に変えます.Mathlib.Tactic.LeftRight に依存しているタクティクです. example (hP: P) : P ∨ Q := by left assumption left, right を使わずに Mathlib4 なしで同じことをするには,Or.inl または Or.inr を使用します. example (hP: P) : P ∨ Q := by apply Or.inl assumption","breadcrumbs":"left, right: 論理和∨を示す » left, right","id":"39","title":"left, right"},"4":{"body":"apply は含意 → をゴールに適用するタクティクです. ゴールが ⊢ Q で,ローカルコンテキストに h: P → Q があるときに,apply h を実行するとゴールが ⊢ P に書き換わります. -- `P → Q` かつ `P` ならば `Q`\nexample (h: P → Q) (hP: P) : Q := by -- ゴールが `P` に変わる apply h exact hP 注意点として,h: P → Q は P の証明を受け取って Q の証明を返す関数でもあるので,上記の例は apply を使わずに exact h hP で閉じることもできます. -- `P → Q` かつ `P` ならば `Q`\nexample (h: P → Q) (hP: P) : Q := by exact h hP","breadcrumbs":"apply: 含意→を使う » apply","id":"4","title":"apply"},"40":{"body":"rfl は,定義から等しいものが等しいことを示すタクティクです. -- 自明に正しい等式\nexample : 1 + 1 = 2 := by rfl -- 変数を含む等式\nexample (x : Nat) : x = x := by rfl example (P : Prop) : P = P := by rfl","breadcrumbs":"rfl: 定義そのまま » rfl","id":"40","title":"rfl"},"41":{"body":"ring は,可換環の等式を示します.Mathlib.Tactic.Ring に依存しています. example : (x + y) ^ 2 = x ^ 2 + 2 * x * y + y ^ 2 := by ring simp 等と異なり,ring? タクティクは用意されていませんが,show_term で具体的にどんなルールが適用されたのかを知ることができます.ただし,その出力結果は非常に長く読みづらいものであることがしばしばです.例えば, example : (x + y) ^ 2 = x ^ 2 + 2 * x * y + y ^ 2 := by show_term ring の出力をここに掲載すると100行を超えてしまいます.","breadcrumbs":"ring: 環の等式を示す » ring","id":"41","title":"ring"},"42":{"body":"rw は rewrite(書き換え)を行うタクティクです.等式や同値をもとに書き換えを行います. hab: a = b や hPQ : P ↔ Q がローカルコンテキストにあるとき, rw [hab] はゴールの中の a をすべて b に置き換え, rw [hPQ] はゴールの中の P をすべて Q に置き換えます. 順番は重要で,b を a に置き換えたいときなどは rw [← hab] のように ← をつけます. h1, h2, ... について続けて置き換えを行いたいときは,rw [h1, h2, ...] のようにします. ゴールではなく,ローカルコンテキストにある h: P を書き換えたいときには at をつけて rw [hPQ] at h とします.すべての箇所で置き換えたいときは rw [hPQ] at * とします. example (a b c d e f : Nat) (h : a * b = c * d) (h' : e = f) : a * (b * e) = c * (d * f) := by rw [h'] -- 結合法則を使う rw [← Nat.mul_assoc] rw [h] -- 結合法則を使う rw [Nat.mul_assoc]","breadcrumbs":"rw: 同値変形 » rw","id":"42","title":"rw"},"43":{"body":"show P は, ゴールの中に ⊢ P があるときにそれをメインのゴールにします. たとえば,証明中にこれから示すべきことを明示し,コードを読みやすくする目的で使うことができます. example (hP: P) (hQ: Q) : P ∧ Q := by constructor · show P exact hP · show Q exact hQ","breadcrumbs":"show: 示すべきことを宣言 » show","id":"43","title":"show"},"44":{"body":"simp は,ターゲットを決められた規則に基づいて自動で簡約(simplify)するタクティクです.カスタマイズすることが可能で,簡約に使ってほしい命題を登録することができます. universe u v -- 圏の公理\nclass Category (C : Type u) where -- 射 Hom : C → C → Type v -- 射の合成 comp : ∀ {a b c : C}, Hom a b → Hom b c → Hom a c -- 恒等射. `id a` が `a` 上の恒等射を意味する id : ∀ (a : C), Hom a a -- 恒等射の性質 id_comp : ∀ {a b : C} (f : Hom a b), comp (id a) f = f comp_id : ∀ {a b : C} (f : Hom a b), comp f (id b) = f -- 射の結合律 assoc : ∀ {a b c d : C} (f : Hom a b) (g : Hom b c) (h : Hom c d), comp (comp f g) h = comp f (comp g h) -- `f : Hom a b`と`g : Hom b c`の合成を`f ≫ g`と書く\ninfixr:80 \" ≫ \" => Category.comp -- `Category.hoge` ではなく `hoge` で呼び出せるようにする\nopen Category -- 公理の等式が `simp` で使えるようにする\nattribute [simp] id_comp comp_id assoc -- 変数の定義\nvariable {C : Type u} [Category.{u, v} C] {a b c d e : C} example (f : Hom a b) (g : Hom b c) (h : Hom c d) (i : Hom d e) : (f ≫ (id b ≫ g)) ≫ (h ≫ i) = f ≫ (g ≫ ((id c ≫ h) ≫ i)) := by -- 上で `simp` で使えるようにした等式を使って自動で簡約する simp 既知の h: P という証明を使って簡約させたいときは,明示的に simp [h] と指定することで可能です. 何も指定しなければゴールを簡約しますが,ローカルコンテキストにある h: P を簡約させたければ simp at h と指定することで可能です.","breadcrumbs":"simp: 簡約 » simp","id":"44","title":"simp"},"45":{"body":"simp は自動的に証明を行ってくれますが,何が使われたのか知りたいときもあります.simp? は簡約に何が使われたのかを示してくれるので,rw などを用いて明示的に書き直すことができます.","breadcrumbs":"simp: 簡約 » simp?","id":"45","title":"simp?"},"46":{"body":"simp_all は simp [*] at * の強化版で,ローカルコンテキストとゴールをこれ以上簡約できなくなるまですべて簡約します.","breadcrumbs":"simp: 簡約 » simp_all","id":"46","title":"simp_all"},"47":{"body":"dsimp は,定義上(definitionally)等しいもの同士しか簡約しないという制約付きの simp です.","breadcrumbs":"simp: 簡約 » dsimp","id":"47","title":"dsimp"},"48":{"body":"証明の細部を埋める前にコンパイルが通るようにしたいとき,証明で埋めるべき箇所に sorry と書くとコンパイルが通るようになります.ただし,sorry を使用しているという旨の警告が出ます. -- Fermat の最終定理\ndef FermatLastTheorem := ∀ x y z n : Nat, n > 2 ∧ x * y * z ≠ 0 → x ^ n + y ^ n ≠ z ^ n theorem flt : FermatLastTheorem := sorry","breadcrumbs":"sorry: 証明したことにする » sorry","id":"48","title":"sorry"},"49":{"body":"suffices は,数学でよくある「~を示せば十分である」という推論を行うタクティクです. ゴールが ⊢ P であるときに suffices Q from を実行すると, suffices Q from のブロック内では,仮定に this: Q が追加され, suffices Q from 以降では,ゴールが ⊢ Q に書き換えられます. apply と似ていますが,apply と違って「十分条件になっていること」の証明が明らかでないときにも使うことができます. example (hPQ: P → Q) (hQR: Q → R) (hP: P) : R := by -- `Q` を示せば十分 suffices Q from hQR this exact hPQ hP suffices Q from ... という形式の場合は,証明を直接構成することが必要です.suffices Q from by ... とすると,タクティクによって証明を構成するモードになります.","breadcrumbs":"suffices: 十分条件に帰着 » suffices","id":"49","title":"suffices"},"5":{"body":"また,Lean では否定 ¬ P は P → False として実装されているため,ゴールが ⊢ False であるときに hn: ¬P に対して apply hn とするとゴールが ⊢ P に書き換わります. -- 矛盾\nexample (hn: ¬ P) (hP: P) : False := by -- ゴールが `P` に変わる apply hn exact hP","breadcrumbs":"apply: 含意→を使う » 否定 ¬ について","id":"5","title":"否定 ¬ について"},"50":{"body":"trivial は明らかなことを示します. trivial は,rfl や contradiction などのタクティクを実行して,現在のゴールを閉じようとします. -- 定義から明らかな等式\nexample : 1 + 1 = 2 := by trivial -- 矛盾があるので, どんな命題でも証明できる\nexample (h: False) : P := by trivial","breadcrumbs":"trivial: 自明 » trivial","id":"50","title":"trivial"},"6":{"body":"apply には引数が必須なのですが,省略しても近くにエラーが出ません.一般に,構文的に間違った証明を書いた場合には,エラーがわかりやすい場所に出てくれる保証はありません. example (h: P → Q) : ¬Q → ¬P := by -- 引数は必須なので間違っているが,エラーが近くに出ない apply -- ここにエラーが出る\nexample (hP: P) : P := by exact hP","breadcrumbs":"apply: 含意→を使う » よくあるエラー","id":"6","title":"よくあるエラー"},"7":{"body":"","breadcrumbs":"apply: 含意→を使う » 関連するタクティク","id":"7","title":"関連するタクティク"},"8":{"body":"exact の代わりに apply を使うことができます. -- `P → Q` かつ `P` ならば `Q`\nexample (h: P → Q) (hP: P) : Q := by apply h apply hP","breadcrumbs":"apply: 含意→を使う » exact","id":"8","title":"exact"},"9":{"body":"apply? は,ゴールを閉じるのに必要な命題をライブラリから検索してきて,提案してくれるタクティクです.Mathlib.Tactic.LibrarySearch に依存しています. -- 群順同型は積を保つ\nexample [Group G] [Group H] (f : G →* H) (a b : G) : f (a * b) = f a * f b := by -- `exact MonoidHom.map_mul f a b` を提案してくれる apply? 複数の候補が提案されたときは,どれを選ぶとゴールが何に変わるのか表示されるので,その中から好ましいものを選ぶと良いでしょう.","breadcrumbs":"apply?: ライブラリ検索 » apply?","id":"9","title":"apply?"}},"length":51,"save":true},"fields":["title","body","breadcrumbs"],"index":{"body":{"root":{"0":{"df":4,"docs":{"23":{"tf":1.7320508075688772},"35":{"tf":2.0},"36":{"tf":1.0},"48":{"tf":1.0}}},"1":{"0":{"0":{"df":1,"docs":{"41":{"tf":1.0}}},"df":0,"docs":{}},"df":6,"docs":{"23":{"tf":2.449489742783178},"28":{"tf":1.0},"35":{"tf":2.0},"37":{"tf":2.449489742783178},"40":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951}}},"2":{"df":8,"docs":{"24":{"tf":1.4142135623730951},"28":{"tf":1.0},"30":{"tf":1.4142135623730951},"34":{"tf":1.7320508075688772},"40":{"tf":1.0},"41":{"tf":2.8284271247461903},"48":{"tf":1.0},"50":{"tf":1.0}}},"3":{"df":3,"docs":{"24":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.4142135623730951}}},"7":{"df":1,"docs":{"28":{"tf":1.0}}},"_":{"df":2,"docs":{"10":{"tf":1.0},"33":{"tf":1.0}}},"a":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":3,"docs":{"2":{"tf":2.0},"29":{"tf":1.0},"3":{"tf":2.0}}}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":10,"docs":{"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"3":{"tf":1.0},"39":{"tf":1.0},"4":{"tf":2.23606797749979},"49":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":6,"docs":{"10":{"tf":1.7320508075688772},"12":{"tf":1.0},"13":{"tf":1.0},"33":{"tf":1.0},"37":{"tf":1.0},"39":{"tf":1.4142135623730951}}}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"b":{"`":{"df":0,"docs":{},"と":{"`":{"df":0,"docs":{},"g":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":0,"docs":{}}},"df":4,"docs":{"29":{"tf":2.23606797749979},"42":{"tf":2.449489742783178},"44":{"tf":4.0},"9":{"tf":2.0}},"y":{"_":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"13":{"tf":2.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"14":{"tf":2.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"c":{"`":{"df":0,"docs":{},"の":{"df":0,"docs":{},"合":{"df":0,"docs":{},"成":{"df":0,"docs":{},"を":{"`":{"df":0,"docs":{},"f":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"l":{"c":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":5,"docs":{"13":{"tf":1.4142135623730951},"18":{"tf":2.8284271247461903},"19":{"tf":2.449489742783178},"20":{"tf":1.7320508075688772},"21":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}},"y":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"44":{"tf":1.0}}}}},"{":{"df":0,"docs":{},"u":{"df":1,"docs":{"44":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"df":2,"docs":{"42":{"tf":1.7320508075688772},"44":{"tf":4.58257569495584}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"44":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":1,"docs":{"44":{"tf":2.6457513110645907}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"22":{"tf":1.7320508075688772},"23":{"tf":1.4142135623730951},"43":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"r":{"a":{"d":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"13":{"tf":1.0},"14":{"tf":1.0},"24":{"tf":2.449489742783178},"38":{"tf":1.0},"50":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"v":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}}},"d":{"df":2,"docs":{"42":{"tf":1.7320508075688772},"44":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"f":{"df":3,"docs":{"30":{"tf":1.4142135623730951},"35":{"tf":1.0},"48":{"tf":1.0}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"26":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":2,"docs":{"30":{"tf":1.0},"47":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"e":{"df":2,"docs":{"42":{"tf":1.7320508075688772},"44":{"tf":1.4142135623730951}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":17,"docs":{"12":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.7320508075688772},"27":{"tf":2.23606797749979},"31":{"tf":1.4142135623730951},"37":{"tf":1.0},"4":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"49":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":38,"docs":{"10":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":2.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.4142135623730951},"38":{"tf":1.0},"39":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"40":{"tf":1.7320508075688772},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":2.0},"34":{"tf":1.0}}}}},"t":{"df":1,"docs":{"29":{"tf":1.7320508075688772}}}}},"f":{"a":{"c":{"df":2,"docs":{"35":{"tf":2.6457513110645907},"36":{"tf":1.7320508075688772}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":5,"docs":{"14":{"tf":1.0},"24":{"tf":1.4142135623730951},"38":{"tf":1.7320508075688772},"5":{"tf":1.7320508075688772},"50":{"tf":1.0}}}}},"df":6,"docs":{"2":{"tf":2.23606797749979},"3":{"tf":1.7320508075688772},"30":{"tf":2.449489742783178},"42":{"tf":1.7320508075688772},"44":{"tf":3.605551275463989},"9":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"tf":1.0}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"48":{"tf":1.4142135623730951}}}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":3,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"30":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":1.7320508075688772}}}}}}}},"g":{"df":5,"docs":{"2":{"tf":1.7320508075688772},"3":{"tf":1.4142135623730951},"30":{"tf":2.449489742783178},"44":{"tf":2.6457513110645907},"9":{"tf":1.7320508075688772}},"o":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}}}}},"h":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}}}},"1":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}},"a":{"b":{"df":1,"docs":{"42":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":19,"docs":{"13":{"tf":1.0},"14":{"tf":2.0},"15":{"tf":1.4142135623730951},"18":{"tf":2.23606797749979},"19":{"tf":1.7320508075688772},"20":{"tf":1.4142135623730951},"21":{"tf":2.449489742783178},"22":{"tf":1.4142135623730951},"24":{"tf":1.7320508075688772},"31":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"38":{"tf":1.7320508075688772},"4":{"tf":2.8284271247461903},"42":{"tf":2.449489742783178},"44":{"tf":3.1622776601683795},"50":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"g":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"j":{"df":2,"docs":{"2":{"tf":1.0},"3":{"tf":1.4142135623730951}}}}}}},"n":{"df":1,"docs":{"5":{"tf":2.0}},"n":{"df":0,"docs":{},"p":{"df":1,"docs":{"13":{"tf":1.0}}}},"p":{"df":1,"docs":{"24":{"tf":1.0}}},"q":{"df":2,"docs":{"14":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":1,"docs":{"44":{"tf":1.0}}}},"m":{"df":1,"docs":{"44":{"tf":4.0}}}},"p":{"df":23,"docs":{"10":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":2.0},"16":{"tf":2.0},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":2.23606797749979},"22":{"tf":1.4142135623730951},"24":{"tf":1.0},"27":{"tf":2.8284271247461903},"31":{"tf":1.7320508075688772},"33":{"tf":1.0},"37":{"tf":1.7320508075688772},"38":{"tf":2.0},"39":{"tf":1.4142135623730951},"4":{"tf":2.23606797749979},"43":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}},"q":{"df":7,"docs":{"15":{"tf":2.0},"16":{"tf":1.7320508075688772},"31":{"tf":1.7320508075688772},"33":{"tf":1.4142135623730951},"37":{"tf":1.7320508075688772},"42":{"tf":2.0},"49":{"tf":1.4142135623730951}}},"r":{"df":4,"docs":{"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951}}}},"q":{"df":11,"docs":{"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":2.23606797749979},"22":{"tf":1.4142135623730951},"27":{"tf":1.7320508075688772},"31":{"tf":1.7320508075688772},"33":{"tf":1.0},"37":{"tf":1.7320508075688772},"38":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951}},"r":{"df":9,"docs":{"15":{"tf":2.0},"16":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"31":{"tf":1.7320508075688772},"37":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951}}}},"x":{"df":2,"docs":{"23":{"tf":1.4142135623730951},"34":{"tf":2.0}}},"y":{"df":1,"docs":{"34":{"tf":1.4142135623730951}},"p":{"df":1,"docs":{"37":{"tf":1.0}}}}},"i":{"d":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":1,"docs":{"44":{"tf":2.449489742783178}}},"df":0,"docs":{},"h":{"df":2,"docs":{"35":{"tf":1.0},"36":{"tf":1.7320508075688772}}},"n":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"35":{"tf":2.23606797749979},"36":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":0,"docs":{},"r":{":":{"8":{"0":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"2":{"tf":1.7320508075688772},"3":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"l":{"df":3,"docs":{"13":{"tf":1.0},"18":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951}}},"r":{"df":3,"docs":{"13":{"tf":1.0},"18":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":15,"docs":{"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.4142135623730951},"23":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":1.0},"31":{"tf":1.0},"37":{"tf":2.6457513110645907},"38":{"tf":1.7320508075688772}}}}}}},"k":{"df":1,"docs":{"36":{"tf":1.4142135623730951}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"4":{"df":3,"docs":{"0":{"tf":1.0},"17":{"tf":1.0},"25":{"tf":1.0}}},"df":5,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"35":{"tf":1.0},"38":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":3,"docs":{"18":{"tf":1.0},"22":{"tf":1.0},"39":{"tf":2.0}}}}}},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"d":{"a":{"df":0,"docs":{},"t":{"a":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{".":{"b":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{".":{"c":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"20":{"tf":1.0},"36":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}}}}}}}}},"r":{"df":1,"docs":{"41":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"4":{"df":2,"docs":{"0":{"tf":1.0},"39":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"n":{"a":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"_":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":10,"docs":{"23":{"tf":1.0},"24":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.4142135623730951},"35":{"tf":2.8284271247461903},"36":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0},"48":{"tf":1.0}}}},"df":4,"docs":{"35":{"tf":3.872983346207417},"36":{"tf":1.7320508075688772},"37":{"tf":1.7320508075688772},"48":{"tf":2.23606797749979}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}}}},"r":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"l":{"df":1,"docs":{"39":{"tf":1.4142135623730951}}},"r":{"df":1,"docs":{"39":{"tf":1.0}}}}}},"df":0,"docs":{}}},"p":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"37":{"tf":1.0}}}},"df":31,"docs":{"10":{"tf":1.7320508075688772},"13":{"tf":3.0},"14":{"tf":2.6457513110645907},"15":{"tf":2.8284271247461903},"16":{"tf":1.4142135623730951},"18":{"tf":2.449489742783178},"19":{"tf":1.7320508075688772},"20":{"tf":1.4142135623730951},"21":{"tf":3.0},"22":{"tf":3.0},"23":{"tf":1.0},"24":{"tf":2.6457513110645907},"27":{"tf":2.449489742783178},"28":{"tf":1.7320508075688772},"31":{"tf":3.0},"33":{"tf":2.23606797749979},"34":{"tf":1.4142135623730951},"35":{"tf":2.0},"37":{"tf":4.242640687119285},"38":{"tf":3.3166247903554},"39":{"tf":2.449489742783178},"4":{"tf":3.605551275463989},"40":{"tf":1.7320508075688772},"42":{"tf":1.7320508075688772},"43":{"tf":2.23606797749979},"44":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772},"5":{"tf":2.6457513110645907},"50":{"tf":1.0},"6":{"tf":2.0},"8":{"tf":2.0}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"35":{"tf":1.0},"36":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":4,"docs":{"13":{"tf":1.0},"21":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"17":{"tf":1.0},"25":{"tf":1.0}}}}}}},"q":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"37":{"tf":1.0}}}},"df":24,"docs":{"10":{"tf":1.0},"14":{"tf":2.23606797749979},"15":{"tf":2.0},"16":{"tf":1.4142135623730951},"18":{"tf":2.449489742783178},"19":{"tf":1.7320508075688772},"20":{"tf":1.4142135623730951},"21":{"tf":3.0},"22":{"tf":2.8284271247461903},"23":{"tf":1.0},"24":{"tf":1.0},"27":{"tf":1.4142135623730951},"31":{"tf":2.6457513110645907},"33":{"tf":2.23606797749979},"35":{"tf":2.0},"37":{"tf":3.605551275463989},"38":{"tf":3.0},"39":{"tf":2.0},"4":{"tf":3.4641016151377544},"42":{"tf":1.4142135623730951},"43":{"tf":1.7320508075688772},"49":{"tf":3.3166247903554},"6":{"tf":1.4142135623730951},"8":{"tf":2.0}}},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"21":{"tf":2.0}}}}},"df":0,"docs":{}},"df":9,"docs":{"15":{"tf":2.449489742783178},"16":{"tf":1.4142135623730951},"18":{"tf":1.7320508075688772},"19":{"tf":1.7320508075688772},"20":{"tf":1.7320508075688772},"21":{"tf":2.0},"31":{"tf":2.23606797749979},"37":{"tf":2.23606797749979},"49":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"l":{"df":2,"docs":{"40":{"tf":2.23606797749979},"50":{"tf":1.0}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":3,"docs":{"18":{"tf":1.0},"22":{"tf":1.0},"39":{"tf":1.7320508075688772}}}}},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"30":{"tf":1.0},"34":{"tf":1.0},"41":{"tf":2.23606797749979}}}}},"w":{"df":7,"docs":{"2":{"tf":1.0},"23":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.0},"37":{"tf":1.0},"42":{"tf":3.4641016151377544},"45":{"tf":1.0}}}},"s":{"df":1,"docs":{"29":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"41":{"tf":1.4142135623730951}}}}}}},"df":1,"docs":{"43":{"tf":2.0}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"_":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"23":{"tf":1.0},"3":{"tf":1.0},"46":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":8,"docs":{"2":{"tf":1.0},"35":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"41":{"tf":1.0},"44":{"tf":2.8284271247461903},"45":{"tf":1.4142135623730951},"46":{"tf":1.0},"47":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":2.0}}}}}},"t":{"d":{".":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}}},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"c":{"c":{"df":1,"docs":{"35":{"tf":2.6457513110645907}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"49":{"tf":2.6457513110645907}}},"df":0,"docs":{}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"29":{"tf":2.449489742783178}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":3,"docs":{"17":{"tf":1.0},"25":{"tf":1.0},"48":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}},"v":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":2.23606797749979}}}},"df":0,"docs":{}}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":2,"docs":{"29":{"tf":1.0},"44":{"tf":1.7320508075688772}}}}}},"u":{"df":1,"docs":{"44":{"tf":1.7320508075688772}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"44":{"tf":1.0}}}}}}}}},"v":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"21":{"tf":1.0},"29":{"tf":1.4142135623730951},"44":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"44":{"tf":1.7320508075688772}}},"x":{"`":{"df":0,"docs":{},"が":{"df":0,"docs":{},"偶":{"df":0,"docs":{},"数":{"df":0,"docs":{},"の":{"df":0,"docs":{},"と":{"df":0,"docs":{},"き":{"`":{"3":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":12,"docs":{"2":{"tf":1.0},"23":{"tf":2.6457513110645907},"24":{"tf":1.7320508075688772},"28":{"tf":3.3166247903554},"29":{"tf":2.6457513110645907},"3":{"tf":1.0},"30":{"tf":3.872983346207417},"34":{"tf":3.4641016151377544},"37":{"tf":2.449489742783178},"40":{"tf":1.7320508075688772},"41":{"tf":2.449489742783178},"48":{"tf":1.7320508075688772}}},"y":{"df":6,"docs":{"2":{"tf":1.4142135623730951},"3":{"tf":1.4142135623730951},"34":{"tf":2.449489742783178},"37":{"tf":3.0},"41":{"tf":2.449489742783178},"48":{"tf":1.7320508075688772}}},"z":{"df":4,"docs":{"2":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.4142135623730951},"48":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"35":{"tf":1.7320508075688772}}}}}}}},"breadcrumbs":{"root":{"0":{"df":4,"docs":{"23":{"tf":1.7320508075688772},"35":{"tf":2.0},"36":{"tf":1.0},"48":{"tf":1.0}}},"1":{"0":{"0":{"df":1,"docs":{"41":{"tf":1.0}}},"df":0,"docs":{}},"df":6,"docs":{"23":{"tf":2.449489742783178},"28":{"tf":1.0},"35":{"tf":2.0},"37":{"tf":2.449489742783178},"40":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951}}},"2":{"df":8,"docs":{"24":{"tf":1.4142135623730951},"28":{"tf":1.0},"30":{"tf":1.4142135623730951},"34":{"tf":1.7320508075688772},"40":{"tf":1.0},"41":{"tf":2.8284271247461903},"48":{"tf":1.0},"50":{"tf":1.0}}},"3":{"df":3,"docs":{"24":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.4142135623730951}}},"7":{"df":1,"docs":{"28":{"tf":1.0}}},"_":{"df":2,"docs":{"10":{"tf":1.0},"33":{"tf":1.0}}},"a":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":3,"docs":{"2":{"tf":2.449489742783178},"29":{"tf":1.0},"3":{"tf":2.449489742783178}}}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":11,"docs":{"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"3":{"tf":1.0},"39":{"tf":1.0},"4":{"tf":2.6457513110645907},"49":{"tf":1.4142135623730951},"5":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"7":{"tf":1.0},"8":{"tf":2.0},"9":{"tf":2.23606797749979}}}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":7,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"13":{"tf":1.0},"33":{"tf":1.0},"37":{"tf":1.0},"39":{"tf":1.4142135623730951}}}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"b":{"`":{"df":0,"docs":{},"と":{"`":{"df":0,"docs":{},"g":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":0,"docs":{}}},"df":4,"docs":{"29":{"tf":2.23606797749979},"42":{"tf":2.449489742783178},"44":{"tf":4.0},"9":{"tf":2.0}},"y":{"_":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"13":{"tf":2.449489742783178}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"14":{"tf":2.449489742783178}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"c":{"`":{"df":0,"docs":{},"の":{"df":0,"docs":{},"合":{"df":0,"docs":{},"成":{"df":0,"docs":{},"を":{"`":{"df":0,"docs":{},"f":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"l":{"c":{"df":1,"docs":{"17":{"tf":2.0}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":5,"docs":{"13":{"tf":1.4142135623730951},"18":{"tf":3.1622776601683795},"19":{"tf":2.8284271247461903},"20":{"tf":2.23606797749979},"21":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}},"y":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"44":{"tf":1.0}}}}},"{":{"df":0,"docs":{},"u":{"df":1,"docs":{"44":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"df":2,"docs":{"42":{"tf":1.7320508075688772},"44":{"tf":4.58257569495584}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"44":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":1,"docs":{"44":{"tf":2.6457513110645907}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"22":{"tf":2.23606797749979},"23":{"tf":1.7320508075688772},"43":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"r":{"a":{"d":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"13":{"tf":1.0},"14":{"tf":1.0},"24":{"tf":2.8284271247461903},"38":{"tf":1.0},"50":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"v":{"df":1,"docs":{"25":{"tf":2.0}}}}}},"d":{"df":2,"docs":{"42":{"tf":1.7320508075688772},"44":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"f":{"df":3,"docs":{"30":{"tf":1.4142135623730951},"35":{"tf":1.0},"48":{"tf":1.0}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"26":{"tf":2.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":2,"docs":{"30":{"tf":1.0},"47":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{},"e":{"df":2,"docs":{"42":{"tf":1.7320508075688772},"44":{"tf":1.4142135623730951}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":17,"docs":{"12":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.7320508075688772},"27":{"tf":2.6457513110645907},"31":{"tf":1.4142135623730951},"37":{"tf":1.0},"4":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"49":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":38,"docs":{"10":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":2.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.4142135623730951},"38":{"tf":1.0},"39":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"40":{"tf":1.7320508075688772},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":2.449489742783178},"34":{"tf":1.0}}}}},"t":{"df":1,"docs":{"29":{"tf":2.23606797749979}}}}},"f":{"a":{"c":{"df":2,"docs":{"35":{"tf":2.6457513110645907},"36":{"tf":1.7320508075688772}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":5,"docs":{"14":{"tf":1.0},"24":{"tf":1.4142135623730951},"38":{"tf":1.7320508075688772},"5":{"tf":1.7320508075688772},"50":{"tf":1.0}}}}},"df":6,"docs":{"2":{"tf":2.23606797749979},"3":{"tf":1.7320508075688772},"30":{"tf":2.449489742783178},"42":{"tf":1.7320508075688772},"44":{"tf":3.605551275463989},"9":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"tf":1.0}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"48":{"tf":1.4142135623730951}}}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":3,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"30":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":2.23606797749979}}}}}}}},"g":{"df":5,"docs":{"2":{"tf":1.7320508075688772},"3":{"tf":1.4142135623730951},"30":{"tf":2.449489742783178},"44":{"tf":2.6457513110645907},"9":{"tf":1.7320508075688772}},"o":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}}}}},"h":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}}}},"1":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}},"a":{"b":{"df":1,"docs":{"42":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":19,"docs":{"13":{"tf":1.0},"14":{"tf":2.0},"15":{"tf":1.4142135623730951},"18":{"tf":2.23606797749979},"19":{"tf":1.7320508075688772},"20":{"tf":1.4142135623730951},"21":{"tf":2.449489742783178},"22":{"tf":1.4142135623730951},"24":{"tf":1.7320508075688772},"31":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"38":{"tf":1.7320508075688772},"4":{"tf":2.8284271247461903},"42":{"tf":2.449489742783178},"44":{"tf":3.1622776601683795},"50":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"g":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"j":{"df":2,"docs":{"2":{"tf":1.0},"3":{"tf":1.4142135623730951}}}}}}},"n":{"df":1,"docs":{"5":{"tf":2.0}},"n":{"df":0,"docs":{},"p":{"df":1,"docs":{"13":{"tf":1.0}}}},"p":{"df":1,"docs":{"24":{"tf":1.0}}},"q":{"df":2,"docs":{"14":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":1,"docs":{"44":{"tf":1.0}}}},"m":{"df":1,"docs":{"44":{"tf":4.0}}}},"p":{"df":23,"docs":{"10":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":2.0},"16":{"tf":2.0},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":2.23606797749979},"22":{"tf":1.4142135623730951},"24":{"tf":1.0},"27":{"tf":2.8284271247461903},"31":{"tf":1.7320508075688772},"33":{"tf":1.0},"37":{"tf":1.7320508075688772},"38":{"tf":2.0},"39":{"tf":1.4142135623730951},"4":{"tf":2.23606797749979},"43":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}},"q":{"df":7,"docs":{"15":{"tf":2.0},"16":{"tf":1.7320508075688772},"31":{"tf":1.7320508075688772},"33":{"tf":1.4142135623730951},"37":{"tf":1.7320508075688772},"42":{"tf":2.0},"49":{"tf":1.4142135623730951}}},"r":{"df":4,"docs":{"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951}}}},"q":{"df":11,"docs":{"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":2.23606797749979},"22":{"tf":1.4142135623730951},"27":{"tf":1.7320508075688772},"31":{"tf":1.7320508075688772},"33":{"tf":1.0},"37":{"tf":1.7320508075688772},"38":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951}},"r":{"df":9,"docs":{"15":{"tf":2.0},"16":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"31":{"tf":1.7320508075688772},"37":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951}}}},"x":{"df":2,"docs":{"23":{"tf":1.4142135623730951},"34":{"tf":2.0}}},"y":{"df":1,"docs":{"34":{"tf":1.4142135623730951}},"p":{"df":1,"docs":{"37":{"tf":1.0}}}}},"i":{"d":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":1,"docs":{"44":{"tf":2.449489742783178}}},"df":0,"docs":{},"h":{"df":2,"docs":{"35":{"tf":1.0},"36":{"tf":1.7320508075688772}}},"n":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"35":{"tf":2.6457513110645907},"36":{"tf":2.23606797749979}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":0,"docs":{},"r":{":":{"8":{"0":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"2":{"tf":1.7320508075688772},"3":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"l":{"df":3,"docs":{"13":{"tf":1.0},"18":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951}}},"r":{"df":3,"docs":{"13":{"tf":1.0},"18":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":15,"docs":{"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.4142135623730951},"23":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":1.0},"31":{"tf":1.0},"37":{"tf":3.0},"38":{"tf":2.0}}}}}}},"k":{"df":1,"docs":{"36":{"tf":1.4142135623730951}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"4":{"df":4,"docs":{"0":{"tf":1.7320508075688772},"1":{"tf":1.0},"17":{"tf":1.0},"25":{"tf":1.0}}},"df":5,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"35":{"tf":1.0},"38":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":3,"docs":{"18":{"tf":1.0},"22":{"tf":1.0},"39":{"tf":2.449489742783178}}}}}},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"d":{"a":{"df":0,"docs":{},"t":{"a":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{".":{"b":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{".":{"c":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"20":{"tf":1.0},"36":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}}}}}}}}},"r":{"df":1,"docs":{"41":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"4":{"df":2,"docs":{"0":{"tf":1.0},"39":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"n":{"a":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"_":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":10,"docs":{"23":{"tf":1.0},"24":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.4142135623730951},"35":{"tf":2.8284271247461903},"36":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0},"48":{"tf":1.0}}}},"df":4,"docs":{"35":{"tf":3.872983346207417},"36":{"tf":1.7320508075688772},"37":{"tf":1.7320508075688772},"48":{"tf":2.23606797749979}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}}}},"r":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"l":{"df":1,"docs":{"39":{"tf":1.4142135623730951}}},"r":{"df":1,"docs":{"39":{"tf":1.0}}}}}},"df":0,"docs":{}}},"p":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"37":{"tf":1.0}}}},"df":31,"docs":{"10":{"tf":1.7320508075688772},"13":{"tf":3.0},"14":{"tf":2.6457513110645907},"15":{"tf":2.8284271247461903},"16":{"tf":1.4142135623730951},"18":{"tf":2.449489742783178},"19":{"tf":1.7320508075688772},"20":{"tf":1.4142135623730951},"21":{"tf":3.0},"22":{"tf":3.0},"23":{"tf":1.0},"24":{"tf":2.6457513110645907},"27":{"tf":2.449489742783178},"28":{"tf":1.7320508075688772},"31":{"tf":3.0},"33":{"tf":2.23606797749979},"34":{"tf":1.4142135623730951},"35":{"tf":2.0},"37":{"tf":4.242640687119285},"38":{"tf":3.3166247903554},"39":{"tf":2.449489742783178},"4":{"tf":3.605551275463989},"40":{"tf":1.7320508075688772},"42":{"tf":1.7320508075688772},"43":{"tf":2.23606797749979},"44":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772},"5":{"tf":2.6457513110645907},"50":{"tf":1.0},"6":{"tf":2.0},"8":{"tf":2.0}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"35":{"tf":1.0},"36":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":4,"docs":{"13":{"tf":1.0},"21":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"17":{"tf":1.0},"25":{"tf":1.0}}}}}}},"q":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"37":{"tf":1.0}}}},"df":24,"docs":{"10":{"tf":1.0},"14":{"tf":2.23606797749979},"15":{"tf":2.0},"16":{"tf":1.4142135623730951},"18":{"tf":2.449489742783178},"19":{"tf":1.7320508075688772},"20":{"tf":1.4142135623730951},"21":{"tf":3.0},"22":{"tf":2.8284271247461903},"23":{"tf":1.0},"24":{"tf":1.0},"27":{"tf":1.4142135623730951},"31":{"tf":2.6457513110645907},"33":{"tf":2.23606797749979},"35":{"tf":2.0},"37":{"tf":3.605551275463989},"38":{"tf":3.0},"39":{"tf":2.0},"4":{"tf":3.4641016151377544},"42":{"tf":1.4142135623730951},"43":{"tf":1.7320508075688772},"49":{"tf":3.3166247903554},"6":{"tf":1.4142135623730951},"8":{"tf":2.0}}},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"21":{"tf":2.23606797749979}}}}},"df":0,"docs":{}},"df":9,"docs":{"15":{"tf":2.449489742783178},"16":{"tf":1.4142135623730951},"18":{"tf":1.7320508075688772},"19":{"tf":1.7320508075688772},"20":{"tf":1.7320508075688772},"21":{"tf":2.0},"31":{"tf":2.23606797749979},"37":{"tf":2.23606797749979},"49":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"l":{"df":2,"docs":{"40":{"tf":2.6457513110645907},"50":{"tf":1.0}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":3,"docs":{"18":{"tf":1.0},"22":{"tf":1.0},"39":{"tf":2.23606797749979}}}}},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"30":{"tf":1.0},"34":{"tf":1.0},"41":{"tf":2.6457513110645907}}}}},"w":{"df":7,"docs":{"2":{"tf":1.0},"23":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.0},"37":{"tf":1.0},"42":{"tf":3.7416573867739413},"45":{"tf":1.0}}}},"s":{"df":1,"docs":{"29":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"41":{"tf":1.4142135623730951}}}}}}},"df":1,"docs":{"43":{"tf":2.449489742783178}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"_":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"23":{"tf":1.0},"3":{"tf":1.0},"46":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":8,"docs":{"2":{"tf":1.0},"35":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"41":{"tf":1.0},"44":{"tf":3.1622776601683795},"45":{"tf":2.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":2.449489742783178}}}}}},"t":{"d":{".":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}}},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"c":{"c":{"df":1,"docs":{"35":{"tf":2.6457513110645907}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"49":{"tf":3.0}}},"df":0,"docs":{}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"29":{"tf":2.449489742783178}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":3,"docs":{"17":{"tf":1.0},"25":{"tf":1.0},"48":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}},"v":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":2.6457513110645907}}}},"df":0,"docs":{}}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":2,"docs":{"29":{"tf":1.0},"44":{"tf":1.7320508075688772}}}}}},"u":{"df":1,"docs":{"44":{"tf":1.7320508075688772}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"44":{"tf":1.0}}}}}}}}},"v":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"21":{"tf":1.0},"29":{"tf":1.4142135623730951},"44":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"44":{"tf":1.7320508075688772}}},"x":{"`":{"df":0,"docs":{},"が":{"df":0,"docs":{},"偶":{"df":0,"docs":{},"数":{"df":0,"docs":{},"の":{"df":0,"docs":{},"と":{"df":0,"docs":{},"き":{"`":{"3":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":12,"docs":{"2":{"tf":1.0},"23":{"tf":2.6457513110645907},"24":{"tf":1.7320508075688772},"28":{"tf":3.3166247903554},"29":{"tf":2.6457513110645907},"3":{"tf":1.0},"30":{"tf":3.872983346207417},"34":{"tf":3.4641016151377544},"37":{"tf":2.449489742783178},"40":{"tf":1.7320508075688772},"41":{"tf":2.449489742783178},"48":{"tf":1.7320508075688772}}},"y":{"df":6,"docs":{"2":{"tf":1.4142135623730951},"3":{"tf":1.4142135623730951},"34":{"tf":2.449489742783178},"37":{"tf":3.0},"41":{"tf":2.449489742783178},"48":{"tf":1.7320508075688772}}},"z":{"df":4,"docs":{"2":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.4142135623730951},"48":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"35":{"tf":1.7320508075688772}}}}}}}},"title":{"root":{"a":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":2,"docs":{"2":{"tf":1.0},"3":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"4":{"tf":1.0},"9":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}}}}}}},"b":{"df":0,"docs":{},"y":{"_":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"l":{"c":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":3,"docs":{"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"r":{"a":{"d":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"24":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"v":{"df":1,"docs":{"25":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"26":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"47":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"12":{"tf":1.0},"27":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":1.0}}}}},"t":{"df":1,"docs":{"29":{"tf":1.0}}}}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"35":{"tf":1.0},"36":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"37":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"4":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}}}},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"21":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":1,"docs":{"40":{"tf":1.0}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"41":{"tf":1.0}}}}},"w":{"df":1,"docs":{"42":{"tf":1.0}}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"43":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"_":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"44":{"tf":1.0},"45":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}},"lang":"English","pipeline":["trimmer","stopWordFilter","stemmer"],"ref":"id","version":"0.9.5"},"results_options":{"limit_results":30,"teaser_word_count":30},"search_options":{"bool":"OR","expand":true,"fields":{"body":{"boost":1},"breadcrumbs":{"boost":1},"title":{"boost":2}}}} \ No newline at end of file +{"doc_urls":["index.html#lean4-タクティク逆引きリスト","index.html#謝辞","aesop.html#aesop","aesop.html#aesop-1","apply.html#apply","apply.html#否定--について","apply.html#よくあるエラー","apply.html#関連するタクティク","apply.html#exact","apply_question.html#apply","assumption.html#assumption","assumption.html#関連するタクティク","assumption.html#exact","by_cases.html#by_cases","by_contra.html#by_contra","by.html#by","by.html#by-1","calc.html#calc","cases.html#cases","cases.html#case-を書かない","cases.html#cases-1","cases.html#rcases","constructor.html#constructor","constructor.html#同値を示す","contradiction.html#contradiction","conv.html#conv","done.html#done","exact.html#exact","exists.html#exists","ext.html#ext","funext.html#funext","have.html#have","have.html#パターンマッチ","have.html#論理積-","have.html#存在-","induction.html#induction","induction.html#induction-1","intro.html#intro","intro.html#否定--について","left_right.html#left-right","rfl.html#rfl","ring.html#ring","rw.html#rw","show.html#show","simp.html#simp","simp.html#simp-1","simp.html#simp_all","simp.html#dsimp","sorry.html#sorry","suffices.html#suffices","trivial.html#trivial"],"index":{"documentStore":{"docInfo":{"0":{"body":3,"breadcrumbs":2,"title":1},"1":{"body":1,"breadcrumbs":1,"title":0},"10":{"body":9,"breadcrumbs":2,"title":1},"11":{"body":0,"breadcrumbs":1,"title":0},"12":{"body":2,"breadcrumbs":2,"title":1},"13":{"body":24,"breadcrumbs":2,"title":1},"14":{"body":29,"breadcrumbs":2,"title":1},"15":{"body":37,"breadcrumbs":0,"title":0},"16":{"body":24,"breadcrumbs":0,"title":0},"17":{"body":4,"breadcrumbs":2,"title":1},"18":{"body":49,"breadcrumbs":2,"title":1},"19":{"body":33,"breadcrumbs":2,"title":1},"2":{"body":25,"breadcrumbs":2,"title":1},"20":{"body":26,"breadcrumbs":2,"title":1},"21":{"body":58,"breadcrumbs":2,"title":1},"22":{"body":36,"breadcrumbs":2,"title":1},"23":{"body":27,"breadcrumbs":1,"title":0},"24":{"body":31,"breadcrumbs":2,"title":1},"25":{"body":4,"breadcrumbs":2,"title":1},"26":{"body":1,"breadcrumbs":2,"title":1},"27":{"body":25,"breadcrumbs":2,"title":1},"28":{"body":23,"breadcrumbs":2,"title":1},"29":{"body":37,"breadcrumbs":2,"title":1},"3":{"body":23,"breadcrumbs":2,"title":1},"30":{"body":40,"breadcrumbs":2,"title":1},"31":{"body":39,"breadcrumbs":0,"title":0},"32":{"body":0,"breadcrumbs":0,"title":0},"33":{"body":17,"breadcrumbs":0,"title":0},"34":{"body":38,"breadcrumbs":0,"title":0},"35":{"body":67,"breadcrumbs":2,"title":1},"36":{"body":22,"breadcrumbs":2,"title":1},"37":{"body":90,"breadcrumbs":2,"title":1},"38":{"body":40,"breadcrumbs":1,"title":0},"39":{"body":29,"breadcrumbs":4,"title":2},"4":{"body":47,"breadcrumbs":2,"title":1},"40":{"body":18,"breadcrumbs":2,"title":1},"41":{"body":33,"breadcrumbs":2,"title":1},"42":{"body":55,"breadcrumbs":2,"title":1},"43":{"body":19,"breadcrumbs":2,"title":1},"44":{"body":142,"breadcrumbs":2,"title":1},"45":{"body":2,"breadcrumbs":2,"title":1},"46":{"body":2,"breadcrumbs":2,"title":1},"47":{"body":2,"breadcrumbs":2,"title":1},"48":{"body":26,"breadcrumbs":2,"title":1},"49":{"body":32,"breadcrumbs":2,"title":1},"5":{"body":21,"breadcrumbs":1,"title":0},"50":{"body":14,"breadcrumbs":2,"title":1},"6":{"body":14,"breadcrumbs":1,"title":0},"7":{"body":0,"breadcrumbs":1,"title":0},"8":{"body":17,"breadcrumbs":2,"title":1},"9":{"body":24,"breadcrumbs":2,"title":1}},"docs":{"0":{"body":"「普段の数学を Lean でどうやって実現するんだろう」という疑問に答えるために,よく使うタクティクをユースケースから逆引きできるようにまとめたリストです. 全タクティクのリストが必要な場合は, mathlib4-all-tactics をご参照ください.","breadcrumbs":"Lean4 タクティク逆引きリスト » Lean4 タクティク逆引きリスト","id":"0","title":"Lean4 タクティク逆引きリスト"},"1":{"body":"数学系のためのLean勉強会 からいくつかコード例を拝借させていただきました.ありがとうございます.","breadcrumbs":"Lean4 タクティク逆引きリスト » 謝辞","id":"1","title":"謝辞"},"10":{"body":"assumption は,現在のゴール ⊢ P がローカルコンテキストにあるとき,ゴールを閉じます. example (hP: P) (_: Q) : P := by assumption","breadcrumbs":"assumption: 仮定をそのまま使う » assumption","id":"10","title":"assumption"},"11":{"body":"","breadcrumbs":"assumption: 仮定をそのまま使う » 関連するタクティク","id":"11","title":"関連するタクティク"},"12":{"body":"assumption による証明は,どの仮定を使うか明示すれば exact で書き直すことができます.","breadcrumbs":"assumption: 仮定をそのまま使う » exact","id":"12","title":"exact"},"13":{"body":"by_cases は排中律を使って場合分けをするタクティクです. by_cases h: P とすると,P が成り立つときと成り立たないときのゴールがそれぞれ生成されます. example (P: Prop) : ¬¬P → P := by intro hnnP -- `P` が成り立つかどうかで場合分けする by_cases hP: P case inl => -- `P` が成り立つとき assumption case inr => -- `P` が成り立たないとき contradiction","breadcrumbs":"by_cases: 排中律 » by_cases","id":"13","title":"by_cases"},"14":{"body":"needs: import Mathlib.Tactic.ByContra by_contra は,背理法を使いたいときに役立つタクティクです. ゴールが ⊢ P であるときに by_contra h を実行すると,h : ¬ P がローカルコンテキストに追加されて,同時にゴールが ⊢ False になります. example (h: ¬Q → ¬P) : P → Q := by -- `P` であると仮定する intro hP -- `¬Q` であると仮定する by_contra hnQ -- `¬ Q → ¬ P` と `¬Q` から `¬P` が導かれる have := h hnQ -- これは仮定に矛盾 contradiction","breadcrumbs":"by_contra: 背理法 » by_contra","id":"14","title":"by_contra"},"15":{"body":"型理論においては,命題 P は型で,証明 h : P はその項です.証明を構成するとは項 h を構成するということです.by は,証明の構成をタクティクで行いたいときに使います. -- `P → R` というのは `P` の証明を与えられたときに `R` の証明を返す関数の型\n-- したがって,その証明は関数となる\nexample (hPQ : P → Q) (hQR : Q → R) : P → R := fun hP ↦ hQR (hPQ hP) -- 同じ命題をタクティクで示した例\nexample (hPQ : P → Q) (hQR : Q → R) : P → R := by intro hP exact hQR (hPQ hP)","breadcrumbs":"by: タクティクモードに入る » by","id":"15","title":"by"},"16":{"body":"needs: import Std.Tactic.ShowTerm by? を使うとタクティクモードで構成した証明を直接構成した証明に変換してくれます. example (hPQ : P → Q) (hQR : Q → R) : P → R := by? -- `Try this: fun hP => hQR (hPQ hP)` と提案してくれる intro hP exact hQR (hPQ hP)","breadcrumbs":"by: タクティクモードに入る » by?","id":"16","title":"by?"},"17":{"body":"calc は計算モードに入るためのタクティクです.詳細については Theorem Proving in Lean4 をご参照ください.","breadcrumbs":"calc: 計算モードに入る » calc","id":"17","title":"calc"},"18":{"body":"cases は場合分けを行います.ローカルコンテキストに h: P ∨ Q があるときに cases h とすると,仮定に P を付け加えたゴール inl と,仮定に Q を付け加えたゴール inr を生成します.それぞれ,insert left と insert right の略ではないかと思います. example : P ∨ Q → (P → R) → (Q → R) → R := by -- `h: P ∨ Q` intro h hPR hQR -- `case inl` と `case inr` の2つのゴールを生成する cases h -- `P` が成り立つ場合 case inl hP => exact hPR hP -- `Q` が成り立つ場合 case inr hQ => exact hQR hQ","breadcrumbs":"cases: 論理和∨を使う » cases","id":"18","title":"cases"},"19":{"body":"上記の例では case を場合分けの枝ごとに書いていますが,下の例のように case を書かずに済ませることもできます. example : P ∨ Q → (P → R) → (Q → R) → R := by -- `h: P ∨ Q` intro h hPR hQR -- `case inl` と `case inr` の2つのゴールを生成する cases h with | inl hP => exact hPR hP | inr hQ => exact hQR hQ","breadcrumbs":"cases: 論理和∨を使う » case を書かない","id":"19","title":"case を書かない"},"2":{"body":"needs: import Aesop aesop は,intro や simp を使用してルーチンな証明を自動で行おうとします. -- 合成 `g ∘ f` が単射なら,`f` も単射\nexample {f : X → Y} {g : Y → Z} (hgfinj : Injective (g ∘ f)) : Injective f := by rw [Injective] aesop","breadcrumbs":"aesop: ルーチン自動化 » aesop","id":"2","title":"aesop"},"20":{"body":"needs: import Mathlib.Tactic.Cases cases' を使用すると分解した仮定に簡潔に名前をつけることができます. example : P ∨ Q → (P → R) → (Q → R) → R := by intro h hPR hQR -- 場合分けをする cases' h with hP hQ · apply hPR hP · apply hQR hQ","breadcrumbs":"cases: 論理和∨を使う » cases'","id":"20","title":"cases'"},"21":{"body":"needs: import Std.Tactic.RCases rcases は cases をパターンに従って再帰的(recursive)に適用します.論理和∨以外にも使うことができます. variable (P Q R : Prop) example : P ∨ Q → (P → R) → (Q → R) → R := by intro h hPR hQR -- 場合分けをする rcases h with hP | hQ · apply hPR hP · apply hQR hQ example : P ∧ Q → Q ∧ P := by -- `h: P ∧ Q` と仮定する intro h -- `h: P ∧ Q` を `hP: P` と `hQ: Q` に分解する rcases h with ⟨hP, hQ⟩ -- `Q ∧ P` を証明する exact ⟨hQ, hP⟩","breadcrumbs":"cases: 論理和∨を使う » rcases","id":"21","title":"rcases"},"22":{"body":"ゴールが ⊢ P ∧ Q であるとき,constructor を実行すると,ゴールが2つのゴール ⊢ P と ⊢ Q に分割されます. example (hP: P) (hQ: Q) : P ∧ Q := by -- goal が `left` と `right` に分割される constructor · -- `P` を示す exact hP · -- `Q` を示す exact hQ なお h: P ∧ Q から P や Q の証明を得るのは,それぞれ h.left と h.right で可能です. example (h: P ∧ Q) : P := by exact h.left","breadcrumbs":"constructor: 論理積∧を示す » constructor","id":"22","title":"constructor"},"23":{"body":"constructor はゴールが ⊢ P ↔ Q であるときにも使用できます. example (x : Nat) : x = 0 ↔ x + 1 = 1 := by constructor · -- `x = 0 → x + 1 = 1` を示す intro hx rw [hx] · -- `x + 1 = 1 → x = 0` を示す simp_all","breadcrumbs":"constructor: 論理積∧を示す » 同値を示す","id":"23","title":"同値を示す"},"24":{"body":"contradiction は,矛盾によりゴールを閉じるタクティクです.矛盾から任意の命題を証明することができます. ローカルコンテキストに P と ¬ P が同時にあるなど,矛盾した状況にあるときにゴールを閉じます. -- `False`\nexample (h : False) : P := by contradiction -- 明らかに偽な等式\nexample (h : 2 + 2 = 3) : P := by contradiction -- 明らかに偽な等式\nexample (x : Nat) (h : x ≠ x) : P := by contradiction -- 矛盾する仮定\nexample (hP : P) (hnP : ¬ P) : Q := by contradiction","breadcrumbs":"contradiction: 矛盾 » contradiction","id":"24","title":"contradiction"},"25":{"body":"conv は変換モードに入るためのタクティクです.詳細については Theorem Proving in Lean4 をご参照ください.","breadcrumbs":"conv: 変換モードに入る » conv","id":"25","title":"conv"},"26":{"body":"done は,証明終了の合図です.証明すべきゴールが残っていない時に成功し,それ以外の時にはエラーになります.QED のようなものです.","breadcrumbs":"done: 証明終了を宣言 » done","id":"26","title":"done"},"27":{"body":"ゴールが P で,ローカルコンテキストに hP: P があるときに,exact hP はゴールを閉じます. example (hP: P) : P := by exact hP hP がゴールの証明になっていないときには,失敗してエラーになります. exact ⟨ hP, hQ ⟩ のようにすると,論理積∧の形をした命題を証明することができます. example (hP: P) (hQ: Q) : P ∧ Q := by exact ⟨ hP, hQ ⟩","breadcrumbs":"exact: 証明を直接構成 » exact","id":"27","title":"exact"},"28":{"body":"exists は,「~という x が存在する」という命題を示すために,「この x を使え」と指示するコマンドです. ゴールが ⊢ ∃ x, P x のとき,x: X がローカルコンテキストにあれば,exists x によりゴールが P x に変わります.同時に,P x が自明な場合は証明が終了します. example : ∃ x : Nat, 3 * x + 1 = 7 := by exists 2","breadcrumbs":"exists: 存在∃を示す » exists","id":"28","title":"exists"},"29":{"body":"needs: import Std.Tactic.Ext 数学では集合 A, B ⊂ α について A = B を示すときに x ∈ A と x ∈ B が同値であることを示すのが常套手段として行われますが,ext はそういうことを行うタクティクです. @[ext] で登録されたルールを使用するため,集合の等式 A = B を示すときは Mathlib.Data.SetLike.Basic も必要です. variable {α : Type} -- `s` と `t` は `α` の部分集合\nvariable (s t : Set α) example : s ∩ t = t ∩ s := by -- `x ∈ α` を取る.` x ∈ s ∩ t ↔ x ∈ t ∩ s` を証明すればよい ext x aesop なお A ⊂ B を示すために元を取るのは intro x で可能です.","breadcrumbs":"ext: 外延性を使う » ext","id":"29","title":"ext"},"3":{"body":"aesop が成功したとき,aesop? に置き換えると,ゴールを達成するのにどんなタクティクを使用したか教えてくれます. example {f : X → Y} {g : Y → Z} (hgfinj : Injective (g ∘ f)) : Injective f := by rw [Injective] -- `aesop?` は以下を返す intro a₁ a₂ a apply hgfinj simp_all only [comp_apply]","breadcrumbs":"aesop: ルーチン自動化 » aesop?","id":"3","title":"aesop?"},"30":{"body":"関数 f と g が等しいことを示す際に,引数 x をとって f x = g x を示そうとすることがありますが,funext はそれを行うタクティクです. def f := fun (x : Nat) ↦ x + x def g := fun (x : Nat) ↦ 2 * x example : f = g := by -- 引数 `x` を取る funext x -- `f x` と `g x` を展開する dsimp [f, g] -- `x + x` と `2 * x` が等しいことを証明する ring","breadcrumbs":"funext: 関数等式を示す » funext","id":"30","title":"funext"},"31":{"body":"have は,証明の途中でわかることをローカルコンテキストに追加するコマンドです. have h: P := ... で P という命題の証明を構成し,その証明に h という名前を付けることができます. example (hPQ: P → Q) (hQR: Q → R) : P → R := by -- 示したいことが `P → R` なので,`P` だと仮定する intro hP -- 仮定 `hPQ : P → Q` と `hP : P` から `Q` が導かれる have hQ : Q := by exact hPQ hP -- 仮定 `hQR : Q → R` と `hQ : Q` から `R` が導かれる exact hQR hQ 名前を省略して have : P := ... とすると,自動的に this という名前になります.","breadcrumbs":"have: 補題を用意する » have","id":"31","title":"have"},"32":{"body":"補題を示すだけでなく,ある特定の形をした主張を分解するのにも have は使うことができます.","breadcrumbs":"have: 補題を用意する » パターンマッチ","id":"32","title":"パターンマッチ"},"33":{"body":"次のように,P ∧ Q という命題から P と Q を取り出すことができます. example (hPQ: P ∧ Q) : P := by -- `P ∧ Q` という仮定を分解する -- `hQ: Q` は不要なのでアンダースコアに置き換える have ⟨ hP, _ ⟩ := hPQ assumption","breadcrumbs":"have: 補題を用意する » 論理積 ∧","id":"33","title":"論理積 ∧"},"34":{"body":"次のように,∃ x: X, P x という命題から,条件を満たす x を取り出すことができます.x: X と hx: P x がローカルコンテキストに追加されます. -- `x`が偶数のとき`3 * x`も偶数\nexample (x : ℕ) (hx : ∃ y, x = 2 * y) : ∃ z, 3 * x = 2 * z := by -- `hx` で存在が主張されている `y` と, -- `x = 2 * y` という命題を得る have ⟨y, hy⟩ := hx exists 3 * y rw [hy] ring","breadcrumbs":"have: 補題を用意する » 存在 ∃","id":"34","title":"存在 ∃"},"35":{"body":"induction は,帰納法のためのタクティクです. 自然数を例に説明します.Lean では自然数は次のように帰納的に定義されています. inductive Nat | zero : Nat | succ (n : Nat) : Nat succ は後者関数と呼ばれる関数で,n + 1 := succ n です. n : Nat についてゴール P n ⊢ Q n があったとします.このとき induction n を行うと,コンストラクタ zero と succ のそれぞれに対して,対応するゴールを生成します.つまり P 0 ⊢ Q 0 (P (succ a)) (P a → Q a) ⊢ Q (succ a) の2つのゴールです. -- 階乗関数\ndef fac : Nat → Nat | 0 => 1 | n + 1 => (n + 1) * fac n example (n : Nat) : 0 < fac n := by -- `n` についての帰納法で示す induction n with | zero => -- `fac` の定義から従う simp [fac] | succ n ih => -- `fac` の定義から従う simp [fac] positivity","breadcrumbs":"induction: 帰納法 » induction","id":"35","title":"induction"},"36":{"body":"needs: import Mathlib.Tactic.Cases induction' というタクティクもあります.こちらは箇条書きによる,より簡潔な書き方が可能です. example (n : Nat) : 0 < fac n := by -- `ih` は帰納法の仮定 -- `k` は `ih` に登場する変数 induction' n with k ih · simp [fac] · simp [fac] positivity","breadcrumbs":"induction: 帰納法 » induction'","id":"36","title":"induction'"},"37":{"body":"intro はその名の通り導入(introduce)のタクティクです.数学で慣習的に行われる P → Q を示すときに最初に P を仮定する ∀ x ∈ A, P(x) を示すときに最初に x ∈ A が与えられたと仮定する といった導入を intro は実行します. 具体的には,intro は ゴールが ⊢ P → Q という形であるときに P をローカルコンテキストに追加して,ゴールを ⊢ Q に変える ゴールが ⊢ ∀ x, P x という形であるときに x をローカルコンテキストに追加してゴールを ⊢ P x に変える といった挙動をします. example (hPQ: P → Q) (hQR: Q → R) : P → R := by -- 示したいことが `P → R` なので,`P` だと仮定する intro hP -- 仮定 `hPQ : P → Q` と `hP : P` から `Q` が導かれる have hQ : Q := hPQ hP -- 仮定 `hQR : Q → R` と `hQ : Q` から `R` が導かれる exact hQR hQ もう一つ使用例を挙げておきます: example (P Q : Nat → Prop) (h : ∀ n, P n ↔ Q n) : ∀ y, P (y + 1) → Q (y + 1) := by -- 任意の `y` について示すので,`intro` で `y` を導入する -- そして `P (y + 1) → Q(y + 1)` を示したいので,`P (y + 1)` を仮定する intro y hyP -- 同値を使ってゴールを書き換える rw [← h] -- 仮定 `P (y + 1)` より従う assumption","breadcrumbs":"intro: 含意→や全称∀を示す » intro","id":"37","title":"intro"},"38":{"body":"Lean では否定 ¬ P は P → False として定義されているので,ゴールが ¬ P のときに intro すると P が仮定に追加されて,ゴールが False に変わります. False は矛盾を導けば証明できます. example (h: P → Q) : ¬Q → ¬P := by -- 示したいことが `¬Q → ¬P` なので,`¬Q` だと仮定する -- そうするとゴールが `¬P` になるので, -- さらに `intro` を行って仮定 `hP : P` を導入する intro hnQ hP -- `hP : P` と `h : P → Q` から `Q` が導かれる have hQ : Q := h hP -- `hQ : Q` と `hnQ : ¬Q` から矛盾が導かれる contradiction","breadcrumbs":"intro: 含意→や全称∀を示す » 否定 ¬ について","id":"38","title":"否定 ¬ について"},"39":{"body":"needs: import Mathlib.Tactic.LeftRight ゴールが ⊢ P ∨ Q であるとき,left はゴールを ⊢ P に,right はゴールを ⊢ Q に変えます. example (hP: P) : P ∨ Q := by left assumption left, right を使わずに Mathlib4 なしで同じことをするには,Or.inl または Or.inr を使用します. example (hP: P) : P ∨ Q := by apply Or.inl assumption","breadcrumbs":"left, right: 論理和∨を示す » left, right","id":"39","title":"left, right"},"4":{"body":"apply は含意 → をゴールに適用するタクティクです. ゴールが ⊢ Q で,ローカルコンテキストに h: P → Q があるときに,apply h を実行するとゴールが ⊢ P に書き換わります. -- `P → Q` かつ `P` ならば `Q`\nexample (h: P → Q) (hP: P) : Q := by -- ゴールが `P` に変わる apply h exact hP 注意点として,h: P → Q は P の証明を受け取って Q の証明を返す関数でもあるので,上記の例は apply を使わずに exact h hP で閉じることもできます. -- `P → Q` かつ `P` ならば `Q`\nexample (h: P → Q) (hP: P) : Q := by exact h hP","breadcrumbs":"apply: 含意→を使う » apply","id":"4","title":"apply"},"40":{"body":"rfl は,定義から等しいものが等しいことを示すタクティクです. -- 自明に正しい等式\nexample : 1 + 1 = 2 := by rfl -- 変数を含む等式\nexample (x : Nat) : x = x := by rfl example (P : Prop) : P = P := by rfl","breadcrumbs":"rfl: 定義そのまま » rfl","id":"40","title":"rfl"},"41":{"body":"needs: import Mathlib.Tactic.Ring ring は,可換環の等式を示します. example : (x + y) ^ 2 = x ^ 2 + 2 * x * y + y ^ 2 := by ring simp 等と異なり,ring? タクティクは用意されていませんが,show_term で具体的にどんなルールが適用されたのかを知ることができます.ただし,その出力結果は非常に長く読みづらいものであることがしばしばです.例えば, example : (x + y) ^ 2 = x ^ 2 + 2 * x * y + y ^ 2 := by show_term ring の出力をここに掲載すると100行を超えてしまいます.","breadcrumbs":"ring: 環の等式を示す » ring","id":"41","title":"ring"},"42":{"body":"rw は rewrite(書き換え)を行うタクティクです.等式や同値をもとに書き換えを行います. hab: a = b や hPQ : P ↔ Q がローカルコンテキストにあるとき, rw [hab] はゴールの中の a をすべて b に置き換え, rw [hPQ] はゴールの中の P をすべて Q に置き換えます. 順番は重要で,b を a に置き換えたいときなどは rw [← hab] のように ← をつけます. h1, h2, ... について続けて置き換えを行いたいときは,rw [h1, h2, ...] のようにします. ゴールではなく,ローカルコンテキストにある h: P を書き換えたいときには at をつけて rw [hPQ] at h とします.すべての箇所で置き換えたいときは rw [hPQ] at * とします. example (a b c d e f : Nat) (h : a * b = c * d) (h' : e = f) : a * (b * e) = c * (d * f) := by rw [h'] -- 結合法則を使う rw [← Nat.mul_assoc] rw [h] -- 結合法則を使う rw [Nat.mul_assoc]","breadcrumbs":"rw: 同値変形 » rw","id":"42","title":"rw"},"43":{"body":"show P は, ゴールの中に ⊢ P があるときにそれをメインのゴールにします. たとえば,証明中にこれから示すべきことを明示し,コードを読みやすくする目的で使うことができます. example (hP: P) (hQ: Q) : P ∧ Q := by constructor · show P exact hP · show Q exact hQ","breadcrumbs":"show: 示すべきことを宣言 » show","id":"43","title":"show"},"44":{"body":"simp は,ターゲットを決められた規則に基づいて自動で簡約(simplify)するタクティクです.カスタマイズすることが可能で,簡約に使ってほしい命題を登録することができます. universe u v -- 圏の公理\nclass Category (C : Type u) where -- 射 Hom : C → C → Type v -- 射の合成 comp : ∀ {a b c : C}, Hom a b → Hom b c → Hom a c -- 恒等射. `id a` が `a` 上の恒等射を意味する id : ∀ (a : C), Hom a a -- 恒等射の性質 id_comp : ∀ {a b : C} (f : Hom a b), comp (id a) f = f comp_id : ∀ {a b : C} (f : Hom a b), comp f (id b) = f -- 射の結合律 assoc : ∀ {a b c d : C} (f : Hom a b) (g : Hom b c) (h : Hom c d), comp (comp f g) h = comp f (comp g h) -- `f : Hom a b`と`g : Hom b c`の合成を`f ≫ g`と書く\ninfixr:80 \" ≫ \" => Category.comp -- `Category.hoge` ではなく `hoge` で呼び出せるようにする\nopen Category -- 公理の等式が `simp` で使えるようにする\nattribute [simp] id_comp comp_id assoc -- 変数の定義\nvariable {C : Type u} [Category.{u, v} C] {a b c d e : C} example (f : Hom a b) (g : Hom b c) (h : Hom c d) (i : Hom d e) : (f ≫ (id b ≫ g)) ≫ (h ≫ i) = f ≫ (g ≫ ((id c ≫ h) ≫ i)) := by -- 上で `simp` で使えるようにした等式を使って自動で簡約する simp 既知の h: P という証明を使って簡約させたいときは,明示的に simp [h] と指定することで可能です. 何も指定しなければゴールを簡約しますが,ローカルコンテキストにある h: P を簡約させたければ simp at h と指定することで可能です.","breadcrumbs":"simp: 簡約 » simp","id":"44","title":"simp"},"45":{"body":"simp は自動的に証明を行ってくれますが,何が使われたのか知りたいときもあります.simp? は簡約に何が使われたのかを示してくれるので,rw などを用いて明示的に書き直すことができます.","breadcrumbs":"simp: 簡約 » simp?","id":"45","title":"simp?"},"46":{"body":"simp_all は simp [*] at * の強化版で,ローカルコンテキストとゴールをこれ以上簡約できなくなるまですべて簡約します.","breadcrumbs":"simp: 簡約 » simp_all","id":"46","title":"simp_all"},"47":{"body":"dsimp は,定義上(definitionally)等しいもの同士しか簡約しないという制約付きの simp です.","breadcrumbs":"simp: 簡約 » dsimp","id":"47","title":"dsimp"},"48":{"body":"証明の細部を埋める前にコンパイルが通るようにしたいとき,証明で埋めるべき箇所に sorry と書くとコンパイルが通るようになります.ただし,sorry を使用しているという旨の警告が出ます. -- Fermat の最終定理\ndef FermatLastTheorem := ∀ x y z n : Nat, n > 2 ∧ x * y * z ≠ 0 → x ^ n + y ^ n ≠ z ^ n theorem flt : FermatLastTheorem := sorry","breadcrumbs":"sorry: 証明したことにする » sorry","id":"48","title":"sorry"},"49":{"body":"suffices は,数学でよくある「~を示せば十分である」という推論を行うタクティクです. ゴールが ⊢ P であるときに suffices Q from を実行すると, suffices Q from のブロック内では,仮定に this: Q が追加され, suffices Q from 以降では,ゴールが ⊢ Q に書き換えられます. apply と似ていますが,apply と違って「十分条件になっていること」の証明が明らかでないときにも使うことができます. example (hPQ: P → Q) (hQR: Q → R) (hP: P) : R := by -- `Q` を示せば十分 suffices Q from hQR this exact hPQ hP suffices Q from ... という形式の場合は,証明を直接構成することが必要です.suffices Q from by ... とすると,タクティクによって証明を構成するモードになります.","breadcrumbs":"suffices: 十分条件に帰着 » suffices","id":"49","title":"suffices"},"5":{"body":"また,Lean では否定 ¬ P は P → False として実装されているため,ゴールが ⊢ False であるときに hn: ¬P に対して apply hn とするとゴールが ⊢ P に書き換わります. -- 矛盾\nexample (hn: ¬ P) (hP: P) : False := by -- ゴールが `P` に変わる apply hn exact hP","breadcrumbs":"apply: 含意→を使う » 否定 ¬ について","id":"5","title":"否定 ¬ について"},"50":{"body":"trivial は明らかなことを示します. trivial は,rfl や contradiction などのタクティクを実行して,現在のゴールを閉じようとします. -- 定義から明らかな等式\nexample : 1 + 1 = 2 := by trivial -- 矛盾があるので, どんな命題でも証明できる\nexample (h: False) : P := by trivial","breadcrumbs":"trivial: 自明 » trivial","id":"50","title":"trivial"},"6":{"body":"apply には引数が必須なのですが,省略しても近くにエラーが出ません.一般に,構文的に間違った証明を書いた場合には,エラーがわかりやすい場所に出てくれる保証はありません. example (h: P → Q) : ¬Q → ¬P := by -- 引数は必須なので間違っているが,エラーが近くに出ない apply -- ここにエラーが出る\nexample (hP: P) : P := by exact hP","breadcrumbs":"apply: 含意→を使う » よくあるエラー","id":"6","title":"よくあるエラー"},"7":{"body":"","breadcrumbs":"apply: 含意→を使う » 関連するタクティク","id":"7","title":"関連するタクティク"},"8":{"body":"exact の代わりに apply を使うことができます. -- `P → Q` かつ `P` ならば `Q`\nexample (h: P → Q) (hP: P) : Q := by apply h apply hP","breadcrumbs":"apply: 含意→を使う » exact","id":"8","title":"exact"},"9":{"body":"needs: import Mathlib.Tactic.LibrarySearch apply? は,ゴールを閉じるのに必要な命題をライブラリから検索してきて,提案してくれるタクティクです. -- 群準同型は積を保つ\nexample [Group G] [Group H] (f : G →* H) (a b : G) : f (a * b) = f a * f b := by -- `exact MonoidHom.map_mul f a b` を提案してくれる apply? 複数の候補が提案されたときは,どれを選ぶとゴールが何に変わるのか表示されるので,その中から好ましいものを選ぶと良いでしょう.","breadcrumbs":"apply?: ライブラリ検索 » apply?","id":"9","title":"apply?"}},"length":51,"save":true},"fields":["title","body","breadcrumbs"],"index":{"body":{"root":{"0":{"df":4,"docs":{"23":{"tf":1.7320508075688772},"35":{"tf":2.0},"36":{"tf":1.0},"48":{"tf":1.0}}},"1":{"0":{"0":{"df":1,"docs":{"41":{"tf":1.0}}},"df":0,"docs":{}},"df":6,"docs":{"23":{"tf":2.449489742783178},"28":{"tf":1.0},"35":{"tf":2.0},"37":{"tf":2.449489742783178},"40":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951}}},"2":{"df":8,"docs":{"24":{"tf":1.4142135623730951},"28":{"tf":1.0},"30":{"tf":1.4142135623730951},"34":{"tf":1.7320508075688772},"40":{"tf":1.0},"41":{"tf":2.8284271247461903},"48":{"tf":1.0},"50":{"tf":1.0}}},"3":{"df":3,"docs":{"24":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.4142135623730951}}},"7":{"df":1,"docs":{"28":{"tf":1.0}}},"_":{"df":2,"docs":{"10":{"tf":1.0},"33":{"tf":1.0}}},"a":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":3,"docs":{"2":{"tf":2.0},"29":{"tf":1.0},"3":{"tf":2.0}}}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":10,"docs":{"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"3":{"tf":1.0},"39":{"tf":1.0},"4":{"tf":2.23606797749979},"49":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.7320508075688772},"9":{"tf":1.7320508075688772}}}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":6,"docs":{"10":{"tf":1.7320508075688772},"12":{"tf":1.0},"13":{"tf":1.0},"33":{"tf":1.0},"37":{"tf":1.0},"39":{"tf":1.4142135623730951}}}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"b":{"`":{"df":0,"docs":{},"と":{"`":{"df":0,"docs":{},"g":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":0,"docs":{}}},"df":4,"docs":{"29":{"tf":2.23606797749979},"42":{"tf":2.449489742783178},"44":{"tf":4.0},"9":{"tf":2.0}},"y":{"_":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"13":{"tf":2.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"14":{"tf":2.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"c":{"`":{"df":0,"docs":{},"の":{"df":0,"docs":{},"合":{"df":0,"docs":{},"成":{"df":0,"docs":{},"を":{"`":{"df":0,"docs":{},"f":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"l":{"c":{"df":1,"docs":{"17":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":5,"docs":{"13":{"tf":1.4142135623730951},"18":{"tf":2.8284271247461903},"19":{"tf":2.449489742783178},"20":{"tf":1.7320508075688772},"21":{"tf":1.0}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}},"y":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"44":{"tf":1.0}}}}},"{":{"df":0,"docs":{},"u":{"df":1,"docs":{"44":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"df":2,"docs":{"42":{"tf":1.7320508075688772},"44":{"tf":4.58257569495584}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"44":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":1,"docs":{"44":{"tf":2.6457513110645907}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"22":{"tf":1.7320508075688772},"23":{"tf":1.4142135623730951},"43":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"r":{"a":{"d":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"13":{"tf":1.0},"14":{"tf":1.0},"24":{"tf":2.449489742783178},"38":{"tf":1.0},"50":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"v":{"df":1,"docs":{"25":{"tf":1.4142135623730951}}}}}},"d":{"df":2,"docs":{"42":{"tf":1.7320508075688772},"44":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"f":{"df":3,"docs":{"30":{"tf":1.4142135623730951},"35":{"tf":1.0},"48":{"tf":1.0}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"26":{"tf":1.4142135623730951}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":2,"docs":{"30":{"tf":1.0},"47":{"tf":1.4142135623730951}}}}}}},"df":0,"docs":{},"e":{"df":2,"docs":{"42":{"tf":1.7320508075688772},"44":{"tf":1.4142135623730951}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":17,"docs":{"12":{"tf":1.4142135623730951},"15":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.7320508075688772},"27":{"tf":2.23606797749979},"31":{"tf":1.4142135623730951},"37":{"tf":1.0},"4":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"49":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":38,"docs":{"10":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":2.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.4142135623730951},"38":{"tf":1.0},"39":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"40":{"tf":1.7320508075688772},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":2.0},"34":{"tf":1.0}}}}},"t":{"df":1,"docs":{"29":{"tf":1.7320508075688772}}}}},"f":{"a":{"c":{"df":2,"docs":{"35":{"tf":2.6457513110645907},"36":{"tf":1.7320508075688772}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":5,"docs":{"14":{"tf":1.0},"24":{"tf":1.4142135623730951},"38":{"tf":1.7320508075688772},"5":{"tf":1.7320508075688772},"50":{"tf":1.0}}}}},"df":6,"docs":{"2":{"tf":2.23606797749979},"3":{"tf":1.7320508075688772},"30":{"tf":2.449489742783178},"42":{"tf":1.7320508075688772},"44":{"tf":3.605551275463989},"9":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"tf":1.0}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"48":{"tf":1.4142135623730951}}}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":3,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"30":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":1.7320508075688772}}}}}}}},"g":{"df":5,"docs":{"2":{"tf":1.7320508075688772},"3":{"tf":1.4142135623730951},"30":{"tf":2.449489742783178},"44":{"tf":2.6457513110645907},"9":{"tf":1.7320508075688772}},"o":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}}}}},"h":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}}}},"1":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}},"a":{"b":{"df":1,"docs":{"42":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":19,"docs":{"13":{"tf":1.0},"14":{"tf":2.0},"15":{"tf":1.4142135623730951},"18":{"tf":2.23606797749979},"19":{"tf":1.7320508075688772},"20":{"tf":1.4142135623730951},"21":{"tf":2.449489742783178},"22":{"tf":1.4142135623730951},"24":{"tf":1.7320508075688772},"31":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"38":{"tf":1.7320508075688772},"4":{"tf":2.8284271247461903},"42":{"tf":2.449489742783178},"44":{"tf":3.1622776601683795},"50":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"g":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"j":{"df":2,"docs":{"2":{"tf":1.0},"3":{"tf":1.4142135623730951}}}}}}},"n":{"df":1,"docs":{"5":{"tf":2.0}},"n":{"df":0,"docs":{},"p":{"df":1,"docs":{"13":{"tf":1.0}}}},"p":{"df":1,"docs":{"24":{"tf":1.0}}},"q":{"df":2,"docs":{"14":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":1,"docs":{"44":{"tf":1.0}}}},"m":{"df":1,"docs":{"44":{"tf":4.0}}}},"p":{"df":23,"docs":{"10":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":2.0},"16":{"tf":2.0},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":2.23606797749979},"22":{"tf":1.4142135623730951},"24":{"tf":1.0},"27":{"tf":2.8284271247461903},"31":{"tf":1.7320508075688772},"33":{"tf":1.0},"37":{"tf":1.7320508075688772},"38":{"tf":2.0},"39":{"tf":1.4142135623730951},"4":{"tf":2.23606797749979},"43":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}},"q":{"df":7,"docs":{"15":{"tf":2.0},"16":{"tf":1.7320508075688772},"31":{"tf":1.7320508075688772},"33":{"tf":1.4142135623730951},"37":{"tf":1.7320508075688772},"42":{"tf":2.0},"49":{"tf":1.4142135623730951}}},"r":{"df":4,"docs":{"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951}}}},"q":{"df":11,"docs":{"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":2.23606797749979},"22":{"tf":1.4142135623730951},"27":{"tf":1.7320508075688772},"31":{"tf":1.7320508075688772},"33":{"tf":1.0},"37":{"tf":1.7320508075688772},"38":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951}},"r":{"df":9,"docs":{"15":{"tf":2.0},"16":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"31":{"tf":1.7320508075688772},"37":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951}}}},"x":{"df":2,"docs":{"23":{"tf":1.4142135623730951},"34":{"tf":2.0}}},"y":{"df":1,"docs":{"34":{"tf":1.4142135623730951}},"p":{"df":1,"docs":{"37":{"tf":1.0}}}}},"i":{"d":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":1,"docs":{"44":{"tf":2.449489742783178}}},"df":0,"docs":{},"h":{"df":2,"docs":{"35":{"tf":1.0},"36":{"tf":1.7320508075688772}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":10,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0},"39":{"tf":1.0},"41":{"tf":1.0},"9":{"tf":1.0}}}}}}},"n":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"35":{"tf":2.23606797749979},"36":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":0,"docs":{},"r":{":":{"8":{"0":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"2":{"tf":1.7320508075688772},"3":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"l":{"df":3,"docs":{"13":{"tf":1.0},"18":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951}}},"r":{"df":3,"docs":{"13":{"tf":1.0},"18":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":15,"docs":{"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.4142135623730951},"23":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":1.0},"31":{"tf":1.0},"37":{"tf":2.6457513110645907},"38":{"tf":1.7320508075688772}}}}}}},"k":{"df":1,"docs":{"36":{"tf":1.4142135623730951}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"4":{"df":3,"docs":{"0":{"tf":1.0},"17":{"tf":1.0},"25":{"tf":1.0}}},"df":5,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"35":{"tf":1.0},"38":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":3,"docs":{"18":{"tf":1.0},"22":{"tf":1.0},"39":{"tf":2.0}}}}}},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"d":{"a":{"df":0,"docs":{},"t":{"a":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{".":{"b":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{".":{"b":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"20":{"tf":1.0},"36":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}}}}}}}},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"r":{"df":1,"docs":{"41":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"4":{"df":2,"docs":{"0":{"tf":1.0},"39":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"n":{"a":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"_":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":10,"docs":{"23":{"tf":1.0},"24":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.4142135623730951},"35":{"tf":2.8284271247461903},"36":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0},"48":{"tf":1.0}}}},"df":4,"docs":{"35":{"tf":3.872983346207417},"36":{"tf":1.7320508075688772},"37":{"tf":1.7320508075688772},"48":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"e":{"d":{"df":10,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0},"39":{"tf":1.0},"41":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}}}},"r":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"l":{"df":1,"docs":{"39":{"tf":1.4142135623730951}}},"r":{"df":1,"docs":{"39":{"tf":1.0}}}}}},"df":0,"docs":{}}},"p":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"37":{"tf":1.0}}}},"df":31,"docs":{"10":{"tf":1.7320508075688772},"13":{"tf":3.0},"14":{"tf":2.6457513110645907},"15":{"tf":2.8284271247461903},"16":{"tf":1.4142135623730951},"18":{"tf":2.449489742783178},"19":{"tf":1.7320508075688772},"20":{"tf":1.4142135623730951},"21":{"tf":3.0},"22":{"tf":3.0},"23":{"tf":1.0},"24":{"tf":2.6457513110645907},"27":{"tf":2.449489742783178},"28":{"tf":1.7320508075688772},"31":{"tf":3.0},"33":{"tf":2.23606797749979},"34":{"tf":1.4142135623730951},"35":{"tf":2.0},"37":{"tf":4.242640687119285},"38":{"tf":3.3166247903554},"39":{"tf":2.449489742783178},"4":{"tf":3.605551275463989},"40":{"tf":1.7320508075688772},"42":{"tf":1.7320508075688772},"43":{"tf":2.23606797749979},"44":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772},"5":{"tf":2.6457513110645907},"50":{"tf":1.0},"6":{"tf":2.0},"8":{"tf":2.0}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"35":{"tf":1.0},"36":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":4,"docs":{"13":{"tf":1.0},"21":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"17":{"tf":1.0},"25":{"tf":1.0}}}}}}},"q":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"37":{"tf":1.0}}}},"df":24,"docs":{"10":{"tf":1.0},"14":{"tf":2.23606797749979},"15":{"tf":2.0},"16":{"tf":1.4142135623730951},"18":{"tf":2.449489742783178},"19":{"tf":1.7320508075688772},"20":{"tf":1.4142135623730951},"21":{"tf":3.0},"22":{"tf":2.8284271247461903},"23":{"tf":1.0},"24":{"tf":1.0},"27":{"tf":1.4142135623730951},"31":{"tf":2.6457513110645907},"33":{"tf":2.23606797749979},"35":{"tf":2.0},"37":{"tf":3.605551275463989},"38":{"tf":3.0},"39":{"tf":2.0},"4":{"tf":3.4641016151377544},"42":{"tf":1.4142135623730951},"43":{"tf":1.7320508075688772},"49":{"tf":3.3166247903554},"6":{"tf":1.4142135623730951},"8":{"tf":2.0}}},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"21":{"tf":2.0}}}}},"df":0,"docs":{}},"df":9,"docs":{"15":{"tf":2.449489742783178},"16":{"tf":1.4142135623730951},"18":{"tf":1.7320508075688772},"19":{"tf":1.7320508075688772},"20":{"tf":1.7320508075688772},"21":{"tf":2.0},"31":{"tf":2.23606797749979},"37":{"tf":2.23606797749979},"49":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"l":{"df":2,"docs":{"40":{"tf":2.23606797749979},"50":{"tf":1.0}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":3,"docs":{"18":{"tf":1.0},"22":{"tf":1.0},"39":{"tf":1.7320508075688772}}}}},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"30":{"tf":1.0},"34":{"tf":1.0},"41":{"tf":2.23606797749979}}}}},"w":{"df":7,"docs":{"2":{"tf":1.0},"23":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.0},"37":{"tf":1.0},"42":{"tf":3.4641016151377544},"45":{"tf":1.0}}}},"s":{"df":1,"docs":{"29":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"41":{"tf":1.4142135623730951}}}}}}},"df":1,"docs":{"43":{"tf":2.0}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"_":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"23":{"tf":1.0},"3":{"tf":1.0},"46":{"tf":1.4142135623730951}}}},"df":0,"docs":{}},"df":8,"docs":{"2":{"tf":1.0},"35":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"41":{"tf":1.0},"44":{"tf":2.8284271247461903},"45":{"tf":1.4142135623730951},"46":{"tf":1.0},"47":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":2.0}}}}}},"t":{"d":{".":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}}},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"c":{"c":{"df":1,"docs":{"35":{"tf":2.6457513110645907}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"49":{"tf":2.6457513110645907}}},"df":0,"docs":{}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"29":{"tf":2.449489742783178}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":3,"docs":{"17":{"tf":1.0},"25":{"tf":1.0},"48":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}},"v":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":2.23606797749979}}}},"df":0,"docs":{}}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":2,"docs":{"29":{"tf":1.0},"44":{"tf":1.7320508075688772}}}}}},"u":{"df":1,"docs":{"44":{"tf":1.7320508075688772}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"44":{"tf":1.0}}}}}}}}},"v":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"21":{"tf":1.0},"29":{"tf":1.4142135623730951},"44":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"44":{"tf":1.7320508075688772}}},"x":{"`":{"df":0,"docs":{},"が":{"df":0,"docs":{},"偶":{"df":0,"docs":{},"数":{"df":0,"docs":{},"の":{"df":0,"docs":{},"と":{"df":0,"docs":{},"き":{"`":{"3":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":12,"docs":{"2":{"tf":1.0},"23":{"tf":2.6457513110645907},"24":{"tf":1.7320508075688772},"28":{"tf":3.3166247903554},"29":{"tf":2.6457513110645907},"3":{"tf":1.0},"30":{"tf":3.872983346207417},"34":{"tf":3.4641016151377544},"37":{"tf":2.449489742783178},"40":{"tf":1.7320508075688772},"41":{"tf":2.449489742783178},"48":{"tf":1.7320508075688772}}},"y":{"df":6,"docs":{"2":{"tf":1.4142135623730951},"3":{"tf":1.4142135623730951},"34":{"tf":2.449489742783178},"37":{"tf":3.0},"41":{"tf":2.449489742783178},"48":{"tf":1.7320508075688772}}},"z":{"df":4,"docs":{"2":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.4142135623730951},"48":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"35":{"tf":1.7320508075688772}}}}}}}},"breadcrumbs":{"root":{"0":{"df":4,"docs":{"23":{"tf":1.7320508075688772},"35":{"tf":2.0},"36":{"tf":1.0},"48":{"tf":1.0}}},"1":{"0":{"0":{"df":1,"docs":{"41":{"tf":1.0}}},"df":0,"docs":{}},"df":6,"docs":{"23":{"tf":2.449489742783178},"28":{"tf":1.0},"35":{"tf":2.0},"37":{"tf":2.449489742783178},"40":{"tf":1.4142135623730951},"50":{"tf":1.4142135623730951}}},"2":{"df":8,"docs":{"24":{"tf":1.4142135623730951},"28":{"tf":1.0},"30":{"tf":1.4142135623730951},"34":{"tf":1.7320508075688772},"40":{"tf":1.0},"41":{"tf":2.8284271247461903},"48":{"tf":1.0},"50":{"tf":1.0}}},"3":{"df":3,"docs":{"24":{"tf":1.0},"28":{"tf":1.0},"34":{"tf":1.4142135623730951}}},"7":{"df":1,"docs":{"28":{"tf":1.0}}},"_":{"df":2,"docs":{"10":{"tf":1.0},"33":{"tf":1.0}}},"a":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":3,"docs":{"2":{"tf":2.449489742783178},"29":{"tf":1.0},"3":{"tf":2.449489742783178}}}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":11,"docs":{"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"3":{"tf":1.0},"39":{"tf":1.0},"4":{"tf":2.6457513110645907},"49":{"tf":1.4142135623730951},"5":{"tf":1.7320508075688772},"6":{"tf":1.7320508075688772},"7":{"tf":1.0},"8":{"tf":2.0},"9":{"tf":2.23606797749979}}}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}},"df":0,"docs":{}},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":7,"docs":{"10":{"tf":2.23606797749979},"11":{"tf":1.0},"12":{"tf":1.4142135623730951},"13":{"tf":1.0},"33":{"tf":1.0},"37":{"tf":1.0},"39":{"tf":1.4142135623730951}}}}}}}},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"b":{"df":0,"docs":{},"u":{"df":0,"docs":{},"t":{"df":1,"docs":{"44":{"tf":1.0}}}}},"df":0,"docs":{}}}}}},"b":{"`":{"df":0,"docs":{},"と":{"`":{"df":0,"docs":{},"g":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":0,"docs":{}}},"df":4,"docs":{"29":{"tf":2.23606797749979},"42":{"tf":2.449489742783178},"44":{"tf":4.0},"9":{"tf":2.0}},"y":{"_":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"13":{"tf":2.449489742783178}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"14":{"tf":2.449489742783178}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"c":{"`":{"df":0,"docs":{},"の":{"df":0,"docs":{},"合":{"df":0,"docs":{},"成":{"df":0,"docs":{},"を":{"`":{"df":0,"docs":{},"f":{"df":1,"docs":{"44":{"tf":1.0}}}},"df":0,"docs":{}}}}}},"a":{"df":0,"docs":{},"l":{"c":{"df":1,"docs":{"17":{"tf":2.0}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":5,"docs":{"13":{"tf":1.4142135623730951},"18":{"tf":3.1622776601683795},"19":{"tf":2.8284271247461903},"20":{"tf":2.23606797749979},"21":{"tf":1.4142135623730951}}}},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"g":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}},"y":{".":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"44":{"tf":1.0}}}}}},"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"g":{"df":1,"docs":{"44":{"tf":1.0}}}}},"{":{"df":0,"docs":{},"u":{"df":1,"docs":{"44":{"tf":1.0}}}}},"df":0,"docs":{}}}}}}}},"df":2,"docs":{"42":{"tf":1.7320508075688772},"44":{"tf":4.58257569495584}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":1,"docs":{"44":{"tf":1.0}}}}},"df":0,"docs":{}},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"_":{"a":{"df":0,"docs":{},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":1,"docs":{"3":{"tf":1.0}}}}}}},"df":0,"docs":{},"i":{"d":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}},"df":0,"docs":{}}},"df":1,"docs":{"44":{"tf":2.6457513110645907}}}},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":3,"docs":{"22":{"tf":2.23606797749979},"23":{"tf":1.7320508075688772},"43":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"r":{"a":{"d":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":5,"docs":{"13":{"tf":1.0},"14":{"tf":1.0},"24":{"tf":2.8284271247461903},"38":{"tf":1.0},"50":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"v":{"df":1,"docs":{"25":{"tf":2.0}}}}}},"d":{"df":2,"docs":{"42":{"tf":1.7320508075688772},"44":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"f":{"df":3,"docs":{"30":{"tf":1.4142135623730951},"35":{"tf":1.0},"48":{"tf":1.0}}}},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"26":{"tf":2.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":2,"docs":{"30":{"tf":1.0},"47":{"tf":1.7320508075688772}}}}}}},"df":0,"docs":{},"e":{"df":2,"docs":{"42":{"tf":1.7320508075688772},"44":{"tf":1.4142135623730951}},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":17,"docs":{"12":{"tf":1.7320508075688772},"15":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"21":{"tf":1.0},"22":{"tf":1.7320508075688772},"27":{"tf":2.6457513110645907},"31":{"tf":1.4142135623730951},"37":{"tf":1.0},"4":{"tf":1.7320508075688772},"43":{"tf":1.4142135623730951},"49":{"tf":1.0},"5":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.7320508075688772},"9":{"tf":1.0}}}},"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":38,"docs":{"10":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.4142135623730951},"16":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.4142135623730951},"22":{"tf":1.4142135623730951},"23":{"tf":1.0},"24":{"tf":2.0},"27":{"tf":1.4142135623730951},"28":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":1.0},"30":{"tf":1.0},"31":{"tf":1.0},"33":{"tf":1.0},"34":{"tf":1.0},"35":{"tf":1.0},"36":{"tf":1.0},"37":{"tf":1.4142135623730951},"38":{"tf":1.0},"39":{"tf":1.4142135623730951},"4":{"tf":1.4142135623730951},"40":{"tf":1.7320508075688772},"41":{"tf":1.4142135623730951},"42":{"tf":1.0},"43":{"tf":1.0},"44":{"tf":1.0},"49":{"tf":1.0},"5":{"tf":1.0},"50":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.0},"9":{"tf":1.0}}}}}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":2,"docs":{"28":{"tf":2.449489742783178},"34":{"tf":1.0}}}}},"t":{"df":1,"docs":{"29":{"tf":2.23606797749979}}}}},"f":{"a":{"c":{"df":2,"docs":{"35":{"tf":2.6457513110645907},"36":{"tf":1.7320508075688772}}},"df":0,"docs":{},"l":{"df":0,"docs":{},"s":{"df":5,"docs":{"14":{"tf":1.0},"24":{"tf":1.4142135623730951},"38":{"tf":1.7320508075688772},"5":{"tf":1.7320508075688772},"50":{"tf":1.0}}}}},"df":6,"docs":{"2":{"tf":2.23606797749979},"3":{"tf":1.7320508075688772},"30":{"tf":2.449489742783178},"42":{"tf":1.7320508075688772},"44":{"tf":3.605551275463989},"9":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"tf":1.0}},"l":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":1,"docs":{"48":{"tf":1.4142135623730951}}}}}}}}}}}},"df":0,"docs":{}}}},"df":0,"docs":{}}}},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"48":{"tf":1.0}}}},"u":{"df":0,"docs":{},"n":{"df":3,"docs":{"15":{"tf":1.0},"16":{"tf":1.0},"30":{"tf":1.4142135623730951}},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":2.23606797749979}}}}}}}},"g":{"df":5,"docs":{"2":{"tf":1.7320508075688772},"3":{"tf":1.4142135623730951},"30":{"tf":2.449489742783178},"44":{"tf":2.6457513110645907},"9":{"tf":1.7320508075688772}},"o":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"22":{"tf":1.0}}}},"df":0,"docs":{}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"u":{"df":0,"docs":{},"p":{"df":1,"docs":{"9":{"tf":1.4142135623730951}}}}}}},"h":{".":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.4142135623730951}}}}}},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"22":{"tf":1.0}}}}}}}},"1":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}},"2":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}},"a":{"b":{"df":1,"docs":{"42":{"tf":1.7320508075688772}}},"df":0,"docs":{}},"df":19,"docs":{"13":{"tf":1.0},"14":{"tf":2.0},"15":{"tf":1.4142135623730951},"18":{"tf":2.23606797749979},"19":{"tf":1.7320508075688772},"20":{"tf":1.4142135623730951},"21":{"tf":2.449489742783178},"22":{"tf":1.4142135623730951},"24":{"tf":1.7320508075688772},"31":{"tf":1.4142135623730951},"37":{"tf":1.4142135623730951},"38":{"tf":1.7320508075688772},"4":{"tf":2.8284271247461903},"42":{"tf":2.449489742783178},"44":{"tf":3.1622776601683795},"50":{"tf":1.0},"6":{"tf":1.0},"8":{"tf":1.4142135623730951},"9":{"tf":1.4142135623730951}},"g":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"j":{"df":2,"docs":{"2":{"tf":1.0},"3":{"tf":1.4142135623730951}}}}}}},"n":{"df":1,"docs":{"5":{"tf":2.0}},"n":{"df":0,"docs":{},"p":{"df":1,"docs":{"13":{"tf":1.0}}}},"p":{"df":1,"docs":{"24":{"tf":1.0}}},"q":{"df":2,"docs":{"14":{"tf":1.4142135623730951},"38":{"tf":1.4142135623730951}}}},"o":{"df":0,"docs":{},"g":{"df":0,"docs":{},"e":{"df":1,"docs":{"44":{"tf":1.0}}}},"m":{"df":1,"docs":{"44":{"tf":4.0}}}},"p":{"df":23,"docs":{"10":{"tf":1.0},"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":2.0},"16":{"tf":2.0},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":2.23606797749979},"22":{"tf":1.4142135623730951},"24":{"tf":1.0},"27":{"tf":2.8284271247461903},"31":{"tf":1.7320508075688772},"33":{"tf":1.0},"37":{"tf":1.7320508075688772},"38":{"tf":2.0},"39":{"tf":1.4142135623730951},"4":{"tf":2.23606797749979},"43":{"tf":1.4142135623730951},"49":{"tf":1.4142135623730951},"5":{"tf":1.4142135623730951},"6":{"tf":1.4142135623730951},"8":{"tf":1.4142135623730951}},"q":{"df":7,"docs":{"15":{"tf":2.0},"16":{"tf":1.7320508075688772},"31":{"tf":1.7320508075688772},"33":{"tf":1.4142135623730951},"37":{"tf":1.7320508075688772},"42":{"tf":2.0},"49":{"tf":1.4142135623730951}}},"r":{"df":4,"docs":{"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951}}}},"q":{"df":11,"docs":{"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":2.23606797749979},"22":{"tf":1.4142135623730951},"27":{"tf":1.7320508075688772},"31":{"tf":1.7320508075688772},"33":{"tf":1.0},"37":{"tf":1.7320508075688772},"38":{"tf":1.4142135623730951},"43":{"tf":1.4142135623730951}},"r":{"df":9,"docs":{"15":{"tf":2.0},"16":{"tf":1.7320508075688772},"18":{"tf":1.4142135623730951},"19":{"tf":1.4142135623730951},"20":{"tf":1.4142135623730951},"21":{"tf":1.4142135623730951},"31":{"tf":1.7320508075688772},"37":{"tf":1.7320508075688772},"49":{"tf":1.4142135623730951}}}},"x":{"df":2,"docs":{"23":{"tf":1.4142135623730951},"34":{"tf":2.0}}},"y":{"df":1,"docs":{"34":{"tf":1.4142135623730951}},"p":{"df":1,"docs":{"37":{"tf":1.0}}}}},"i":{"d":{"_":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"44":{"tf":1.4142135623730951}}}}}},"df":0,"docs":{}},"df":1,"docs":{"44":{"tf":2.449489742783178}}},"df":0,"docs":{},"h":{"df":2,"docs":{"35":{"tf":1.0},"36":{"tf":1.7320508075688772}}},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":10,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0},"39":{"tf":1.0},"41":{"tf":1.0},"9":{"tf":1.0}}}}}}},"n":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"35":{"tf":2.6457513110645907},"36":{"tf":2.23606797749979}}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"df":0,"docs":{},"x":{"df":0,"docs":{},"r":{":":{"8":{"0":{"df":1,"docs":{"44":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"j":{"df":0,"docs":{},"e":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"2":{"tf":1.7320508075688772},"3":{"tf":1.7320508075688772}}}},"df":0,"docs":{}}},"l":{"df":3,"docs":{"13":{"tf":1.0},"18":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951}}},"r":{"df":3,"docs":{"13":{"tf":1.0},"18":{"tf":1.7320508075688772},"19":{"tf":1.4142135623730951}}},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"t":{"df":1,"docs":{"18":{"tf":1.4142135623730951}}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":15,"docs":{"13":{"tf":1.0},"14":{"tf":1.0},"15":{"tf":1.0},"16":{"tf":1.0},"18":{"tf":1.0},"19":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.4142135623730951},"23":{"tf":1.0},"29":{"tf":1.0},"3":{"tf":1.0},"31":{"tf":1.0},"37":{"tf":3.0},"38":{"tf":2.0}}}}}}},"k":{"df":1,"docs":{"36":{"tf":1.4142135623730951}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"4":{"df":4,"docs":{"0":{"tf":1.7320508075688772},"1":{"tf":1.0},"17":{"tf":1.0},"25":{"tf":1.0}}},"df":5,"docs":{"0":{"tf":1.0},"1":{"tf":1.0},"35":{"tf":1.0},"38":{"tf":1.0},"5":{"tf":1.0}}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":3,"docs":{"18":{"tf":1.0},"22":{"tf":1.0},"39":{"tf":2.449489742783178}}}}}},"m":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"b":{".":{"d":{"a":{"df":0,"docs":{},"t":{"a":{".":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":0,"docs":{},"t":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"k":{"df":0,"docs":{},"e":{".":{"b":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"29":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{".":{"b":{"df":0,"docs":{},"y":{"c":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"s":{"df":2,"docs":{"20":{"tf":1.0},"36":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}}}}}}}},"i":{"b":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"y":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"r":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"9":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"r":{"df":1,"docs":{"41":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"4":{"df":2,"docs":{"0":{"tf":1.0},"39":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"o":{"df":0,"docs":{},"i":{"d":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"m":{".":{"df":0,"docs":{},"m":{"a":{"df":0,"docs":{},"p":{"_":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"df":1,"docs":{"9":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}},"n":{"a":{"df":0,"docs":{},"t":{".":{"df":0,"docs":{},"m":{"df":0,"docs":{},"u":{"df":0,"docs":{},"l":{"_":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"c":{"df":1,"docs":{"42":{"tf":1.4142135623730951}}},"df":0,"docs":{}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}}},"df":10,"docs":{"23":{"tf":1.0},"24":{"tf":1.0},"28":{"tf":1.0},"30":{"tf":1.4142135623730951},"35":{"tf":2.8284271247461903},"36":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0},"42":{"tf":1.0},"48":{"tf":1.0}}}},"df":4,"docs":{"35":{"tf":3.872983346207417},"36":{"tf":1.7320508075688772},"37":{"tf":1.7320508075688772},"48":{"tf":2.23606797749979}},"e":{"df":0,"docs":{},"e":{"d":{"df":10,"docs":{"14":{"tf":1.0},"16":{"tf":1.0},"2":{"tf":1.0},"20":{"tf":1.0},"21":{"tf":1.0},"29":{"tf":1.0},"36":{"tf":1.0},"39":{"tf":1.0},"41":{"tf":1.0},"9":{"tf":1.0}}},"df":0,"docs":{}}}},"o":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"44":{"tf":1.0}}}}},"r":{".":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"l":{"df":1,"docs":{"39":{"tf":1.4142135623730951}}},"r":{"df":1,"docs":{"39":{"tf":1.0}}}}}},"df":0,"docs":{}}},"p":{"(":{"df":0,"docs":{},"x":{"df":1,"docs":{"37":{"tf":1.0}}}},"df":31,"docs":{"10":{"tf":1.7320508075688772},"13":{"tf":3.0},"14":{"tf":2.6457513110645907},"15":{"tf":2.8284271247461903},"16":{"tf":1.4142135623730951},"18":{"tf":2.449489742783178},"19":{"tf":1.7320508075688772},"20":{"tf":1.4142135623730951},"21":{"tf":3.0},"22":{"tf":3.0},"23":{"tf":1.0},"24":{"tf":2.6457513110645907},"27":{"tf":2.449489742783178},"28":{"tf":1.7320508075688772},"31":{"tf":3.0},"33":{"tf":2.23606797749979},"34":{"tf":1.4142135623730951},"35":{"tf":2.0},"37":{"tf":4.242640687119285},"38":{"tf":3.3166247903554},"39":{"tf":2.449489742783178},"4":{"tf":3.605551275463989},"40":{"tf":1.7320508075688772},"42":{"tf":1.7320508075688772},"43":{"tf":2.23606797749979},"44":{"tf":1.4142135623730951},"49":{"tf":1.7320508075688772},"5":{"tf":2.6457513110645907},"50":{"tf":1.0},"6":{"tf":2.0},"8":{"tf":2.0}},"o":{"df":0,"docs":{},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":2,"docs":{"35":{"tf":1.0},"36":{"tf":1.0}}}}}},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":4,"docs":{"13":{"tf":1.0},"21":{"tf":1.0},"37":{"tf":1.0},"40":{"tf":1.0}}},"v":{"df":0,"docs":{},"e":{"df":2,"docs":{"17":{"tf":1.0},"25":{"tf":1.0}}}}}}},"q":{"(":{"df":0,"docs":{},"i":{"df":1,"docs":{"37":{"tf":1.0}}}},"df":24,"docs":{"10":{"tf":1.0},"14":{"tf":2.23606797749979},"15":{"tf":2.0},"16":{"tf":1.4142135623730951},"18":{"tf":2.449489742783178},"19":{"tf":1.7320508075688772},"20":{"tf":1.4142135623730951},"21":{"tf":3.0},"22":{"tf":2.8284271247461903},"23":{"tf":1.0},"24":{"tf":1.0},"27":{"tf":1.4142135623730951},"31":{"tf":2.6457513110645907},"33":{"tf":2.23606797749979},"35":{"tf":2.0},"37":{"tf":3.605551275463989},"38":{"tf":3.0},"39":{"tf":2.0},"4":{"tf":3.4641016151377544},"42":{"tf":1.4142135623730951},"43":{"tf":1.7320508075688772},"49":{"tf":3.3166247903554},"6":{"tf":1.4142135623730951},"8":{"tf":2.0}}},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"21":{"tf":2.23606797749979}}}}},"df":0,"docs":{}},"df":9,"docs":{"15":{"tf":2.449489742783178},"16":{"tf":1.4142135623730951},"18":{"tf":1.7320508075688772},"19":{"tf":1.7320508075688772},"20":{"tf":1.7320508075688772},"21":{"tf":2.0},"31":{"tf":2.23606797749979},"37":{"tf":2.23606797749979},"49":{"tf":1.4142135623730951}},"f":{"df":0,"docs":{},"l":{"df":2,"docs":{"40":{"tf":2.6457513110645907},"50":{"tf":1.0}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":3,"docs":{"18":{"tf":1.0},"22":{"tf":1.0},"39":{"tf":2.23606797749979}}}}},"n":{"df":0,"docs":{},"g":{"df":3,"docs":{"30":{"tf":1.0},"34":{"tf":1.0},"41":{"tf":2.6457513110645907}}}}},"w":{"df":7,"docs":{"2":{"tf":1.0},"23":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.0},"37":{"tf":1.0},"42":{"tf":3.7416573867739413},"45":{"tf":1.0}}}},"s":{"df":1,"docs":{"29":{"tf":2.449489742783178}},"e":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"_":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"41":{"tf":1.4142135623730951}}}}}}},"df":1,"docs":{"43":{"tf":2.449489742783178}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"_":{"a":{"df":0,"docs":{},"l":{"df":3,"docs":{"23":{"tf":1.0},"3":{"tf":1.0},"46":{"tf":1.7320508075688772}}}},"df":0,"docs":{}},"df":8,"docs":{"2":{"tf":1.0},"35":{"tf":1.4142135623730951},"36":{"tf":1.4142135623730951},"41":{"tf":1.0},"44":{"tf":3.1622776601683795},"45":{"tf":2.0},"46":{"tf":1.4142135623730951},"47":{"tf":1.4142135623730951}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":2.449489742783178}}}}}},"t":{"d":{".":{"df":0,"docs":{},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{".":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"29":{"tf":1.0}}}}},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"21":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"m":{"df":1,"docs":{"16":{"tf":1.0}}}}}}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}},"u":{"c":{"c":{"df":1,"docs":{"35":{"tf":2.6457513110645907}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"49":{"tf":3.0}}},"df":0,"docs":{}}}}}},"t":{"a":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}}},"df":0,"docs":{}},"df":1,"docs":{"29":{"tf":2.449489742783178}},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":3,"docs":{"17":{"tf":1.0},"25":{"tf":1.0},"48":{"tf":1.0}}}}}}}},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"16":{"tf":1.0}},"v":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":2.6457513110645907}}}},"df":0,"docs":{}}}}},"y":{"df":0,"docs":{},"p":{"df":0,"docs":{},"e":{"df":2,"docs":{"29":{"tf":1.0},"44":{"tf":1.7320508075688772}}}}}},"u":{"df":1,"docs":{"44":{"tf":1.7320508075688772}},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"s":{"df":1,"docs":{"44":{"tf":1.0}}}}}}}}},"v":{"a":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"a":{"b":{"df":0,"docs":{},"l":{"df":3,"docs":{"21":{"tf":1.0},"29":{"tf":1.4142135623730951},"44":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{}}}},"df":1,"docs":{"44":{"tf":1.7320508075688772}}},"x":{"`":{"df":0,"docs":{},"が":{"df":0,"docs":{},"偶":{"df":0,"docs":{},"数":{"df":0,"docs":{},"の":{"df":0,"docs":{},"と":{"df":0,"docs":{},"き":{"`":{"3":{"df":1,"docs":{"34":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}}}}}}}},"df":12,"docs":{"2":{"tf":1.0},"23":{"tf":2.6457513110645907},"24":{"tf":1.7320508075688772},"28":{"tf":3.3166247903554},"29":{"tf":2.6457513110645907},"3":{"tf":1.0},"30":{"tf":3.872983346207417},"34":{"tf":3.4641016151377544},"37":{"tf":2.449489742783178},"40":{"tf":1.7320508075688772},"41":{"tf":2.449489742783178},"48":{"tf":1.7320508075688772}}},"y":{"df":6,"docs":{"2":{"tf":1.4142135623730951},"3":{"tf":1.4142135623730951},"34":{"tf":2.449489742783178},"37":{"tf":3.0},"41":{"tf":2.449489742783178},"48":{"tf":1.7320508075688772}}},"z":{"df":4,"docs":{"2":{"tf":1.0},"3":{"tf":1.0},"34":{"tf":1.4142135623730951},"48":{"tf":1.7320508075688772}},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"35":{"tf":1.7320508075688772}}}}}}}},"title":{"root":{"a":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"p":{"df":2,"docs":{"2":{"tf":1.0},"3":{"tf":1.0}}}}}},"p":{"df":0,"docs":{},"p":{"df":0,"docs":{},"l":{"df":0,"docs":{},"i":{"df":2,"docs":{"4":{"tf":1.0},"9":{"tf":1.0}}}}}},"s":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":0,"docs":{},"t":{"df":1,"docs":{"10":{"tf":1.0}}}}}}}}},"b":{"df":0,"docs":{},"y":{"_":{"c":{"a":{"df":0,"docs":{},"s":{"df":1,"docs":{"13":{"tf":1.0}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"14":{"tf":1.0}}},"df":0,"docs":{}}}}}},"df":0,"docs":{}},"df":0,"docs":{}}},"c":{"a":{"df":0,"docs":{},"l":{"c":{"df":1,"docs":{"17":{"tf":1.0}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"e":{"df":3,"docs":{"18":{"tf":1.0},"19":{"tf":1.0},"20":{"tf":1.0}}}}},"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":1,"docs":{"22":{"tf":1.0}}}}}},"df":0,"docs":{}}}}},"t":{"df":0,"docs":{},"r":{"a":{"d":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"t":{"df":1,"docs":{"24":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{}},"df":0,"docs":{}}},"v":{"df":1,"docs":{"25":{"tf":1.0}}}}}},"d":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":1,"docs":{"26":{"tf":1.0}}}}},"s":{"df":0,"docs":{},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"df":1,"docs":{"47":{"tf":1.0}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"a":{"c":{"df":0,"docs":{},"t":{"df":3,"docs":{"12":{"tf":1.0},"27":{"tf":1.0},"8":{"tf":1.0}}}},"df":0,"docs":{}},"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"df":1,"docs":{"28":{"tf":1.0}}}}},"t":{"df":1,"docs":{"29":{"tf":1.0}}}}},"f":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"e":{"df":0,"docs":{},"x":{"df":0,"docs":{},"t":{"df":1,"docs":{"30":{"tf":1.0}}}}}}}},"i":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"u":{"c":{"df":0,"docs":{},"t":{"df":2,"docs":{"35":{"tf":1.0},"36":{"tf":1.0}}}},"df":0,"docs":{}}},"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":1,"docs":{"37":{"tf":1.0}}}}}}},"l":{"df":0,"docs":{},"e":{"a":{"df":0,"docs":{},"n":{"4":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}},"df":0,"docs":{},"f":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}}}},"r":{"c":{"a":{"df":0,"docs":{},"s":{"df":0,"docs":{},"e":{"df":1,"docs":{"21":{"tf":1.0}}}}},"df":0,"docs":{}},"df":0,"docs":{},"f":{"df":0,"docs":{},"l":{"df":1,"docs":{"40":{"tf":1.0}}}},"i":{"df":0,"docs":{},"g":{"df":0,"docs":{},"h":{"df":0,"docs":{},"t":{"df":1,"docs":{"39":{"tf":1.0}}}}},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"41":{"tf":1.0}}}}},"w":{"df":1,"docs":{"42":{"tf":1.0}}}},"s":{"df":0,"docs":{},"h":{"df":0,"docs":{},"o":{"df":0,"docs":{},"w":{"df":1,"docs":{"43":{"tf":1.0}}}}},"i":{"df":0,"docs":{},"m":{"df":0,"docs":{},"p":{"_":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"46":{"tf":1.0}}}},"df":0,"docs":{}},"df":2,"docs":{"44":{"tf":1.0},"45":{"tf":1.0}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":1,"docs":{"48":{"tf":1.0}}}}}},"u":{"df":0,"docs":{},"f":{"df":0,"docs":{},"f":{"df":0,"docs":{},"i":{"c":{"df":1,"docs":{"49":{"tf":1.0}}},"df":0,"docs":{}}}}}},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"v":{"df":0,"docs":{},"i":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"50":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}}},"lang":"English","pipeline":["trimmer","stopWordFilter","stemmer"],"ref":"id","version":"0.9.5"},"results_options":{"limit_results":30,"teaser_word_count":30},"search_options":{"bool":"OR","expand":true,"fields":{"body":{"boost":1},"breadcrumbs":{"boost":1},"title":{"boost":2}}}} \ No newline at end of file