A → B ಡΈํɿA ΛԾఆͯ͠ B ͕ূ໌Ͱ͖ͨͱ͖ɺ A → B ͕ূ໌͞ΕΔ ԾఆͷΩϟϯηϧʢdischargeʣ [u : A]ɿԾఆ A ʹϥϕϧ u ΛషΓɺ ͍ऴΘͬͨ͜ͱΛએݴ͢Δ ϥϕϧҙʢu, v, w, . . . ͳͲʣ ଞͷϥϕϧͱࠞಉ͠ͳ͚ΕΑ͍ ࠷͍ྫɿA → A ͷূ໌ [u : A] →+u A → A Ծఆ A ͔Β A ͕ʢࣗ໌ʹʣಘΒΕΔ ˠ →I Ͱ A → A Λߏ ূ໌ͷߏ ઌʢ༿ʣɿԾఆʢΩϟϯηϧલʣ ֤εςοϓɿنଇͷҰճద༻ ࠜʢʣɿূ໌͞Εͨ݁ Ωϟϯηϧ͢ΔԾఆ͕ͳ͘ͳͬͨΒূ໌ྃ ՊֶֶՊֶ࢙ (ԋश) ཧֶʢલظʣ ୲ɿా෦ढ़հ 5
→ C ≡ A → (B → C) A → B → C → D ≡ A → (B → (C → D)) ҙɿ(A → B) → C লུෆՄ ׅހΛ֎͢ͱҙຯ͕มΘΔ نଇ 2ɿ݁߹ࢠͷ༏ઌॱҐʢڧ͍ॱʣ ڧ ¬ʢ൱ఆʣ ∧ʢ͔ͭʣ ∨ʢ·ͨʣ ऑ →ʢͳΒʣ ࠓޙͷදهنʢ֬ఆʣ ུهͱͯ͠ A ∧ Bʢਖ਼ࣜʹ (A) ∧ (B)ʣͱॻ͘͜ͱΛೝΊΔɻ্ه 2 نଇͷൣғ ͰׅހΛলུ͢ΔɻͦΕҎ֎ׅހΛ໌ࣔ͢Δɻ ՊֶֶՊֶ࢙ (ԋश) ཧֶʢલظʣ ୲ɿా෦ढ़հ 9
B 2. (A → A → B) → A → B 3. A → B → A ∧ B ղ 1. A → (A → B) → ӈ݁߹ͳͷͰӈ͔ΒׅހΛ͚Δ 2. ( (A → (A → B)) → (A → B) ) ·ͣ A → A → B Λ A → (A → B) ʹల։ɺ࣍ʹશମͷओ݁߹ࢺ → ΛׅހͰғΉ 3. A → ( B → (A ∧ B) ) ՊֶֶՊֶ࢙ (ԋश) ཧֶʢલظʣ ୲ɿా෦ढ़հ 10
(1) (A → A → B) → (A → B) ώϯτɿಉ͡Ծఆ A Λ 2 ճͬͯΑ͍ʢॖଇʣ (2) A → (B → C) → (A → B) → C ώϯτɿԾఆΛઌʹܾΊ͔ͯΒʮٯࢉʯΛ࢝ΊΑ νϟϨϯδ ҎԼͷূ໌Λ proof net ʹมͤΑɻ [u:A → B] [w:A] →− B [v:B → C] →− C →+w A → C →+v (B → C) → (A → C) →+u (A → B) → (B → C) → (A → C) ՊֶֶՊֶ࢙ (ԋश) ཧֶʢલظʣ ୲ɿా෦ढ़հ 13
ՄೳͳݶΓ͖Ε͍ͳূ໌Ͱূ໌ͤΑɻূ໌Ͱ͖ͳ͍߹ʮূ໌ෆՄೳʯͱ໌ه͢Δ ͜ͱɻ ໋ ϙΠϯτ 1 A → ((A → B) → A) ऑԽͷయܕ 2 A → (A → B → C) → B → C ࡾͭͷԾఆͷΈ߹Θͤ 3 A → ¬¬A ¬ Λల։ͯ͠ߟ͑Δ 4 ¬¬¬A → ¬A 3 ͷԠ༻ Extra (A → B → C) → (A → B) → A → C S ίϯϏωʔλʢ4 Ծఆʂʣ ࡞ઓɿٯࢉʢτοϓμϯʣͰߟ͑Α ূ໌໋͍ͨ͠ͷ࠷ޙͷ → ʹ͠ɺͦͷલͷஈ֊ͰԿΛࣔͤΑ͍͔Λ্͖ʹٯ ࢉ͢Δɻ 3ɾ 4 Ͱ·ͣ ¬ Λల։͔ͯ͠ΒٯࢉΛ࢝ΊΔ͜ͱɻ ՊֶֶՊֶ࢙ (ԋश) ཧֶʢલظʣ ୲ɿా෦ढ़հ 15
→ C [v:A → B] [w:A] →− B →− C →+w A → C →+v (A → B) → A → C →+u (A → B → C) → (A → B) → A → C લఏ u ొ લఏ w ొ લఏ v ొ લఏ w ࠶ొ ʮূ໌ʯ (Proof Tree) ՊֶֶՊֶ࢙ (ԋश) ཧֶʢલظʣ ୲ɿా෦ढ़հ 16
→ C [v:A → B] [w:A] →− B →− C →+w A → C →+v (A → B) → A → C →+u (A → B → C) → (A → B) → A → C લఏ u ొ લఏ w ొ લఏ v ొ લఏ w ࠶ొ ʮओࢬʯ (Main Stem) ʮैଐ ԋ៷ʯ ՊֶֶՊֶ࢙ (ԋश) ཧֶʢલظʣ ୲ɿా෦ढ़հ 17
→ C [v:A → B] [w:A] →− B →− C →+w A → C →+v (A → B) → A → C →+u (A → B → C) → (A → B) → A → C ੳత෦ ࠷খ෦ ૯߹෦ আڈن ଇ ಋೖن ଇ ͖Ε͍ͳূ໌ʹੳʢআڈʣ্͕ɺ૯߹ʢಋೖʣ ͕ԼͷҰํߏ ՊֶֶՊֶ࢙ (ԋश) ཧֶʢલظʣ ୲ɿా෦ढ़հ 18
A → B ͱ A ͱ͍͏ 2 ͭͷલఏ͔Β B Λ݁͢Δ ରԠؔ A → B ˠ ࠨͷϫΠϠ A ˠ ӈͷϫΠϠ →E ͷنଇ ˠ ϊʔυʢശʣ B ˠ ग़ྗϫΠϠ proof net A → B A →E B 2 ຊͷ࣮ઢϫΠϠ͕ೖྗ 1 ຊͷ࣮ઢϫΠϠ͕ग़ྗ ՊֶֶՊֶ࢙ (ԋश) ཧֶʢલظʣ ୲ɿా෦ढ़հ 21
A → B Ծఆ [u:A] ΛΩϟϯηϧʢdischargeʣ͠ ͯ A → B Λ݁͢Δ ରԠؔ [u:A]ʢΩϟϯηϧԾఆʣˠ ઢϫΠϠ Bʢূ໌ͷ݁ʣˠ ࣮ઢϫΠϠʢೖྗʣ →I[u] ˠ ϊʔυʢശʣ proof net [u:A] B →I[u] A → B ׅހॻ͖ [u:A] ͕ proof net ͰઢϫΠϠͱͯ͠ՄࢹԽ ՊֶֶՊֶ࢙ (ԋश) ཧֶʢલظʣ ୲ɿా෦ढ़հ 22
→+u A → A Ծఆ [u:A] Λͦͷ··Ωϟϯηϧ͠ ͯ A → A ΛಘΔ proof net [u:A] →I[u] A → A ϫΠϠ͕ 2 ຊ͚ͩʢઢ 1 ຊʴ࣮ઢ 1 ຊʣ ໋͕ A → A ͷҰछྨ͔͠ొ͠ͳ͍͜ ͱ͕Ұྎવ ՊֶֶՊֶ࢙ (ԋश) ཧֶʢલظʣ ୲ɿా෦ढ़հ 23
→+v B → A →+u A → B → A [v:B] Λಋೖ͕ͨ͠ҰΘͣ Ωϟϯηϧ ˠ ऑԽଇͷ༻ proof net [u:A] [v:B] →I[v] B → A →I[u] A → B → A [v:B] ͷϫΠϠ͕ͿΒΓΜʢdangling ՊֶֶՊֶ࢙ (ԋश) ཧֶʢલظʣ ୲ɿా෦ढ़հ 24
[u:A] [v:B] ∧+ A ∧ B →+v B → A ∧ B →+u A → B → A ∧ B A ͱ B ΛԾఆͯ͠ A ∧ B Λߏ ˠ ∧-ಋೖنଇͷయܕత༻ ྫ 2ɿA ∧ B → A [u:A ∧ B] ∧−ࠨ A →+u A ∧ B → A A ∧ B Λղͯ͠ A ΛऔΓग़͢ ˠ ∧-আڈنଇʢࠨʣͷయܕత༻ ಉ༷ʹ A ∧ B → B ূ໌Ͱ͖Δʢআڈن ଇʮӈʯΛ͏ʣ ∧ ͷੑ࣭ ্ͷྫΛ߹ΘͤΔͱɿA ∧ B ΛԾఆ͢Δ͜ͱͱɺA ͓Αͼ B ΛԾఆ͢Δ͜ͱಉ ˠ A ∧ B ʮA, BʯͷུهͰ͋Γɺ∧ ·͘͞͠ʮ,ʢίϯϚʣ ʯͷུه ՊֶֶՊֶ࢙ (ԋश) ཧֶʢલظʣ ୲ɿా෦ढ़հ 30
ͷུهɻ ՄೳͳݶΓ͖Ε͍ͳূ໌Ͱࣔ͢͜ͱɻ ໋ қɾඋߟ 1 A → ((A → B) → A) ˒ ऑԽ 2 A → (A → B → C) → B → C ˒˒ ࡾԾఆ 3 A → ¬¬A ˒˒ ¬ Λల։ 4 ¬¬¬A → ¬A ˒˒˒ 3 ͷԠ༻ Extra (A → B → C) → (A → B) → A → C ˒˒˒ S ίϯϏωʔλ ఏग़ͷϧʔϧ तۀதʹղ͚ͨఏग़ෆཁɻղ͚ͳ͔͚ͬͨͩఏग़͢Δ͜ͱɻ શղ͚ͨ߹ʮશղ͚ͨʯͱ KULMS ʹهೖͯ͠ఏग़ͤΑɻ 4ɾExtra ͍͠ͷͰɺͰ͖ͳ͚Εʮূ໌ෆՄೳͱࢥ͏ʯ·ͨ ʮ్த·Ͱɿ. . . ʯͱॻ్͍ͯதܦաΛఏग़ͯ͠ߏΘͳ͍ɻ ՊֶֶՊֶ࢙ (ԋश) ཧֶʢલظʣ ୲ɿా෦ढ़հ 32