Sekvencinis skaičiavimas

**Sekvencinis skaičiavimas ** – matematinės logikos formulių įrodymo būdas. Šis būdas pasižymi tuo, kad įrodymo metu yra konstruojama formulių seka, dar kitaip vadinama sekvencija, kurioje kiekviena formulė yra gaunama iš prieš tai buvusių formulių pagal skaičiavimo taisykles arba aksiomas.
  
Sekvencinis skaičiavimas yra formulių įrodymo sritis, kuri susideda iš šių skaičiavimų:
* Hilberto tipo teiginių skaičiavimo,
* Gentzeno tipo teiginių skaičiavimo, kuris susideda iš:
** Natūraliosios dedukcijos,
** Sekvencinio skaičiavimo (kartais dar vadinamo skaičiavimu G).

## Kontekstas
XX a. pradėjus atsirasti informatikos užuomazgoms, matematikai stengėsi formalizuoti matematines žinias, jog šios galėtų būti panaudotos algoritmų kūrime, tad vienas iš formalizavimo rezultatų – sekvencinis skaičiavimas. Hilberto tipo teiginių skaičiavimas buvo aprašytas vokiečių mokslininko Deivido Hilberto kaip tiesioginis tapačiai teisingų formulių formalus įrodymo būdas. Gentzeno tipo sekvencinis skaičiavimas (natūralioji dedukcija ir sekvencinis skaičiavimas) – 1934 m. vokiečių matematiko Gerardo Gentzeno aprašytas formalizavimo būdas, kuris nustato tapačiai teisingas formules. Sekvencinį skaičiavimą taip pat tyrinėjo mokslininkai Dagas Pravitsas, Džordžas Kreisleris ir kiti. 

## Hilberto tipo teiginių skaičiavimas
**Hilberto tipo teiginių skaičiavimas** – tai skaičiavimas su aksiomų schemomis 1.1-4.3 ir Modus Ponens taisykle. Formulė F įrodoma Hilberto tipo teiginių skaičiavime, jei yra tokia formulių seka, kurioje kiekviena formulė yra aksioma arba gauta pagal Modus Ponens taisyklę iš prieš tai parašytų ir kuri (seka) baigiasi formule F  .
 
Formulė F įrodoma Hilberto tipo teiginių skaičiavime tada ir tik tada, kai ji yra tapačiai teisinga. Iš to išplaukia, jog galime įrodyti ir faktą, jog formulė F yra tapačiai klaidinga įrodydami, kad  \lnot F yra tapačiai teisinga. Jeigu formulės tapataus teisingumo arba klaidingumo įrodyti nepavyksta, šis skaičiavimas nieko nepasako apie formulės teisingumą ar klaidingumą.
  
**Aksiomų schemos**

1.1. A \rightarrow (B \rightarrow A)

1.2. (A\rightarrow(B\rightarrow C))\rightarrow((A\rightarrow B)\rightarrow(A\rightarrow C))

2.1. (A\land B)\rightarrow A

2.2. (A\land B)\rightarrow B

2.3. (A\rightarrow B)\rightarrow((A\rightarrow C)\rightarrow(A\rightarrow(B\land C)))

3.1. A\rightarrow(A\lor B)

3.2. B\rightarrow(A\lor B)

3.3. (A\rightarrow C)\rightarrow((B\rightarrow C)\rightarrow((A\lor B)\rightarrow C))

4.1. (A\rightarrow B)\rightarrow(\lnot B\rightarrow \lnot A)

4.2. A\rightarrow \lnot \lnot A

4.3. \lnot \lnot A\rightarrow A

**Taisyklė** Modus ponens:

P \to Q,\; P\;\; \vdash\;\; Q

## Gentzeno tipo sekvencinis skaičiavimas
Gentzeno tipo sekvenciniuose skaičiavimuose yra formuojamas išvedimo medis tikrinamai formulei F. Jis konstruojamas pagal tam skaičiavimui priklausančias taisykles bandant gauti visose šakose aksiomas. Sekvencinio skaičiavimo taisyklė yra apverčiama, jei taisyklės išvada išvedama tada ir tik tada, kai išvedamos visos taisyklės prielaidos. Ne visos natūraliosios dedukcijos taisyklės yra apverčiamos, sekvenciniame skaičiavime apverčiamos taisyklės yra visos.

Tiek natūralioji dedukcija, tiek ir sekvencinis skaičiavimas vienodai įrodo formulės tapatų teisingumą, todėl yra įrodyta, jog šie skaičiavimai rezultatų prasme yra izomorfiški. Taip pat yra įrodyta, jog Gentzeno tipo sekvencinis skaičiavimas rezultato prasme yra ekvivalentus Hilberto tipo teiginių skaičiavimui.

### Natūralioji dedukcija

**Natūralioji dedukcija** yra sekvencinis skaičiavimas su aksioma   A \vdash A  ir taisyklėmis. Įrodymo metodas įrodymu yra laikomas tada ir tik tada, kai jam pakanka taisyklių, kad būtų gaunama aksioma. Nagrinėjamas skaičiavimas apibendrina natūraliųjų skaičiavimų variantus ir skiriasi nuo pradinių tokio tipo skaičiavimų. Kaip ir sekvenciniame skaičiavime, sekvencija   \vdash F  išvedama tada ir tiktai tada, kai  F  tapačiai teisinga .
 
Natūraliojo skaičiavimo įrodymas paremtas implikacijos taisykle: jei B gali būti gaunama iš A pagal išvedimo taisyklę, tai A\rightarrow B įrodyta. Implikacijos (\rightarrow ) operacijos simbolis taisyklėse žyminas \vdash  simboliu. Svarbu, kad sekvencijų dešinėje pusėje nuo paskutinės implikacijos taisyklės yra ne daugiau kaip viena formulė .
 
**Natūraliosios dedukcijos taisyklės**

Čia  \Gamma, \Delta, \Delta'  yra baigtinės formulių sekos (gali būti ir tuščios).  A, B, C  – formulės. Taisyklių prielaidose esančių formulių tvarka yra nesvarbi. Žvaigždute pažymėtos taisyklės yra apverčiamos.

Skaičiavimai vadinami natūraliosiomis sistemomis, nes perėjimai nuo prielaidų prie išvadų modeliuoja tiek šnekamosios kalbos, tiek mokslininkų įrodymuose vartojamus samprotavimus.

### Sekvencinis skaičiavimas
**Sekvencinis skaičiavimas** (Gentzeno tipo sekvencinis skaičiavimas arba sekvencinis skaičiavimas G) – tai skaičiavimas su aksioma \Gamma, A, \vdash A, \Delta ir taisyklėmis (\rightarrow \vdash), (\vdash \rightarrow), (\land \vdash), (\vdash \land), (\lor \vdash), (\vdash \lor), (\lnot \vdash), (\vdash \lnot) .
  
Sekvencija S išvedama sekvenciniame skaičiavime, jeigu yra toks medis, kuriam teisinga :
* kiekvienoje medžio viršūnėje yra sekvencija,
* medžio šaknyje yra sekvencija S,
* jei viršūnė V' turi vaikus V_1 (ir V_2) ir viršūnėse V', V_1(, V_2) yra atitinkamai sekvencijos S', S_1(, S_2), tai sekvencija S' yra gauta pagal kurią nors sekvencinio skaičiavimo taisyklę iš sekvencijų S_1 (ir S_2),
* visuose medžio lapuose yra sekvencijos, kurios yra aksiomos.
Logikos formulė F yra tapačiai teisinga tada ir tik tada, kai sekvencija \vdash F yra išvedama sekvenciniame skaičiavime. Iš to išplaukia, jog formulė F yra tapačiai klaidinga tada ir tik tada, kai yra išvedama skaičiavime sekvencija F\vdash.
  
**Aksioma**:   \Gamma, A \vdash A, \Delta , kur A yra formulė, o \Gamma ir \Delta yra formulių sekos (gali būti ir tuščios).

**Taisyklės**:
 

Čia A, B yra formulės, \Gamma, \Delta – formulių sekos (gali būti ir tuščios). Formulių išsidėstymo tvarka nėra svarbi.

## Išnašos