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


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 차 등을위한 동일한 추론. 더 높은 차수의 논리는 모든 순서를 받아들입니다. 함수 등의 함수를 인수로하는 함수를 가진 HaskellOCaml 을 생각해보십시오 .
  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.