lean4-logic icon indicating copy to clipboard operation
lean4-logic copied to clipboard

Rename and Move HilbertStyle to Propositional Logic

Open SnO2WMaN opened this issue 1 year ago • 4 comments

そろそろ改修したいこととして,

  1. HilbertStyleという名前はそろそろ古く,ちゃんとEntailmentに書き直すべきだと思う.
  2. そもそもあるべき場所としてはLogic以下ではなくPropositionalに置かれているべきな気もする(Modalはそうなっているので).
  3. いくつか古典論理を仮定する部分とそうでないものがごちゃごちゃになっておりそのたびにvariableの操作がめちゃくちゃになっているのでClassicalIntuitionisticなどにファイルを分離する.

やるとしたら #288 と並行してやるべきかもしれない.

SnO2WMaN avatar Apr 09 '25 11:04 SnO2WMaN

Łukasiewicz流の命名だが,N()とE()は良いのだが,他の論理記号の略称は自然ではないように思える.普通の略称として次のように改めたらどうだろうか.

  • : C -> I (Imply)
  • : K -> A (And)
  • : AO (Or)

SnO2WMaN avatar Apr 20 '25 14:04 SnO2WMaN

これらの記法は Łukasiewicz のオリジナルの記法を真似たものだった (cf. https://plato.stanford.edu/entries/lukasiewicz/polish-notation.html ).独自に記法を作るよりすでによく知られているものを使ったほうが良いと思うのだが,どうだろうか.

iehality avatar Apr 20 '25 17:04 iehality

私の慣れの問題な気もするので改めるのはなかったことにしてください.

それとは別の問題として,命題変数無しでŁukasiewicz記法を使う場合には論理式の形は一意に決まらないような気もするがどうだろうか.(例えばCCp➝q➝rでもp➝(q➝r)の両方の解釈が有り得る).命題変数自体の選び方や順番には依存してしまうがこれは書かなければならない情報であると思う.改修前のClでは書いていた. https://github.com/FormalizedFormalLogic/Foundation/blob/1301a4f129f6cf8288308f2df3d0bca3865edc41/Foundation/Logic/HilbertStyle/Cl.lean

SnO2WMaN avatar Apr 20 '25 18:04 SnO2WMaN

実用性を考えると,定理名はそれを検索しやすいものにしたいので主張から一意に定まるものにしたい.メタ変数記号を書いてしまうと変数名の分だけ自由があるので避けたい( mathlib の naming convention でも複数の解釈ができたとしてもメタ変数記号は書かない).どうしても被る場合は _right, _left ' などを後置すべきだと思う.加えて経験的に(少なくとも現行の HilbertStyle/Supplimental.lean 下のものは)被ることは少ない.

iehality avatar Apr 21 '25 06:04 iehality