Přirozený odpočet

Přirozená dedukce je v matematické logice přístup k teorii důkazu, který se pokouší poskytnout formální model logického uvažování tak, jak se „přirozeně“ vyskytuje.

Přirozená dedukce vyrostla z kontextu nespokojenosti se sententiálními axiomatizacemi společnými pro systémy Hilberta, Frege a Russella (viz např. Hilbertův styl dedukčního systému). Takové axiomatizace byly nejznáměji použity Russellem a Whiteheadem v jejich matematickém pojednání Principia Mathematica. Podněcován sérií seminářů v Polsku v roce 1926 Łukasiewiczem, který obhajoval přirozenější zacházení s logikou, Jaśkowski učinil první pokusy definovat přirozenější dedukci, nejprve v roce 1929 pomocí diagrammatického zápisu, a později aktualizoval svůj návrh v posloupnosti prací v letech 1934 a 1935. Jeho návrhy se však neukázaly být populární. Přirozená dedukce ve své moderní podobě byla nezávisle navržena německým matematikem Gentzenem v roce 1935, v disertační práci dodané na fakultu matematických věd univerzity v Göttingenu. Termín přirozená dedukce (nebo spíše její německý ekvivalent) byl vytvořen v této práci:

Gentzen byl motivován touhou zavést konzistenci teorie čísel a našel okamžité využití pro svůj přirozený dedukční kalkul. Byl nicméně nespokojen se složitostí svých dokladů a v roce 1938 vydal nový důkaz konzistence pomocí svého sekvenčního kalkulu. V sérii seminářů v roce 1961 a 1962 Prawitz vydal komplexní shrnutí přirozených dedukčních kalkulů a převedl velkou část Gentzenovy práce se sekvenčními kalkuly do přirozeného dedukčního rámce. Jeho monografie z roku 1965 Přírodní dedukce: důkaz-teoretická studie se měla stát konečnou prací na přirozené dedukce a zahrnovala žádosti o modální a logiku druhého řádu.

Systém prezentovaný v tomto článku je malou variací Gentzenovy nebo Prawitzovy formulace, ale s bližším lpěním na Martinově-Löfově popisu logických úsudků a spojek (Martin-Löf, 1996).

Rozsudky a návrhy

Soud je něco, co lze poznat, tedy předmět poznání. Je to zřejmé, pokud to člověk skutečně ví. Tudíž „prší“ je soud, který je zřejmý pro toho, kdo ví, že skutečně prší; v tomto případě lze snadno najít důkaz pro rozsudek pohledem z okna nebo vystoupením z domu. V matematické logice však důkaz často není tak přímo pozorovatelný, ale spíše vyvozený ze základních zřejmých úsudků. Proces dedukce je to, co představuje důkaz; jinými slovy, rozsudek je zřejmý, pokud pro něj má člověk důkaz.

Rozsudek „A prop“ definuje strukturu platných důkazů A, která zase definuje strukturu tvrzení. Z tohoto důvodu jsou odvozovací pravidla pro tento úsudek někdy známa jako pravidla tvorby. Pro ilustraci, pokud máme dvě tvrzení A a B (to znamená, že úsudky „A prop“ a „B prop“ jsou evidentní), pak tvoříme složený návrh A a B, napsaný symbolicky jako „“. Můžeme to napsat ve formě odvozovacího pravidla:

Toto odvozovací pravidlo je schematické: A a B mohou být instancovány s jakýmkoli výrazem. Obecná podoba odvozovacího pravidla je:

kde každý je úsudek a odvozovací pravidlo je pojmenováno „jméno“. Úsudky nad čarou jsou známé jako premisy a úsudky pod čarou jsou závěry. Dalšími běžnými logickými tvrzeními jsou disjunkce (), negace (), implikace () a logické konstanty pravda () a lež (). Jejich pravidla tvorby jsou uvedena níže.

Úvod a eliminace

Nyní probereme úsudek „A true“. Pravidla o nevěře, která zavádějí logickou spojku v závěru, jsou známa jako úvodní pravidla. Pro zavedení spojek, tj. pro uzavření „A a B true“ pro tvrzení A a B, je třeba mít důkaz pro „A true“ a „B true“. Jako pravidlo pro vyvození:

Je třeba si uvědomit, že v takových pravidlech jsou objekty návrhy. To znamená, že výše uvedené pravidlo je ve skutečnosti zkratka pro:

První předpoklad lze v této formě naplnit pravidlem vzniku, přičemž první dva předpoklady jsou dány předchozím tvarem. V tomto článku vyloučíme „podpůrné“ soudy tam, kde jsou pochopeny. V nultárním případě lze odvodit pravdu z žádných předpokladů.

Pokud lze pravdivost tvrzení zjistit více než jedním způsobem, má odpovídající pojivo více úvodních pravidel.

Všimněme si, že v případě nuly, tj. pro nepravdu, neexistují žádná úvodní pravidla. Tudíž nikdy nelze vyvozovat nepravdu z jednodušších úsudků.

Dvojí až úvodní pravidla jsou eliminační pravidla, která popisují, jak dekonstruovat informace o složené propozici na informace o jejích složkách. Tudíž z „A ∧ B true“ můžeme vyvodit „A true“ a „B true“:

Jako příklad použití pravidel odvození uvažujme komutativitu konjunkce. Pokud A ∧ B je pravda, pak B ∧ A je pravda; Tuto derivaci lze odvodit složením pravidel odvození takovým způsobem, že předpoklady nižšího odvození odpovídají závěru dalšího vyššího odvození.

Dosud známá čísla odvození nejsou dostatečná k tomu, aby stanovila pravidla implicitního zavedení nebo disjunkčního vyloučení; k tomu potřebujeme obecnější pojem hypotetického odvození.

Všudypřítomná operace v matematické logice je uvažování z předpokladů. Vezměme si například následující odvození:

Toto odvození neprokazuje pravdivost B jako takové, ale spíše konstatuje následující skutečnost:

V logice se říká „za předpokladu, že A ∧ (B ∧ C) je pravda, ukazujeme, že B je pravda“; jinými slovy, úsudek „B pravda“ závisí na předpokládaném úsudku „A ∧ (B ∧ C) pravda“. Jedná se o hypotetickou derivaci, kterou píšeme takto:

Výklad zní: „B true je odvozitelné od A ∧ (B ∧ C) true“. Samozřejmě v tomto konkrétním příkladu skutečně známe odvození „B true“ od „A ∧ (B ∧ C) true“, ale obecně nemusíme a priori znát odvození. Obecná podoba hypotetického odvození je:

Doporučujeme:  Jóga

Každá hypotetická derivace má kolekci předposledních derivací (Di) napsaných na horním řádku a sukedentní úsudek (J) napsaný na spodním řádku. Každá z premis může být sama o sobě hypotetickou derivací. (Pro zjednodušení zacházíme s úsudkem jako s derivací bez premis.)

Pojem hypotetického úsudku je internalizován jako pojivo implikace. Zaváděcí a eliminační pravidla jsou následující.

V úvodním pravidle je v závěru vypouštěn předchůdce pojmenovaný u. Jedná se o mechanismus pro vymezení rozsahu hypotézy: jeho jediným důvodem existence je stanovení „B pravda“; nemůže být použit k žádnému jinému účelu, a zejména nemůže být použit pod úvodem. Jako příklad uveďme odvození „A ⊃ (B ⊃ (A ∧ B)) pravda“:

Tato úplná derivace nemá žádné neuspokojené premisy, nicméně subderivace jsou hypotetické. Například derivace „B ⊃ (A ∧ B) true“ je hypotetická s předponou „A true“ (pojmenovaná u).

S hypotetickými derivacemi můžeme nyní napsat vylučovací pravidlo pro disjunkci:

Řečeno slovy, je-li A ∨ B pravdivé a můžeme odvodit C pravdivé jak z A pravdivé, tak z B pravdivé, pak C je skutečně pravdivé. Všimněte si, že toto pravidlo se nezavazuje ani k A pravdivé, ani k B pravdivé. V případě nula-ary, tj. za nepravdu, dostaneme následující vylučovací pravidlo:

To se čte takto: pokud je nepravda pravdivá, pak je pravdivé každé tvrzení C.

Negace je podobná implikaci.

Protože tato pravidla jsou schematická, výklad úvodního pravidla je: jestliže z „A true“ můžeme odvodit pro každý výrok p, že „p true“, pak A musí být nepravdivé, tj. „ne A true“. Pro eliminaci, jestliže se ukáže, že A i ne A jsou pravdivé, pak je tu rozpor, v tom případě je každý výrok C pravdivý. Protože pravidla pro implikaci a negaci jsou si tak podobná, mělo by být docela snadné vidět, že ne A a A ⊃ ⊥ jsou rovnocenné, tj. každý je odvozitelný od druhého.

Konzistentnost, úplnost a běžné formy

Dvakrát, lokální úplnost říká, že vylučovací pravidla jsou dostatečně silná na to, aby rozložila spojku do formulářů vhodných pro její zaváděcí pravidlo. Opět pro spojky:

Tyto pojmy přesně odpovídají β-redukci a η-expanzi v lambda kalkulu pomocí Curryho-Howardova izomorfismu. Lokální úplností vidíme, že každá derivace může být převedena na ekvivalentní derivaci, kde je zavedeno hlavní spojivo. Ve skutečnosti, pokud celá derivace dodržuje toto pořadí eliminací následované zavedením, pak je to prý normální. V normální derivaci se všechny eliminace dějí nad zavedením. Ve většině logik má každá derivace ekvivalentní normální derivaci, nazývanou normální forma. Existenci normálních forem je obecně těžké prokázat pouze pomocí přirozené dedukce, i když takové záznamy v literatuře existují, především Dagem Prawitzem v roce 1961; viz jeho kniha Natural dedukce: a proof-theoretical study, A&W Stockholm 1965, no ISBN. Je mnohem snazší ukázat to nepřímo pomocí neřezané sekvenční kalkulové prezentace.

Rozšíření první a vyšší objednávky

Shrnutí systému prvního řádu

Logika předchozí části je příkladem jednotříděné logiky, tj. logiky s jediným druhem objektu: propozicemi. Bylo navrženo mnoho rozšíření tohoto jednoduchého rámce; v této části jej rozšíříme o druhý druh jednotlivců nebo pojmů. Přesněji, přidáme nový druh úsudku, „t je pojem“ (nebo „t pojem“), kde t je schematický. Zafixujeme spočitatelnou množinu V proměnných, další spočitatelnou množinu F funkčních symbolů a pojmy zkonstruujeme takto:

Pro propozice uvažujeme třetí spočitatelnou množinu P predikátů a definujeme atomové predikáty nad pojmy následujícím pravidlem formace:

Dále přidáme dvojici kvantifikovaných tvrzení: univerzální (∀) a existenční (∃):

Tyto kvantifikované propozice mají následující úvodní a eliminační pravidla.

V těchto pravidlech notace [t/x] A znamená nahrazení t pro každou (viditelnou) instanci x v A, vyhýbá se zachycení; více podrobností o této standardní operaci najdete v článku o lambdově kalkulu. Stejně jako dříve platí horní skripty na názvu pro komponenty, které jsou vybity: výraz a se nemůže vyskytnout v závěru ∀I (takové termíny jsou známé jako eigenvariables nebo parametry) a hypotézy pojmenované u a v v ∃E jsou lokalizovány do druhé premisy v hypotetické derivaci. Ačkoli výroková logika předchozích oddílů byla rozhodnutelná, přidáním kvantifikátorů se logika stává nerozhodnutelnou.

Diskuse o úvodních a eliminačních formách pro logiku vyššího řádu je mimo rámec tohoto článku. Je možné být mezi logikou prvního řádu a logikou vyššího řádu. Například logika druhého řádu má dva druhy tvrzení, jeden druh kvantifikace přes pojmy a druhý druh kvantifikace přes tvrzení prvního druhu.

Prezentace přirozené dedukce se dosud soustředila na povahu tvrzení bez uvedení formální definice důkazu. Pro formalizaci pojmu důkaz mírně pozměňujeme prezentaci hypotetických derivací. Označujeme předchůdce důkazními proměnnými (z nějaké spočitatelné množiny V proměnných) a zdobíme succedent skutečným důkazem. Předchůdkyně nebo hypotézy jsou od succedentu odděleny pomocí turniketu (⊢). Tato modifikace někdy vystupuje pod názvem lokalizované hypotézy. Následující diagram shrnuje změnu.

Sbírka hypotéz bude zapsána jako Γ, když jejich přesné složení není relevantní.
Aby byly důkazy explicitní, přesuneme se od neprokazatelného úsudku „A true“ k úsudku: „π je důkaz (A true)“, který je zapsán symbolicky jako „π : A true“. Podle standardního přístupu jsou důkazy specifikovány s vlastními pravidly tvorby pro úsudek „π proof“. Nejjednodušším možným důkazem je použití označené hypotézy; v tomto případě je důkazem samotné označení.

Doporučujeme:  Duševní onemocnění v anamnéze

Pro stručnost vynecháme posudkovou nálepku pravdivou ve zbytku tohoto článku, tj. napíšeme „Γ ⊢ π : A“. Znovu prozkoumejme některé spojky s explicitními důkazy. Pro spojku se podíváme na úvodní pravidlo ∧I, abychom objevili formu důkazů spojky: musí to být dvojice důkazů obou spojek. Tedy:

Eliminační pravidla ∧E1 a ∧E2 volí buď levou, nebo pravou spojku; důkazy jsou tedy dvojice projekcí – první (fst) a druhá (snd).

Pro implikaci, úvodní forma lokalizuje nebo váže hypotézu, napsanou pomocí λ; to odpovídá vybitému označení. V pravidle, „Γ, u:A“ znamená kolekci hypotéz Γ, spolu s další hypotézou u.

S důkazy, které jsou k dispozici explicitně, lze s důkazy manipulovat a uvažovat o nich. Klíčovou operací na důkazy je nahrazení jednoho důkazu předpokladem použitým v jiném důkazu. To je běžně známé jako substituční věta a lze to dokázat indukcí na hloubce (nebo struktuře) druhého úsudku.

Dosavadní úsudek „Γ ⊢ π : A“ měl čistě logickou interpretaci. V teorii typů je logický pohled vyměněn za výpočetnější pohled na objekty. Na výroky v logické interpretaci se nyní pohlíží jako na typy a na důkazy jako na programy v lambda kalkulu. Takže interpretace „π : A“ je „program π má typ A“. Logické spojky také dostávají jinou interpretaci: spojka je považována za součin (×), implikace za šipku funkce (→) atd. Rozdíly jsou však pouze kosmetické. Teorie typů má přirozenou dedukční prezentaci, pokud jde o pravidla vzniku, úvodu a eliminace; ve skutečnosti může čtenář snadno rekonstruovat to, co je známé jako jednoduchá teorie typů z předchozích oddílů.

Rozdíl mezi logikou a teorií typů je především v přesunu zaměření od typů (propozic) k programům (korekturám). Teorie typů se zajímá hlavně o konvertibilitu nebo redukovatelnost programů. Pro každý typ existují kanonické programy tohoto typu, které jsou neredukovatelné; ty jsou známé jako kanonické formy nebo hodnoty. Pokud může být každý program redukován na kanonickou formu, pak se o teorii typů říká, že normalizuje (nebo slabě normalizuje). Pokud je kanonická forma jedinečná, pak se o teorii říká, že silně normalizuje. Normalizace je vzácným rysem většiny netriviálních teorií typů, což je velký odklon od logického světa. (Připomeňme, že každá logická derivace má ekvivalentní normální derivaci.) Abychom načrtli důvod: v teoriích typů, které připouštějí rekurzivní definice, je možné psát programy, které se nikdy nesníží na hodnotu; takovým programům ve smyčce může být obecně dán jakýkoli typ. Zejména program ve smyčce má typ ⊥, i když neexistuje žádný logický důkaz o „⊥ pravda“. Z tohoto důvodu tvrzení jako typy; důkazy jako programové paradigma fungují pouze v jednom směru, pokud vůbec: interpretace typové teorie jako logiky obecně dává nekonzistentní logiku.

Tyto typy jsou zobecněním šipek a typů výrobků, o čemž svědčí jejich zaváděcí a eliminační pravidla.

Závislá typová teorie v plné obecnosti je velmi mocná: je schopna vyjádřit téměř jakoukoli myslitelnou vlastnost programů přímo v typech programu. Tato obecnost má vysokou cenu – kontrola, zda je daný program daného typu, je nerozhodnutelná. Z tohoto důvodu závislé typové teorie v praxi neumožňují kvantifikaci nad libovolnými programy, ale spíše se omezují na programy dané rozhodující indexové domény, například celá čísla, řetězce nebo lineární programy.

Vzhledem k tomu, že teorie závislých typů umožňují, aby typy byly závislé na programech, je přirozenou otázkou, zda je možné, aby programy byly závislé na typech, nebo na jakékoliv jiné kombinaci. Na takové otázky existuje mnoho druhů odpovědí. Populární přístup v teorii typů je umožnit, aby programy byly kvantifikovány přes typy, také známé jako parametrický polymorfismus; z toho existují dva hlavní druhy: pokud jsou typy a programy odděleny, pak člověk získá poněkud lépe vychovaný systém zvaný predikativní polymorfismus; pokud je rozdíl mezi programem a typem rozmazaný, získá typově-teoretický analog logiky vyššího řádu, také známý jako impredikativní polymorfismus. V literatuře byly zvažovány různé kombinace závislosti a polymorfismu, nejznámější je lambda krychle Henka Barendregta.

Průnik logiky a typové teorie je rozsáhlou a aktivní oblastí výzkumu. Nové logiky jsou obvykle formalizovány v obecném typově teoretickém prostředí, známém jako logický rámec. Populární moderní logické rámce, jako je počet konstrukcí a LF, jsou založeny na typové teorii závislé na vyšším řádu, s různými kompromisy, pokud jde o rozhodnost a výrazovou sílu. Tyto logické rámce jsou samy o sobě vždy specifikovány jako přirozené dedukční systémy, což je svědectvím univerzálnosti přirozeného dedukčního přístupu.

Klasická a modální logika

Pro zjednodušení byly dosud prezentované logiky intuicionistické. Klasická logika rozšiřuje intuicionistickou logiku o další axiom nebo princip vyloučeného středu:

Toto tvrzení zjevně není ani úvodem, ani eliminací; skutečně zahrnuje dvě odlišné spojky. Gentzenova původní léčba vyloučeného prostředku předepsala jednu z následujících tří (ekvivalentních) formulací, které již byly v analogických formách přítomny v systémech Hilberta a Heytinga:

(XM3 je pouze XM2 vyjádřené jako E.) Toto zacházení s vyloučenou střední, kromě toho, že je z hlediska puristy problematické, přináší další komplikace v definici normálních forem.

Doporučujeme:  Kolektivní identita

Další důležité rozšíření bylo pro modální a jiné logiky, které potřebují víc než jen základní úsudek o pravdě. Ty byly poprvé popsány v přirozeném dedukčním stylu Prawitzem v roce 1965 a od té doby nahromadily velké množství souvisejících prací. Abych uvedl jednoduchý příklad, modální logika nutnosti vyžaduje jeden nový úsudek, „A validní“, který je kategorický s ohledem na pravdu:

Modální hypotézy mají vlastní verzi pravidla hypotézy a substituční věty.

Tento rámec oddělování rozsudků do odlišných sbírek hypotéz, také známý jako multi-zoned nebo polyadic kontexty, je velmi silný a rozšiřitelný; to bylo použito pro mnoho různých modální logiky , a také pro lineární a jiné substrukturální logiky, abychom uvedli několik příkladů.

Srovnání s ostatními základními přístupy

Hlavní článek: sekvenční kalkul

Sekvenční kalkul je hlavní alternativou k přirozené dedukci jako základu matematické logiky. V přirozené dedukci je tok informací obousměrný: eliminační pravidla proudí informace směrem dolů dekonstrukcí a úvodní pravidla proudí informace směrem nahoru sestavením. Přirozený dedukční důkaz tedy nemá čistě zdola nahoru nebo shora dolů čtený, což ho činí nevhodným pro automatizaci při hledání důkazu nebo dokonce pro kontrolu důkazu (nebo kontrolu typu v teorii typu). Aby tuto skutečnost vyřešil, Gentzen v roce 1935 navrhl svůj sekvenční kalkul, ačkoli jej původně zamýšlel jako technický prostředek pro objasnění konzistence predikátové logiky. Kleene ve své zásadní knize Úvod do metachemie z roku 1952 (ISBN 0-7204-2103-9) uvedl první formulaci sekvenčního kalkulu v moderním stylu.

V sekvenčním kalkulu mají všechna inferenční pravidla čistě zdola nahoru. Inferenční pravidla mohou platit pro prvky na obou stranách turniketu. (Pro odlišení od přirozené dedukce používá tento článek dvojitou šipku ⇒ místo pravého obratu ⊢ pro sekvence.) Zaváděcí pravidla přirozené dedukce jsou v sekvenčním kalkulu chápána jako správná pravidla a jsou si strukturálně velmi podobná. Eliminační pravidla se naopak v sekvenčním kalkulu mění na levá pravidla. Pro příklad si vezměme disjunkci; správná pravidla jsou známá:

Připomeňme si pravidlo ∨E přirozené dedukce v lokalizované podobě:

Tvrzení A ∨ B, které je výsledkem předpokladu v ∨E, se mění v hypotézu závěru v levém pravidle ∨L. Levá pravidla lze tedy chápat jako jakési obrácené vylučovací pravidlo. Toto zjištění lze ilustrovat následovně:

V sekvenčním kalkulu se levá a pravá pravidla provádějí v lock-step, dokud nedosáhneme počátečního sequentu, který odpovídá bodu setkání eliminačních a úvodních pravidel v přirozené dedukci. Tato počáteční pravidla jsou povrchně podobná hypotetickému pravidlu přirozené dedukce, ale v sekvenčním kalkulu popisují transpozici nebo podání ruky levého a pravého tvrzení:

Korespondence mezi sekvenčním kalkulem a přirozenou dedukcí je dvojice vět o spolehlivosti a úplnosti, které jsou prokazatelné pomocí induktivního argumentu.

Z těchto vět je zřejmé, že sekvenční počet nemění pojem pravdy, protože stejná množina tvrzení zůstává pravdivá. Lze tedy použít stejné důkazní objekty jako dříve v derivacích sekvenčního počtu. Jako příklad si vezměme spojky. Správné pravidlo je prakticky totožné s úvodním pravidlem

Levé pravidlo však provádí některé další substituce, které nejsou provedeny v odpovídajících eliminačních pravidlech.

Druhy důkazů generovaných v sekvenčním kalkulu jsou proto dosti odlišné od těch, které se týkají přirozené dedukce. Sekvenční kalkul vytváří důkazy v tom, co je známo jako β-normální η-dlouhá forma, která odpovídá kanonické reprezentaci normální formy přirozené dedukce důkazu. Pokusíme-li se popsat tyto důkazy pomocí samotné přirozené dedukce, získáme to, co se nazývá interalační kalkul (poprvé popsaný Johnem Byrnesem ), který může být použit k formálnímu definování pojmu normální formy pro přirozenou dedukci.

Substituční věta přírodní dedukce má podobu strukturálního pravidla nebo strukturální věty známé jako řez v sekvenčním kalkulu.

Ve většině dobře vychovaných logik je řez zbytečný jako odvozovací pravidlo, i když zůstává prokazatelný jako meta-věta; nadbytečnost řezového pravidla je obvykle prezentována jako výpočetní proces, známý jako eliminace řezu. To má zajímavé využití pro přirozenou dedukci; obvykle je extrémně únavné dokazovat určité vlastnosti přímo v přirozené dedukci kvůli neomezenému počtu případů. Vezměme si například, že dané tvrzení není prokazatelné v přirozené dedukci. Jednoduchý induktivní argument selže kvůli pravidlům jako ∨E nebo E, která mohou zavést libovolné tvrzení. Nicméně víme, že sekvenční kalkul je kompletní s ohledem na přirozenou dedukci, takže stačí ukázat tuto neprokazatelnost v sekvenčním kalkulu. Nyní, pokud řez není k dispozici jako odvozovací pravidlo, pak všechna sekvenční pravidla buď zavedou spojku napravo nebo nalevo, takže hloubka sekvenční derivace je plně ohraničena spojkami v konečném závěru. Prokázání neprokazatelnosti je tedy mnohem jednodušší, protože existuje pouze konečný počet případů, které je třeba vzít v úvahu, a každý případ se skládá výhradně z dílčích návrhů závěru. Jednoduchým příkladem toho je věta o globální konzistenci: „⋅ ⊢ ⊥ pravda“ není prokazatelná. Ve verzi sekvenčního kalkulu je to zjevně pravda, protože neexistuje žádné pravidlo, které by mohlo mít „⋅ ⇒ ⊥“ jako závěr! Důkazní teoretici často preferují práci na neřezaných formulacích sekvenčního kalkulu kvůli takovým vlastnostem.