【事件の表示】
　特願２０１６−２０６５０７「ＰＬＣ命令語コンパイルの最適化方法」拒絶査定不服審判事件〔平成２９年　４月２７日出願公開、特開２０１７−　７９０６９〕について、次のとおり審決する。
【結　論】
　本件審判の請求は、成り立たない。
【理　由】
第１　手続の経緯
　本件審判請求に係る出願（以下，「本願」という。）は，平成２８年１０月２１日（パリ条約による優先権主張外国庁受理２０１５年１０月２１日（以下，「優先日」という。），大韓民国）を出願日とする出願であって，同日付けで審査請求がなされ，平成２９年１１月８日付けで拒絶理由通知（同年１１月２１日発送）がなされ，平成３０年２月２０日付けで意見書が提出されるとともに，同日付けで手続補正がなされ，同年７月４日付けで拒絶査定（同年７月１０日謄本送達）がなされたものである。
　これに対して，「原査定を取り消す、本願の発明は特許すべきものとする、との審決を求める。」ことを請求の趣旨として，平成３０年１１月１２日付けで本件審判請求がなされるとともに，同日付けで手続補正がなされ，平成３１年１月２４日付けで審査官により特許法第１６４条第３項に定める報告（前置報告）がなされたものである。
第２　平成３０年１１月１２日付けの手続補正についての補正却下の決定
［補正却下の決定の結論］
　平成３０年１１月１２日付けの手続補正を却下する。
［理由］
１　補正の内容
　平成３０年１１月１２日付けの手続補正（以下，「本件補正」という。）の内容は，平成３０年２月２０日付けの手続補正により補正された特許請求の範囲の請求項１ないし請求項７の記載
「　【請求項１】
　ＰＬＣで実行されるべきプログラム内に含まれた命令語に対する複数のコンパイル処理方式のうち選択された一つのコンパイル処理方式を判断するステップと、
　選択された前記コンパイル処理方式により、速度またはサイズに最適化された命令語コンパイルを行うステップと、を含み、
　前記一つのコンパイル処理方式を判断するステップは、
　前記速度に相応する第１の選択ボックス、及び前記サイズに相応する第２の選択ボックスを提供するステップと、
　前記第１の選択ボックスへの入力があると前記速度が選択されたと判断し、前記第２の選択ボックスへの入力があると前記サイズが選択されたと判断し、前記第１の選択ボックス及び前記第２の選択ボックスの何れの入力もないとデフォルトが選択されたと判断するステップと、を含み、
　前記第１の選択ボックスと前記第２の選択ボックスのチェック又は解除によりコンパイル最適化方式が設定可能である、ＰＬＣ命令語コンパイルの最適化方法。
　　【請求項２】
　前記命令語コンパイルを行うステップは、
　前記一つのコンパイル処理方式を判断するステップで判断した結果、選択された前記コンパイル処理方式が前記速度である場合、所定基準の簡単な命令語処理であるかを判断するステップと、
　前記簡単な命令語処理であるかを判断するステップで判断した結果、
　簡単な命令語処理である場合には、直接コンパイル処理方式によりアセンブラ言語で命令語コンパイルを行うステップと、
　簡単な命令語処理ではない場合には、前記速度に最適化された命令語マップテーブルでバイナリファイルに格納された命令語のアドレスを確認して命令語処理関数に移動し、該当する命令語の処理に必要な関数をコンパイル領域にコピーし、前記ＰＬＣの駆動時に命令語アドレスを確認して、格納された関数を呼び出して命令語を処理するように、間接コンパイル処理方式により命令語コンパイルを行うステップと、を含む、請求項１に記載のＰＬＣ命令語コンパイルの最適化方法。
　　【請求項３】
　前記命令語コンパイルを行うステップは、
　前記一つのコンパイル処理方式を判断するステップで判断した結果、選択された前記コンパイル処理方式が前記サイズである場合、前記サイズに最適化された命令語マップテーブルでバイナリファイルに格納された命令語のアドレスを確認して命令語処理関数に移動し、該当する命令語の処理に必要な関数をコンパイル領域にコピーし、前記ＰＬＣの駆動時に命令語アドレスを確認して、格納された関数を呼び出して命令語を処理するように、間接コンパイル処理方式により命令語コンパイルを行うステップを含む、請求項１に記載のＰＬＣ命令語コンパイルの最適化方法。
　　【請求項４】
　前記命令語コンパイルを行うステップは、
　前記一つのコンパイル処理方式を判断するステップで判断した結果、選択された前記コンパイル処理方式がデフォルトである場合、所定基準の簡単な命令語処理であるかを判断するステップと、
　前記簡単な命令語処理であるかを判断するステップで判断した結果、
　簡単な命令語処理である場合には、直接コンパイル処理方式により命令語コンパイルを行うステップと、
　簡単な命令語処理ではない場合には、前記デフォルトと設定された命令語マップテーブルでバイナリファイルに格納された命令語のアドレスを確認して命令語処理関数に移動し、該当する命令語の処理に必要な関数をコンパイル領域にコピーし、前記ＰＬＣの駆動時に命令語アドレスを確認して、格納された関数を呼び出して命令語を処理するように、間接コンパイル処理方式により命令語コンパイルを行うステップと、を含む、請求項１に記載のＰＬＣ命令語コンパイルの最適化方法。
　　【請求項５】
　プログラムサイズまたは前記ＰＬＣ内の残余データ格納容量に基づいて、命令語に対する複数のコンパイル処理方式のうち一つのコンパイル処理方式を自動で選択して設定するステップをさらに含む、請求項１に記載のＰＬＣ命令語コンパイルの最適化方法。
　　【請求項６】
　前記一つのコンパイル処理方式を自動で選択して設定するステップでは、
　正常状況では前記速度をコンパイル処理方式として選択し、プログラムサイズが基準サイズを超えると前記サイズをコンパイル処理方式として選択して設定する、請求項５に記載のＰＬＣ命令語コンパイルの最適化方法。
　　【請求項７】
　前記一つのコンパイル処理方式を自動で選択して設定するステップでは、
　正常状況では前記速度をコンパイル処理方式として選択し、前記ＰＬＣ内の残余データ格納容量が基準容量以下になると前記サイズをコンパイル処理方式として選択して設定する、請求項５に記載のＰＬＣ命令語コンパイルの最適化方法。」（以下，この特許請求の範囲に記載された請求項各項を「補正前の請求項」という。）
を，
「　【請求項１】
　ＰＬＣで実行されるべきプログラム内に含まれた命令語に対する複数のコンパイル処理方式のうち選択された一つのコンパイル処理方式を判断するステップと、
　選択された前記コンパイル処理方式により、速度またはサイズに最適化された命令語コンパイルを行うステップと、
　
プログラムサイズ及び前記ＰＬＣ内の残余データ格納容量の少なくとも一方に基づいて、命令語に対する複数のコンパイル処理方式のうち一つのコンパイル処理方式を自動で選択して設定するステップ
　前記一つのコンパイル処理方式を判断するステップは、
　前記速度に相応する第１の選択ボックス、及び前記サイズに相応する第２の選択ボックスを提供するステップと、
　前記第１の選択ボックスへの入力があると前記速度が選択されたと判断し、前記第２の選択ボックスへの入力があると前記サイズが選択されたと判断し、前記第１の選択ボックス及び前記第２の選択ボックスの何れの入力もないとデフォルトが選択されたと判断するステップと、を含み、
　前記第１の選択ボックスと前記第２の選択ボックスのチェック又は解除によりコンパイル最適化方式が設定可能であ
り、
　
前記一つのコンパイル処理方式を自動で選択して設定するステップでは、
　
正常状況では前記速度をコンパイル処理方式として選択し、プログラムサイズが基準サイズを超えると前記サイズをコンパイル処理方式として選択して設定し、前記ＰＬＣ内の残余データ格納容量が基準容量以下になると前記サイズをコンパイル処理方式として選択して設定す
　　【請求項２】
　前記命令語コンパイルを行うステップは、
　前記一つのコンパイル処理方式を判断するステップで判断した結果、選択された前記コンパイル処理方式が前記速度である場合、所定基準の簡単な命令語処理であるかを判断するステップと、
　前記簡単な命令語処理であるかを判断するステップで判断した結果、
　簡単な命令語処理である場合には、直接コンパイル処理方式によりアセンブラ言語で命令語コンパイルを行うステップと、
　簡単な命令語処理ではない場合には、前記速度に最適化された命令語マップテーブルでバイナリファイルに格納された命令語のアドレスを確認して命令語処理関数に移動し、該当する命令語の処理に必要な関数をコンパイル領域にコピーし、前記ＰＬＣの駆動時に命令語アドレスを確認して、格納された関数を呼び出して命令語を処理するように、間接コンパイル処理方式により命令語コンパイルを行うステップと、を含む、請求項１に記載のＰＬＣ命令語コンパイルの最適化方法。
　　【請求項３】
　前記命令語コンパイルを行うステップは、
　前記一つのコンパイル処理方式を判断するステップで判断した結果、選択された前記コンパイル処理方式が前記サイズである場合、前記サイズに最適化された命令語マップテーブルでバイナリファイルに格納された命令語のアドレスを確認して命令語処理関数に移動し、該当する命令語の処理に必要な関数をコンパイル領域にコピーし、前記ＰＬＣの駆動時に命令語アドレスを確認して、格納された関数を呼び出して命令語を処理するように、間接コンパイル処理方式により命令語コンパイルを行うステップを含む、請求項１に記載のＰＬＣ命令語コンパイルの最適化方法。
　　【請求項４】
　前記命令語コンパイルを行うステップは、
　前記一つのコンパイル処理方式を判断するステップで判断した結果、選択された前記コンパイル処理方式がデフォルトである場合、所定基準の簡単な命令語処理であるかを判断するステップと、
　前記簡単な命令語処理であるかを判断するステップで判断した結果、
　簡単な命令語処理である場合には、直接コンパイル処理方式により命令語コンパイルを行うステップと、
　簡単な命令語処理ではない場合には、前記デフォルトと設定された命令語マップテーブルでバイナリファイルに格納された命令語のアドレスを確認して命令語処理関数に移動し、該当する命令語の処理に必要な関数をコンパイル領域にコピーし、前記ＰＬＣの駆動時に命令語アドレスを確認して、格納された関数を呼び出して命令語を処理するように、間接コンパイル処理方式により命令語コンパイルを行うステップと、を含む、請求項１に記載のＰＬＣ命令語コンパイルの最適化方法。」（以下，この特許請求の範囲に記載された請求項各項を「補正後の請求項」という。）
（なお，下線は，補正箇所を示すものとして，請求人が付与したものである。）
に補正するものである。
２　補正の適否（特許法第１７条の２第３項に規定する要件についての検討）
ア　本件補正のうち，補正前の請求項１を補正後の請求項１に変更する補正は，下記の補正事項よりなるものである。
＜補正事項１＞
　補正前の請求項１に，「プログラムサイズ及び前記ＰＬＣ内の残余データ格納容量の少なくとも一方に基づいて、命令語に対する複数のコンパイル処理方式のうち一つのコンパイル処理方式を自動で選択して設定するステップ」という新たなステップを追加する補正。
＜補正事項２＞
　上記補正事項１で指摘した新たなステップの実施例として，補正前の請求項１に，「前記一つのコンパイル処理方式を自動で選択して設定するステップでは、」「正常状況では前記速度をコンパイル処理方式として選択し、プログラムサイズが基準サイズを超えると前記サイズをコンパイル処理方式として選択して設定し、前記ＰＬＣ内の残余データ格納容量が基準容量以下になると前記サイズをコンパイル処理方式として選択して設定す」るという記載を追加する補正。
イ　そこで，上記各補正事項について，以下に検討する。
＜補正事項１について＞
　補正後の請求項１は，その記載からして，次の事項（ａ）及び（ｂ）を含んでいる。
（ａ）「ＰＬＣで実行されるべきプログラム内に含まれた命令語に対する複数のコンパイル処理方式のうち選択された一つのコンパイル処理方式を判断するステップ」
（ｂ）「プログラムサイズ及び前記ＰＬＣ内の残余データ格納容量の少なくとも一方に基づいて、命令語に対する複数のコンパイル処理方式のうち一つのコンパイル処理方式を自動で選択して設定するステップ」
　しかしながら，出願当初の明細書を参照すると，（当審注：下線は，参考のために当審で付与したものである。）
「【００２５】
　
図１は、本発明の一実施形態によるＰＬＣ命令語コンパイルの最適化方法
…（中略）…
【００３４】
　図４は、本発明の一実施形態によるＰＬＣ命令語コンパイルの最適化方法を説明するための図である。図５は、本発明の一実施形態によるＰＬＣ命令語コンパイルを最適化するためにコンパイル処理方式を設定することを説明するための図である。
【００３５】
　図４を参照すると、ＰＡＤＴのラダープログラムを用いて、ＰＬＣで実行されるべきプログラムコードを作成する（Ｓ１００）。
【００３６】
　その後、ＰＬＣで実行されるべきプログラム７内に含まれた
命令語に対する複数のコンパイル処理方式のうち、一つのコンパイル処理方式を設定する
【００３７】
　例えば、
ユーザが、速度オプション及びサイズオプションをチェックまたは解除できるようにして、コンパイル最適化方式を設定することができる。この際、別のオプションが選択されない場合（デフォルトオプション）には、基本オブジェクトコードを用いたコンパイルを行うように設定することができる。サイズオプションが選択された場合は、サイズに最適化された命令語コンパイルを行うように設定することができる。
「【００６５】
　
図１０は、本発明の他の一実施形態によるＰＬＣ命令語コンパイルの最適化方法
【００６６】
　図１０を参照すると、ＰＡＤＴのラダープログラムを用いて、ＰＬＣで実行されるべきプログラムコードを作成する（Ｓ５１０）。
【００６７】
　
プログラムサイズまたはＰＬＣ内の残余データ格納容量に基づいて
命令語に対する複数のコンパイル処理方式のうち、一つのコンパイル処理方式を自動で選択するように設定する
と記載されているように，前記（ａ）のステップ（ユーザが手動でコンパイル処理方式を選択するステップ），前記（ｂ）のステップ（コンパイラが自動でコンパイル処理方式を選択するステップ）それぞれは，出願当初の明細書には，別の実施形態として記載されており，これら排他的ともいえる別の実施形態における（ａ）のステップ及び（ｂ）のステップを，一連の時系列的な手順として，どのように実現するのか，当初明細書等には記載も示唆もなく，また自明な事項でもない。
＜補正事項２について＞
　補正後の請求項１は，その記載からして，次の事項（ｃ）及び（ｄ）を含んでいる。
（ｃ）「プログラムサイズが基準サイズを超えると前記サイズをコンパイル処理方式として選択して設定」する態様
（ｄ）「ＰＬＣ内の残余データ格納容量が基準容量以下になると前記サイズをコンパイル処理方式として選択して設定」する態様
　しかしながら，出願当初の明細書を参照すると，（当審注：下線は，参考のために当審で付与したものである。）
「【００６８】
　
例えば
プログラムサイズが基準サイズを超えるとサイズをコンパイル処理方式として選択して設定する
【００６９】
　
さらに他の例として
ＰＬＣ内の残余データ格納容量が基準容量以下になるとサイズをコンパイル処理方式として選択して設定する
と記載されているように，前記（ｃ）の態様，前記（ｄ）の態様それぞれは，出願当初の明細書には，別の実施例として記載されており，これら２つの実施例を，一連の時系列的な手順として，どのように実現するのか，当初明細書等の範囲内には記載も示唆もなく，また自明な事項でもない。
ウ　以上のように，発明特定事項（ａ）及び発明特定事項（ｂ）の両方を含み，発明特定事項（ｃ）及び発明特定事項（ｄ）の両方を含む補正後の請求項１は，当初明細書等の範囲内のものとはいえず，かつ，その記載から自明なものでもない。
　したがって，本件補正は，当初明細書等の範囲内でしたものでなく，特許法第１７条の２第３項の規定に違反するので，同法第１５９条第１項において読み替えて準用する同法第５３条第１項の規定により却下すべきものである。
３　独立特許要件
　以上のように，補正前の請求項１についてする補正は，「２　補正の適否（特許法第１７条の２第３項に規定する要件についての検討）」で指摘したとおり，当初明細書等の範囲内でしたものではないので，特許法第１７条の２第３項の規定に違反するものであるが，仮に，本件補正が，当初明細書等の範囲内でしたものであり，かつ，特許法第１７条の２第５項第２号の特許請求の範囲の減縮を目的とするものに該当すると仮定した場合に，補正後の請求項１に記載された発明（以下，「本件補正発明」という。）が特許出願の際独立して特許を受けることができるものであるか（特許法第１７条の２第６項において準用する同法第１２６条第７項の規定に適合するか）検討する。
（１）本件補正発明
　本件補正発明は，前記「１　補正の内容」において，補正後の請求項１として引用した，次の記載のとおりのものである。
「ＰＬＣで実行されるべきプログラム内に含まれた命令語に対する複数のコンパイル処理方式のうち選択された一つのコンパイル処理方式を判断するステップと、
　選択された前記コンパイル処理方式により、速度またはサイズに最適化された命令語コンパイルを行うステップと、
　プログラムサイズ及び前記ＰＬＣ内の残余データ格納容量の少なくとも一方に基づいて、命令語に対する複数のコンパイル処理方式のうち一つのコンパイル処理方式を自動で選択して設定するステップを含み、
　前記一つのコンパイル処理方式を判断するステップは、
　前記速度に相応する第１の選択ボックス、及び前記サイズに相応する第２の選択ボックスを提供するステップと、
　前記第１の選択ボックスへの入力があると前記速度が選択されたと判断し、前記第２の選択ボックスへの入力があると前記サイズが選択されたと判断し、前記第１の選択ボックス及び前記第２の選択ボックスの何れの入力もないとデフォルトが選択されたと判断するステップと、を含み、
　前記第１の選択ボックスと前記第２の選択ボックスのチェック又は解除によりコンパイル最適化方式が設定可能であり、
　前記一つのコンパイル処理方式を自動で選択して設定するステップでは、
　正常状況では前記速度をコンパイル処理方式として選択し、プログラムサイズが基準サイズを超えると前記サイズをコンパイル処理方式として選択して設定し、前記ＰＬＣ内の残余データ格納容量が基準容量以下になると前記サイズをコンパイル処理方式として選択して設定する、ＰＬＣ命令語コンパイルの最適化方法。」
（２）引用文献に記載されている技術的事項及び引用発明の認定
（２−１）引用文献１
ア　本願の優先日前に頒布（又は電気通信回線を通じて公衆に利用可能となった文献である）され，原審の拒絶の査定の理由である平成２９年１１月８日付けの拒絶理由通知において引用された刊行物である，特開２００９−２２３５９０号公報（平成２１年１０月１日出願公開。以下，「引用文献１」という。）には，図面とともに，以下の技術的事項が記載されている。
（当審注：下線は，参考のために当審で付与したものである。）
Ａ　「【０００１】
　
この発明は、プログラム開発支援装置の動作仕様管理方法に係り、特に、プログラマブル・コントローラ（以下、ＰＬＣと言う）のプログラム開発支援装置における動作仕様（例えば、コンパイラ又は逆コンパイラのオブジェクト生成方式）を処理対象となるソースプログラム又はオブジェクトコードに合わせて常に最適化できるようにしたプログラム開発支援装置の動作仕様管理方法に関する
Ｂ　「【００２７】
　ここで、
「識別情報」としては、コンパイラのバージョン情報、オブジェクト生成方式を示す情報（例えば、速度最適で生成するか、容量最適で生成するか等々の情報）を挙げることができる
Ｃ　「【００５４】
　
本発明に係るプログラム開発支援装置１の機能構成図が図２に示されている
コンパイラ又は逆コンパイラの動作方式を決定するためのオブジェクト生成情報を作成又は編集するためのオブジェクト生成情報編集部１５と、こうして作成又は編集されたオブジェクト生成情報を格納するためのオブジェクト生成情報格納領域１６
Ｄ　「【００５８】
　図示例にあっては、
コンパイラ（図２の符号１３参照）は複数種のオブジェクト生成方式（例えば、実行速度の速いオブジェクトコードを生成するオブジェクト生成方式、容量ができるだけ小さくなるようなオブジェクトコードを生成するオブジェクト生成方式等々）をサポートするように構成されており、どのオブジェクト生成方式でコンパイラがコンパイル動作を行うかの選択は、予め設定されるオブジェクト生成情報３０３ａの内容により決定される
【００５９】
　上述の「プログラム書き込み動作」を実現するためのプログラム開発支援装置の処理（アプリケーションプログラム）を示すフローチャートが図５に示されている。
【００６０】
　同図において、ステップ５０１においては、ユーザが「プログラム書き込み」開始の指示を出す。この指示を出すための操作は、パソコンに備え付けられたＧＵＩ機能を使用することで、マウスやキーボードを操作により行なうことができる。
続くステップ５０２では、格納されているオブジェクト生成情報３０３ａに従ってコンパイラ（図２の符号１３参照）を作動させることにより、ソースプログラム３０１からオブジェクトコード３０２を生成する
イ　ここで，上記引用文献１に記載されている事項を検討する。
（ア）上記Ａの「この発明は、プログラム開発支援装置の動作仕様管理方法に係り、特に、プログラマブル・コントローラ（以下、ＰＬＣと言う）のプログラム開発支援装置における動作仕様（例えば、コンパイラ又は逆コンパイラのオブジェクト生成方式）を処理対象となるソースプログラム又はオブジェクトコードに合わせて常に最適化できるようにしたプログラム開発支援装置の動作仕様管理方法に関する」との記載からすると，引用文献１には，“ＰＬＣのコンパイラをソースプログラムに合わせて最適化できるようにした方法”が記載されているものと認められる。
（イ）上記Ｂの「「識別情報」としては、コンパイラのバージョン情報、オブジェクト生成方式を示す情報（例えば、速度最適で生成するか、容量最適で生成するか等々の情報）を挙げることができる」との記載，上記Ｃの「コンパイラ又は逆コンパイラの動作方式を決定するためのオブジェクト生成情報を作成又は編集するためのオブジェクト生成情報編集部１５と、こうして作成又は編集されたオブジェクト生成情報を格納するためのオブジェクト生成情報格納領域１６」との記載，上記Ｄの「格納されているオブジェクト生成情報３０３ａに従ってコンパイラ（図２の符号１３参照）を作動させることにより、ソースプログラム３０１からオブジェクトコード３０２を生成する」との記載からすると，引用文献１には，“ソースプログラムからオブジェクトコードを生成するコンパイラの動作方式を決定するためのオブジェクト生成情報（速度最適で生成するか，容量最適で生成するか）を作成して格納するステップ”が記載されているものと認められる。
（ウ）上記Ｂの「「識別情報」としては、コンパイラのバージョン情報、オブジェクト生成方式を示す情報（例えば、速度最適で生成するか、容量最適で生成するか等々の情報）を挙げることができる」との記載，上記Ｄの「コンパイラ（図２の符号１３参照）は複数種のオブジェクト生成方式（例えば、実行速度の速いオブジェクトコードを生成するオブジェクト生成方式、容量ができるだけ小さくなるようなオブジェクトコードを生成するオブジェクト生成方式等々）をサポートするように構成されており、どのオブジェクト生成方式でコンパイラがコンパイル動作を行うかの選択は、予め設定されるオブジェクト生成情報３０３ａの内容により決定される」との記載，同じく上記Ｄの「続くステップ５０２では、格納されているオブジェクト生成情報３０３ａに従ってコンパイラ（図２の符号１３参照）を作動させることにより、ソースプログラム３０１からオブジェクトコード３０２を生成する」との記載からすると，引用文献１には，“格納されているオブジェクト生成情報（速度最適で生成するか，容量最適で生成するか）に従ってコンパイラを作動させることにより，ソースプログラムからオブジェクトコードを生成するステップ”が記載されているものと認められる。
ウ　以上，（ア）ないし（ウ）で指摘した事項を踏まえると，引用文献１には，次の発明（以下，「引用発明」という。）が記載されているものと認められる。
　ＰＬＣのコンパイラをソースプログラムに合わせて最適化できるようにした方法において，
　ソースプログラムからオブジェクトコードを生成するコンパイラの動作方式を決定するためのオブジェクト生成情報（速度最適で生成するか，容量最適で生成するか）を作成して格納するステップと，
　格納されている前記オブジェクト生成情報（速度最適で生成するか，容量最適で生成するか）に従ってコンパイラを作動させることにより，ソースプログラムからオブジェクトコードを生成するステップとを含む，
　方法。
（２−２）引用文献２
　本願の優先日前に頒布（又は電気通信回線を通じて公衆に利用可能となった文献である）され，原審の拒絶の査定の理由である平成２９年１１月８日付けの拒絶理由通知において引用された文献である，「矢沢久雄，Ｖｉｓｕａｌ Ｂａｓｉｃの向こうに見えるＷｉｎｄｏｗｓ：第１２回（最終回）ＶＢプログラムはなぜ遅いのか？，日経ソフトウェア，日本，日経ＢＰ社，１９９９年　５月２４日，第２巻，第６号（通巻１２号），ｐ．１２９」（以下，「引用文献２」という。）には，図面（特に図４）とともに，以下の技術的事項が記載されている。
（当審注：下線は，参考のために当審で付与したものである。）
Ｅ　「ネイティブ・コードは３種類ある
　コンパイルにより生成されるコードには，大きく 「Ｐコード」と「ネイティブ・コード」の２種類があります。Ｐコードは，実行時にＶＢのインタプリタによって解釈されて実行される中間コードです。図４からわかるように，ＶＢがコンパイルして生成するＰコードは１種類だけです。
　ところが，
ネイティブ・コードには三つの選択肢があります。「コードの実行速度を最適化」「コードのサイズを最適化」そして「最適化なし」です。ソースコードが同じでも，これらのうちどれを指定するかによって，コンパイラが生成するネイティブ・コードは若干異なります。
　「最適化なし」は，ソースコードに記述されたとおりのネイティブ・コードを生成するものです。旧式のコンパイラはこれしかできませんでした。
　
「コードの実行速度を最適化」を選ぶと，変数の値をＣＰＵのレジスタ
＊１３
にキャッシュするコードが追加されます。これによって生成されるＥＸＥファイルのサイズは若干大きくなりますが，プログラムの実行速度は速くなります。
　もう一つの
「コードのサイズを最適化」を選ぶと，キャッシュは行わず，またソースコード上でムダと思われる部分のネイティブ・コードを生成しません。こうすることで，生成されるＥＸＥファイルのサイズを小さくします。
Ｆ　１２９頁の図４には，
「ネイティブ・コード・コンパイルを設定する画面」
，当該画面において，「コードの実行速度を最適化」，「コードのサイズを最適化」，「最適化なし」等の選択ボックスが提供され，いずれか１つの選択ボックスが選択される
（２−３）引用文献３
　本願の優先日前に頒布（又は電気通信回線を通じて公衆に利用可能となった文献である）され，原審の拒絶の査定の理由である平成２９年１１月８日付けの拒絶理由通知において引用された刊行物である，特開２００３−１３１８８９号公報（平成１５年５月９日出願公開。以下，「引用文献３」という。）には，図面とともに，以下の技術的事項が記載されている。
（当審注：下線は，参考のために当審で付与したものである。）
Ｇ　「【００１１】図２は、本発明によるコンパイル処理の流れを示したフローチャートである。コンパイラの処理は、まずステップ２０１で、キーボード１０３から入力されたコンパイルオプションに従ってソースプログラムに含まれる各関数をコンパイルし、関数ごとにオブジェクトコードを作成する。ステップ２０１は従来技術に属するのでここでは詳しく説明しない。このとき
コンパイルオプションの中に、実行速度優先でコンパイルするかコードサイズ優先でコンパイルするかの指示が含まれている場合、それに従ってコンパイルする
…（中略）…
【００１５】再び図２の説明に戻り、
ステップ２０５で、全体プログラムサイズを求める
ステップ２０６で、ステップ２０５で計算したプログラムサイズ合計値と、ステップ２０３でユーザから与えられたプログラムサイズ上限値とを比較する。比較の結果、プログラムサイズ合計値が上限値以下か調べ
実行速度優先でコンパイルされていて、かつ実行頻度が最小な関数を取り出す
次にステップ２０８で取り出した関数をサイズ優先でコンパイルする
（３）本件補正発明と引用発明との対比
ア　本件補正発明と引用発明とを対比する。
（ア）引用発明の「ソースプログラム」，「コンパイラの動作方式」は，それぞれ，本件補正発明の「プログラム」，「コンパイル処理方式」に対応付けられるものであるところ，引用発明は，オブジェクト生成情報編集部において，複数のコンパイラの動作方式（速度最適で生成するか，容量最適で生成するか）のうちどれを採用するか判断して選択するものであるといえ，また，ＰＬＣで実行されるべきソースプログラムをコンパイルする際に，ソースプログラム内に含まれる命令語がコンパイルされることは自明な事項であるから，引用発明の「ソースプログラムからオブジェクトコードを生成するコンパイラの動作方式を決定するためのオブジェクト生成情報（速度最適で生成するか，容量最適で生成するか）を作成して格納するステップ」は，本件補正発明の「ＰＬＣで実行されるべきプログラム内に含まれた命令語に対する複数のコンパイル処理方式のうち選択された一つのコンパイル処理方式を判断するステップ」に相当するといえる。
（イ）（ア）で検討した内容を踏まえると，引用発明の「格納されている前記オブジェクト生成情報（速度最適で生成するか，容量最適で生成するか）」は，複数のコンパイラの動作方式（速度最適で生成するか，容量最適で生成するか）から選択されたコンパイラの動作方式により，コンパイルを行うものであることから，引用発明の「格納されている前記オブジェクト生成情報（速度最適で生成するか，容量最適で生成するか）に従ってコンパイラを作動させることにより，ソースプログラムからオブジェクトコードを生成するステップ」は，本件補正発明の「選択された前記コンパイル処理方式により、速度またはサイズに最適化された命令語コンパイルを行うステップ」に相当するといえる。
（ウ）（ア）で検討したとおり，ＰＬＣのコンパイラは，ソースプログラム内に含まれる命令語をコンパイルするものであるから，引用発明の「ＰＬＣのコンパイラをソースプログラムに合わせて最適化できるようにした方法」は，「ＰＬＣ命令語コンパイルの最適化方法」である点で，本件補正発明と一致するといえる。
イ　以上から，本件補正発明と引用発明とは，以下の点で一致し，また，以下の点で相違する。
（一致点）
　ＰＬＣで実行されるべきプログラム内に含まれた命令語に対する複数のコンパイル処理方式のうち選択された一つのコンパイル処理方式を判断するステップと，
　選択された前記コンパイル処理方式により，速度またはサイズに最適化された命令語コンパイルを行うステップと，を含む，ＰＬＣ命令語コンパイルの最適化方法。
（相違点１）
　本件補正発明の「コンパイル処理方式を判断するステップ」が，「前記速度に相応する第１の選択ボックス、及び前記サイズに相応する第２の選択ボックスを提供するステップと、」「前記第１の選択ボックスへの入力があると前記速度が選択されたと判断し、前記第２の選択ボックスへの入力があると前記サイズが選択されたと判断し、前記第１の選択ボックス及び前記第２の選択ボックスの何れの入力もないとデフォルトが選択されたと判断するステップと、を含み、」「前記第１の選択ボックスと前記第２の選択ボックスのチェック又は解除によりコンパイル最適化方式が設定可能」であるのに対し，引用発明の「コンパイラの動作方式を決定するためのオブジェクト生成情報（速度最適で生成するか，容量最適で生成するか）を作成して格納するステップ」が，どのように作成されるのか明記されていない点。
（相違点２）
　本件補正発明が，「プログラムサイズ及び前記ＰＬＣ内の残余データ格納容量の少なくとも一方に基づいて、命令語に対する複数のコンパイル処理方式のうち一つのコンパイル処理方式を自動で選択して設定するステップ」を含み，当該ステップは「正常状況では前記速度をコンパイル処理方式として選択し、プログラムサイズが基準サイズを超えると前記サイズをコンパイル処理方式として選択して設定し、前記ＰＬＣ内の残余データ格納容量が基準容量以下になると前記サイズをコンパイル処理方式として選択して設定」するものであるのに対し，引用発明は，そのようなステップを備えていない点。
（４）当審の判断
　上記相違点１及び相違点２について検討する。
ア　相違点１について
　引用文献２の上記Ｅ及び上記Ｆには，ネイティブ・コード・コンパイルを設定する画面において，「コードの実行速度を最適化」，「コードのサイズを最適化」及び「最適化なし」という三つの選択肢の中から所望の選択肢をチェックして選択する技術思想が記載されている。そして，前記「コードの実行速度を最適化」に対応するラジオボタン（本件補正発明の「第１の選択ボックス」に対応）がチェックされた場合には，コードの実行速度を最適化するコンパイル処理が選択され，また，前記「コードのサイズを最適化」に対応するラジオボタン（本件補正発明の「第２の選択ボックス」に対応）がチェックされた場合には，コードのサイズを最適化するコンパイル処理が選択され，そして，前記「最適化なし」に対応するラジオボタンがチェックされた場合には，この操作によって，前記「コードの実行速度を最適化」に対応するラジオボタン及び前記「コードのサイズを最適化」に対応するラジオボタンはいずれも前記チェックが解除された表示状態に変化させられるものと解される。
　そして，どの選択肢をデフォルトとするかは，当業者の必要に応じて適宜決定しうる設計的事項にすぎないところ，前記「コードの実行速度を最適化」に対応するラジオボタン及び前記「コードのサイズを最適化」に対応するラジオボタンの両者が解除されるような上述の操作に係る選択を「デフォルト」にした構成を採用することも，当業者にとって必要に応じて適宜決定しうる設計変更程度の事項にすぎないといえる。
　引用発明と引用文献２記載の技術は，いずれもコンパイル時にどのような最適化を実施させるかを設定可能である点で，技術分野の関連性，及び，作用，機能の共通性を有しているといえるから，引用発明の「コンパイラの動作方式を決定するためのオブジェクト生成情報（速度最適で生成するか，容量最適で生成するか）を作成して格納するステップ」において，上述した技術思想を適用することによって，開発支援装置のオブジェクト生成情報編集部でコンパイラの動作方式を選択する際に，少なくとも第１の選択ボックス及び第２の選択ボックスを提供し，それらの選択ボックスのチェック又は解除によって，速度やサイズやデフォルトから最適化方法を選択できるように構成することは，当業者の通常の創作能力の発揮によって容易になし得たことである。
　よって，相違点１は格別なものではない。　
イ　相違点２について
　引用文献３の上記Ｇには，実行速度優先かコードサイズ優先でプログラムをコンパイル可能なコンパイル処理において，実行速度優先でコンパイルされたプログラムのサイズが上限値を超過している場合は，コードサイズ優先でコンパイルを行わせるように制御する技術思想が記載されている。そして，プログラムサイズの前記上限値（本件補正発明の「基準サイズ」に対応）を，「ＰＬＣ内の残余データ」と変更することも，当業者にとって必要に応じて適宜なし得る設計変更程度の事項にすぎないものである。
　引用発明と引用文献３記載の技術は，いずれもコンパイル時にどのような最適化を実施させるかを設定可能である点で，技術分野の関連性，及び，作用，機能の共通性を有しているといえるから，引用発明においても，引用文献３に記載されている技術思想を適用し，相違点２に記載されたステップを含むように構成することは，当業者の通常の創作能力の発揮によって容易になし得たことである。
　よって，相違点２は格別なものではない。　
（５）小括
　上記で検討したごとく，相違点１及び相違点２は，いずれも格別のものではなく，そして，これらの相違点を総合的に勘案しても，本件補正発明の奏する作用効果は，上記引用発明及び周知技術の奏する作用効果から予測される範囲内のものにすぎず，格別顕著なものということはできない。
　したがって，本件補正発明は，上記引用発明，引用文献２及び引用文献３に記載の技術思想に基づいて，当業者が容易に発明をすることができたものであり，特許法第２９条第２項の規定により，特許出願の際独立して特許を受けることができない。　
４　むすび
　以上のとおり，本件補正は，上記「２　補正の適否（特許法第１７条の２第３項に規定する要件についての検討） 」で指摘したとおり，当初明細書等に記載した範囲内でしたものではないから，特許法第１７条の２第３項の規定に違反するので，同法第１５９条第１項において読み替えて準用する同法第５３条第１項の規定により却下すべきものである。
　また，仮に，本件補正が，当初明細書等に記載した範囲内においてなされたものであると仮定した場合であっても，上記「３　独立特許要件」で指摘したとおり，補正後の請求項１に記載された発明は，特許出願の際独立して特許を受けることができるものではないから，特許法第１７条の２第６項において準用する同法第１２６条第７項の規定に違反するので，同法第１５９条第１項の規定において読み替えて準用する同法第５３条第１項の規定により却下すべきものである。
　よって，補正却下の決定の結論のとおり決定する。
第３　本件審判請求の成否について 
１　本願発明の認定
　平成３０年１１月１２日付けの手続補正は上記のとおり却下されたので，本願の請求項１に係る発明（以下，「本願発明」という。）は，平成３０年２月２０日付け手続補正書の特許請求の範囲の請求項１に記載された事項により特定される，以下のとおりのものである。
「ＰＬＣで実行されるべきプログラム内に含まれた命令語に対する複数のコンパイル処理方式のうち選択された一つのコンパイル処理方式を判断するステップと、
　選択された前記コンパイル処理方式により、速度またはサイズに最適化された命令語コンパイルを行うステップと、を含み、
　前記一つのコンパイル処理方式を判断するステップは、
　前記速度に相応する第１の選択ボックス、及び前記サイズに相応する第２の選択ボックスを提供するステップと、
　前記第１の選択ボックスへの入力があると前記速度が選択されたと判断し、前記第２の選択ボックスへの入力があると前記サイズが選択されたと判断し、前記第１の選択ボックス及び前記第２の選択ボックスの何れの入力もないとデフォルトが選択されたと判断するステップと、を含み、
　前記第１の選択ボックスと前記第２の選択ボックスのチェック又は解除によりコンパイル最適化方式が設定可能である、ＰＬＣ命令語コンパイルの最適化方法。」
２　原査定の拒絶の理由
　原査定の拒絶の理由は，この出願の請求項１に係る発明は，本願の優先権主張の日前に頒布された又は電気通信回線を通じて公衆に利用可能となった下記の引用文献Ａに記載された発明及び引用文献Ｂに記載された事項に基づいて，その出願前にその発明の属する技術の分野における通常の知識を有する者が容易に発明をすることができたものであるから，特許法第２９条第２項の規定により特許を受けることができない，というものである。
　引用文献Ａ：特開２００９−２２３５９０号公報
　引用文献Ｂ：矢沢久雄，Ｖｉｓｕａｌ Ｂａｓｉｃの向こうに見えるＷｉ
　　　　　　　ｎｄｏｗｓ：第１２回（最終回）ＶＢプログラムはなぜ遅い
　　　　　　　のか？，日経ソフトウェア，日本，日経ＢＰ社，１９９９年
　　　　　　　５月２４日，第２巻，第６号（通巻１２号），ｐ．１２９
３　引用文献に記載されている技術的事項及び引用発明の認定
　原査定の拒絶の理由に引用された，引用文献およびその記載事項は，前記「第２　平成３０年１１月１２日付けの手続補正についての補正却下の決定」の「３　独立特許要件」の「（２）引用文献に記載されている技術的事項及び引用発明の認定」に記載したとおりである。
４　対比・判断 
　本願発明は，前記「第２　平成３０年１１月１２日付けの手続補正についての補正却下の決定」の「３　独立特許要件」で検討した本件補正発明から，
「プログラムサイズ及び前記ＰＬＣ内の残余データ格納容量の少なくとも一方に基づいて、命令語に対する複数のコンパイル処理方式のうち一つのコンパイル処理方式を自動で選択して設定するステップ」，及び
「り、
　前記一つのコンパイル処理方式を自動で選択して設定するステップでは、
　正常状況では前記速度をコンパイル処理方式として選択し、プログラムサイズが基準サイズを超えると前記サイズをコンパイル処理方式として選択して設定し、前記ＰＬＣ内の残余データ格納容量が基準容量以下になると前記サイズをコンパイル処理方式として選択して設定す」
を削除したものである。
　そうすると，本願発明の発明特定事項を全て含む本件補正発明が，上記「第２　平成３０年１１月１２日付けの手続補正についての補正却下の決定」の「３　独立特許要件」の「（３）本件補正発明と引用発明との対比」及び「（４）当審の判断」に記載したとおり，引用発明，引用文献２及び引用文献３記載の技術思想に基づいて当業者が容易に発明をすることができたものであるから，本願発明も同様の理由により，引用発明（原査定の引用文献Ａに記載された発明）及び引用文献２（原査定の引用文献Ｂ）に記載の技術思想に基づいて，当業者が容易に発明をすることができたものである。
第４　むすび
　以上のとおり，本願の請求項１に係る発明は，特許法第２９条第２項の規定により特許を受けることができないものであるから，その余の請求項に係る発明について検討するまでもなく，本願は拒絶すべきものである。
　よって，結論のとおり審決する。