判例が面白いのはわからないから
判例が面白い理由は、答えがどっちに転ぶかわからないから わからないものに筋道をどうつけるのか、という話は面白い
裁判である以上、なんとかして法律に基づいて判断する必要がある。そこでは安定した論理から危うい論理まで利用される
この面白さは数学の方が上だけど、大雑把には似ている
いや違うか?
数学は、論理を組み合わせて、非常識な結論が出てくる
法律の実務は、常識的な結論を出すために論理をこねくり回すに近いのかもしれない(想像)
法律の条文自体が面白い場合は、自分が全く知らない範囲であるか、全く馬鹿げた法律があったんだ(dumb laws)が思いつく 他にあるだろうか?
普通の条文は面白くないはずだ
法律は両議院で可決される=議員の多数派の承認を得る=多くの人の目で見て変とは言えない
ただし、立場が割れるような内容に対して多数派が一方的に成立させることもある(例:安保関連法制) つまり、(よく考えていない人にとって)法律は「まあそうだよね」という範囲で制定される。そこに驚きはない。驚きがなければ面白くない。
Gemini 2.5 Pro.iconに修正してもらった疑似コード
code:ts
// 裁判所の判断プロセス(疑似コード)
// 強調点:判例(特に規範形成的なもの)は、法規の条文だけでは判断できない
// 「例外的な状況」に対応するための重要な仕組み(=例外処理)である。
function 裁判所の判断(事案):
try:
// 1. 事実認定
認定事実 = 事実認定(事案.証拠リスト, 事案.当事者主張)
// 2. 適用されるべき【基本ルール】(法規の条文)の特定
適用法規 = 選択された法規(事案の種類, 認定事実)
// 3. 【原則】基本ルール(条文)による判断試行:
// まず、法律に明記されたルールで解決できるか試みる。
判断結果 = 条文に基づく判断(適用法規, 認定事実)
if 判断結果 is 明確 (TRUE または FALSE):
// 条文だけで判断できた場合(例外処理は不要)
if 判断結果 is TRUE:
判決 = 結論を生成(認容または有罪など, "条文適用", 認定事実)
else:
判決 = 結論を生成(棄却または無罪など, "条文適用", 認定事実)
return 判決
else: // 判断結果 is 不明確
// ★★★ 条文だけでは対応できない! 例外処理が必要 ★★★
// ここで初めて「判例」の出番、あるいは新たな「解釈」が必要となる。
ログ("条文のみでは判断不明確。例外処理(判例参照 or 新規解釈)を開始します。")
throw new 例外処理要求("条文解釈の限界", 適用法規, 認定事実)
catch (例外処理要求 例外 e):
// -----------------------------------------------------
// ▼ ここからが「例外処理」としての判例・解釈のフェーズ ▼
// -----------------------------------------------------
// A. 【例外処理パターン1】過去の例外処理事例(判例)を参照
ログ("例外処理:過去の類似事例(判例)を探します...")
関連判例 = 判例DB検索(e.問題の法規, e.関連事実)
if 関連判例が存在し、適用可能:
// 確立された「例外処理ルール」(=判例)が見つかった場合
ログ("例外処理:適用可能な判例が見つかりました。判例規範「" + 関連判例.規範名 + "」を適用します。")
要件充足 = 判例規範に基づく判断(関連判例, e.関連事実)
判決理由 = "判例規範(" + 関連判例.規範名 + ")適用"
if 要件充足:
判決 = 結論を生成(認容または有罪など, 判決理由, e.関連事実)
else:
判決 = 結論を生成(棄却または無罪など, 判決理由, e.関連事実)
return 判決
else:
// B. 【例外処理パターン2】新たな例外処理ルール(=規範)を創造
// 適用できる過去のルール(判例)がない場合、裁判所が自らルールを作る。
// これが将来の「判例」となる。
ログ("例外処理:適用可能な判例なし。新規に法解釈(規範創造)を行います。")
新たな規範 = 裁判所による規範創造(e.問題の法規, 関連判例, e.学説, e.事案の性質)
ログ("例外処理:新たな規範「" + 新たな規範.名称 + "」を本件に適用します。")
// C. 創造したルール(新たな規範)で判断
要件充足 = 新たな規範に基づく判断(新たな規範, e.関連事実)
判決理由 = "新規解釈による規範(本判決)適用"
if 要件充足:
判決 = 結論を生成(認容または有罪など, 判決理由, e.関連事実)
else:
判決 = 結論を生成(棄却または無罪など, 判決理由, e.関連事実)
return 判決
finally:
// 上訴可能性:特に新たな規範が示された例外処理の結果は、上級審で再度検証される可能性がある
if 判決に不服 and 上訴期間内:
ログ("上訴の可能性があります。特に新規規範については最高裁での最終判断が重要です。")
else:
ログ("判決は確定しました。")
// --- 補助関数(一部抜粋・概念)---
// 3. 条文に基づく判断
function 条文に基づく判断(法規, 事実):
// 文言解釈などで明確に判断できるか試みる
if 法規.文言から明白に判断可能(事実):
return 法規.文言に基づく判断結果(事実) // TRUE or FALSE
else:
return 不明確 // 例外処理が必要な状態
// A. 判例規範に基づく判断
function 判例規範に基づく判断(判例, 事実):
// 判例が示したルールに照らして判断
// ...
return true / false
// B. 裁判所による規範創造
function 裁判所による規範創造(法規, 関連判例, 学説, 事案):
// ★★★ 法の空白や不明確さを埋めるための創造的プロセス ★★★
// 立法の趣旨、社会状況、他の法原則などを考慮し、
// 「もし立法者がこの状況を想定していたら、どういうルールを作ったか」
// という視点も含め、具体的な判断基準(規範)を導き出す。
// ...
return 新たな規範オブジェクト
// C. 新たな規範に基づく判断
function 新たな規範に基づく判断(規範, 事実):
// 裁判所が今回示した新しいルールに照らして判断
// ...
return true / false