논리 란 정확히 무엇입니까?


36

전제 조건에 대한 또 다른 질문을 한 것이 사과가 될 수 있지만 시작점에 대해서는 혼란 스러웠습니다. 나는 "Modal Logic", "Temporal Logic", "First-order Logic", "Second order Logic"및 "Higher order Logic"과 같은 다양한 용어를 접했습니다.

이 맥락에서 "논리"는 정확히 무엇을 의미합니까? "논리"라는 단어를 어떻게 엄격하게 정의합니까?

나는 몇 권의 책의 시작 페이지를 살펴본 후 "논리는 프로그램의 자동 추론 및 이해를위한 프로그램 설계를 지시하고 촉진함으로써 프로그래밍 언어를 설계 할 때 무엇이 ​​중요한지를 결정하는 방법"이라고 대략 결론을 내릴 수 있습니다. 조금 정교하게 두 번째 요점을 이해합니다.

이제이 논리에 왔습니다.

이러한 모든 논리, "시간 논리", "모달 논리", "일차 논리", "고차 논리"가 서로 독립적입니까? 아니면이 그룹의 다른 몇 가지를 이해하려면 이러한 논리 중 몇 가지를 이해해야합니까? 간단히 말해서, 그들에 대한 전제 조건은 무엇입니까? (일부 자료에 대한 제안을 얻을 수 있다면 좋을 것입니다.)

PS : 당신의 친절에 감사합니다


17
이와 같은 질문 은 Kripke라는 누군가 가 물을 것이라고 아이러니합니다 . :-)
— David Richerby

1
나는 당신의 반응이 이상하지 않다고 말해야합니다. 나는 '대수학'에 대한 공식적인 정의를 만났을 때 나는 매우 놀랐다.
— 이산 도마뱀

2
@Discretelizard "Algebra"는 아마도 더 놀랍습니다. 왜냐하면 그들은 고등학교에서 대수학이라고 부르는 것과 전혀 관련이 없기 때문입니다.
— David Richerby

@DavidRicherby 저도 "선형 대수"는 대수입니다.
— Niklas Rosencrantz

1
@MartinRosenau 왜 퍼지 논리를 일반적인 논리 개념에 맞추는 데 장애가 될 것이라고 생각하십니까?
— Derek Elkins

답변:


39

기본적으로 논리는 두 가지로 구성됩니다.

  • 구문 은 수식이 무엇인지 아닌지를 결정하는 규칙 집합입니다.
  • 의미 체계 는 "참"인 수식과 "거짓"을 결정하는 일련의 규칙입니다. A를 모델 이론가 , 이것은 그들이 참된 걸 수학적 구조에 공식 관련된 표현된다; (A)에 증명 이론가 증명 규칙 (기술)의 선택 세트 공리 선택된 세트에도 낮게, 참값에 대응한다.

서로 다른 논리의 차이점은 가장 간단하게 구문과 의미를 선택하는 데 있습니다. 대부분의 논리는 명제 논리 또는 1 차 논리의 확장입니다 . 어떤 의미에서 이러한 확장은 논리에 "더 많은 기능 추가"로 볼 수 있습니다. 예를 들어, 시간적 논리는 시간에 따라 변할 수있는 진실을 처리합니다.

φttφt

거의 모든 논리가 제안 및 1 차 논리를 기반으로하기 때문에 우선 그에 대해 배우는 것이 좋습니다.


2
컴퓨터 과학자로서 나는 유형 이론과의 연결이 논리 학습에 매우 유용하다는 것을 고려했습니다. 타입 시스템은 Howard-Curry 서신을 통해 동등한 논리를 대체 표현하는 것으로 생각할 수 있습니다 . 피어스의 책 을 시작하는 것이 좋습니다 .
— phs

1
논리에는 구문뿐만 아니라 구문에 더 많은 것이 있으며 단순한 진리의 결정보다 의미에 더 있습니다.
— Andrej Bauer

이 답변에서 언급 된 견해와 대략 일치하며 통일 된 정의를 제공하려고 시도하고 (컴퓨터 과학의 문제를 해결하기 위해 고안된) 공식적인 관점은 제도 이론입니다 .
— Derek Elkins

우연히도, 제도는 논리 란 무엇입니까?
— Derek Elkins

@phs 와우 ... 나는 이것이 어떻게 멀리 왔는지는 모르겠지만, 함수를 Currying하는 것이 향신료 이외의 것에 대한 참조가 될 수 있다는 생각을 처음으로 생각한 것입니다.
— Cort Ammon

21

컴퓨터 과학, 수학 및 물리학과 같은 분야는 비교적 체계적으로 구성되어 있지만 논리는 혼란스러운 역사를 가지고 있습니다. 조직은 정말 혼란스러워서 필드의 밀도가 높은 구조를 이해하기 위해 몇 가지 역사를 읽는 것이 중요하다고 생각합니다.

선택해야 할 경로는 배경 과 목표 에 따라 다릅니다 .

논리 란 무엇입니까?

  1. 전통적 견해는 논리는 형식 언어 (구문), 의미론 (외부 의미, 프로그램 해석기의 생각) 및 다른 언어 (예 : 프로그램 축소). 논리는 순전히 단순한 수학적 대상으로 간주됩니다.

  2. 현대적인 관점은 유명한 Curry-Howard 동형 을 통해 논리는 일관된 유형 시스템 (증거는 프로그램이고 유형은 공식 임)이라고합니다. 보다 정확하게 : 컷-제거 이론과 교회-로저 정리 / 유용성 이론을 즐기는 추론 규칙 체계는 기본 프로그래밍 시스템이 잘 작동 함을 암시합니다.

  3. p,q

    • P,QP(x1,...,xn)Q(x1,...,xn)
    • 2 차 논리에서 술어에 대한 변수는 1 차 함수를 취하는 함수의 유형이됩니다. 그것들은 1 차 함수를 인수로 취하는 함수처럼 행동합니다. 예를 들어, 술어보다 술어와 수량을 가질 수 있습니다.
    • 3 차 등을위한 동일한 추론. 더 높은 차수의 논리는 모든 순서를 받아들입니다. 함수 등의 함수를 인수로하는 함수를 가진 Haskell 과 OCaml 을 생각해보십시오 .
  4. 일반적으로 논리가 무엇인지에 대한 합의는 없습니다. 일부 철학자들은 일관된 기본 프로그래밍 시스템이없는 시스템을 사용합니다. 사실, Logic을 사용하는 모든 필드에는 자체 로직 개념이 있다고 말할 수 있습니다. 그리고 대부분의 수학자들은 아마도 논리가 무엇인지 신경 쓰지 않을 것입니다.

필드의 구조

논리의 역사가 너무 커서 필드의 구조 만 설명하겠습니다. 형식적 논리의 분야는 철학적, 수학적, 계산적 용도로 나뉩니다. 공식적인 논리는 19-20 세기에 시작됩니다.

  • 제안 논리 와 1 차 논리를 먼저 공부해야합니다 . 그들은 가장 표준적인 것들입니다. 그것들은 고대 그리스 시대의 오래된 논리에 공식 / 수학적 설명을 제공하기 위해 만들어졌습니다.

    • 모델 이론 (의미론), 논리의 관점에서 수학적 구조 연구
    • 증명 이론 (구문)은 독립적으로 수학 객체로서 증명을 연구합니다.
  • 2 차 논리는 ​​제안 논리의 확장 인 1 차 논리의 확장입니다. 산술이 2 차 순서로 "실시간"(유도 된 술어에 대한 술어) 때문에 특히 흥미 롭습니다. 마찬가지로 토폴로지는 "3 차"(조건 자 자체로 볼 수있는 세트의 조건 자)에 있습니다.

  • 그런 다음 논리를 두 가지로 나눈 LEJ Brouwer 가 나왔습니다 .

    • AA∨¬A
    • 직관 논리 는 제외 된 중간 및 모든 동등한 법을 거부하는 일종의 논리 입니다 (기술 및 철학적 이유로 여기서 설명하지 않을 것입니다).
  • 다른 맥락에서, 철학자들은 형식적인 논리에 관심을 갖게되고 철학적 질문 (분석 철학)에 답할 수 있다고 생각했다. 그들은 독자적인 논리 시스템 (불일치 논리, 관련 논리 및 deontic 논리, 시간 논리, epistemic 논리 등의 모달 논리)을 만들었습니다. 모달 논리는 진실과 함께 작동하지 않지만 가능성, 필요성, 시간, 지식과 같은 방식으로 작동합니다. 그것들은 모두 위의 논리와 무관합니다.

  • λ

  • 컴퓨터 과학자들은 형식적인 방식으로 시스템의 부패를 검증하고 증명하기를 원했고 모달 논리가 관련이있는 것 같습니다. 오늘날에는 시스템에서 추론하기 위해 시간적 논리와 모달 논리를 사용합니다 (형식적 방법, 모델 검사 참조). 시스템은 Automata Theory (예 : Automata Theory)를 통해 모델링되며 논리 도구를 사용하여 확인됩니다. 그것은 LLT (Linear Temporal Logic) 와 CTL (Computational Tree Logic )로 이어졌다 .

  • 같은 동기로 컴퓨터 과학자들은 건전성을 확인하고 프로그램에 대한 속성을 증명하기를 원했습니다. 그래서 우리 는 명령형 프로그램을위한 Hoare Logic 과보다 일반적으로 Separation Logics를 발명했습니다 .

  • , 커리 - 하워드의 동형를 연구함으로써, 새로운 논리가 등장 : 선형 논리 교정 및 프로그램의 삭제 및 중복 운영으로 간주 구조 규칙 (약화 및 수축)을 제한합니다. 진실의 무한한 가능성이 드러납니다. 이 논리는 고전적이고 직관적 인 논리를 일반화 한 것으로 보이며 계산과 절차 적 패러다임을 기반으로 완전히 새로운 논리 개념을 제공합니다. 주로 컴퓨터 과학자들이 연구합니다.

  • Linear Logic은 또한 우리 가 Logic의 구조적 규칙을 거부하는 Substructural Logics 에서 나온 것 입니다. 관련 로직 및 Affine Logic이 이러한 시스템의 예입니다.

요약 및 경로 선택

  • 모든 논리는 명제 논리, 1 차, 2 차, 3 차, ..., 높은 차수 일 수 있습니다 (각각 앞의 것을 확장).

  • 기존 시스템을 변형하는 규칙을 추가하거나 제거 할 수 있습니다.

    • 제외 된 중간 제거 : 직관적 인 논리
    • 양식 추가 : 모달 로직
    • 모순 및 약화 제한 : 선형 논리
    • 수축 제거 : affine logic
    • 약화 제거 : 관련 로직
    • 부정을 다르게 처리 : 일관성없는 논리
  • 제안 논리와 1 차 논리를 먼저 배우고 :

    • 수학에 관심이 있다면 모형 이론, 2 차, 고차
    • 컴퓨터 과학의 기초에 관심이 있다면 증명 이론, 직관 논리, 2 차, 선형 논리
    • 시스템 및 프로그램의 검증에 관심이있는 경우 모달 논리, 호아 논리, 분리 논리
    • 철학에 관심이 있다면 일반적으로 모달 로직, 비 클래식 로직

참고 문헌 (도서)

나는 개인적으로 가능한 경우 참조를 혼합하는 것이 좋습니다.

  • 수학적 논리 (Chiswell & Hodges) : 매우 간결하고 간단한 책부터 시작하십시오.
  • Logic (Hedman)의 첫 번째 코스 : 위와 약간 비슷하지만 자세한 내용을 제공하고 계산 성을 고려하십시오.
  • 실제 논리 및 자동 추론 핸드북 (해리슨) : 일부 논리 관련 개념이 실제로 어떻게 구현되는지 이해하려는 경우. 자동화 된 추론에 중점을 둡니다.
  • 컴퓨터 과학의 논리 (Huth & Ryan) : 컴퓨터 과학자 (프로그램 및 시스템의 검증, Hoare 논리, 모달 논리의 실제 사용, 시간 논리, 모델 검사)에 대해 매우 명확하고 지향적입니다.
  • 증명 이론 소개 (버스) : 증명 이론 소개. 일반적인 논리 후에 이것을 읽는 것이 좋습니다.

참고 문헌 (Wikipedia)


글쎄, 이것은 매우 포괄적입니다. 시간을내어 작성해 주셔서 감사합니다.
— 이산 도마뱀

5
이것은 매우 포괄적으로 보이지만 나는 그것이 무엇인지 배우는 누군가에게 논리에 대해 두 번째로 말하는 Curry-Howard를 가져 오지 않을 것입니다. 실제로 유형 이론을 연구하지 않는 한 Curry-Howard는 "현대 논리의 정의"가 아닙니다. 그것은 단지 어떤 사람들이 논리로하는 일입니다.
— David Richerby

2
@DavidRicherby Ok. 나는 이해하지만 Curry-Howard는 컴퓨터 과학자들에게도 중요하다고 생각합니다 (또한 cs.stackexchange에 있기 때문에). 그것은 실제로 논리에 대한 현대적인 정의는 아니지만 일부 컴퓨터 과학자를위한 것이라고 생각합니다. 어떤 논리가 실제로 주관적 일 수 있습니다. 나는 원래의 포스터를 너무 많은 것들에 노출시키는 것이 항상 좋은 생각은 아니지만, 완전히 이해하기를 기대하지는 않습니다. 어떤 종류의 논리가 존재하고 어디에서 사용되는지 알고 있어야합니다.
— Boris E.

하스켈의 고차 로직은 함수를 입력으로 받아 들일 수있는 함수보다는 타입 연산자 가 될 것이라는 인상을 받았습니다 .
— martin

@martin Hm ... 메커니즘의 개념을 이해하는 것은 단순한 비유 일 뿐이지 만 너무 심각하게 받아 들여서는 안됩니다. 나는 정확하게 "고차 논리"(원래 포스터의 배경을 고려)보다는 "고차"라는 아이디어를 설명하고 싶었다.
— Boris E.

0

이러한 모든 논리는 수학 논리 아래에 있습니다.

수학적 논리는 종종 집합 이론, 모델 이론, 재귀 이론 및 증명 이론의 분야로 나뉩니다. 이러한 영역은 논리, 특히 1 차 논리 및 정의 가능성에 대한 기본 결과를 공유합니다. 컴퓨터 과학 (특히 ACM 분류에서)에서 수학적 논리는이 기사에서 자세히 설명하지 않은 추가 주제를 포함합니다. 그에 대한 컴퓨터 과학의 논리를 참조하십시오 .

또한 일반적인 용어로 논리에 대해 알고 싶다면 이 기사 가 유용 할 수 있습니다.

원래 "단어"또는 "말하는"을 의미하지만 "생각"또는 "이유"를 의미하는 논리는 가장 일반적인 진리의 법칙과 관련된 주제이며, 일반적으로 체계적인 연구로 구성됩니다. 유효한 추론의 형태. 유효한 추론은 추론의 가정과 결론 사이에 논리적지지에 대한 특정한 관계가있는 것이다.


4
흠, 나는 이것이 여기에 매우 도움이되는지 확실하지 않습니다. 다윗의 지위가 너의 것을 '대치'한다고 말하겠습니까? 그렇지 않다면 왜? 그 확장을 시도하십시오.
— 이산 도마뱀

@OmG : 배울 자료 목록을 추천 해 줄 수 있습니까?
— Sheldon Kripke
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.