Safety and liveness properties
ஒரு கணினி நிரலின் செயல்பாட்டின் பண்புகள்-குறிப்பாக ஒரே நேரத்தில் மற்றும் விநியோகிக்கப்பட்ட அமைப்புகளுக்கு-நீண்ட காலமாக பாதுகாப்பு பண்புகள் ("கெட்ட விஷயங்கள் நடக்காது") மற்றும் உயிர் பண்புகள் ("நல்ல விஷயங்கள் நடக்கும்") ஆகியவற்றை வழங்குவதன் மூலம் வடிவமைக்கப்பட்டுள்ளன. ஒரு எளிய உதாரணம் பாதுகாப்பு மற்றும் உயிர்வாழ்வை விளக்கும். ஒரு முன்நிபந்தனை மற்றும் பிந்தைய நிபந்தனையைப் பொறுத்தவரை ஒரு திட்டம் முற்றிலும் சரியானது, ஒரு மாநிலத்தில் தொடங்கப்பட்ட எந்தவொரு நிறைவேற்றமும் திருப்திகரமான நிலையில் முடிவடைந்தால். மொத்தத் துல்லியம் என்பது ஒரு பாதுகாப்புச் சொத்தும் உயிர்ச் சொத்தும் இணைவதாகும்ஃ பாதுகாப்புச் சொத்துகள் இந்த "கெட்ட விஷயங்களை" தடைசெய்கின்றனஃ ஒரு திருப்திகரமான நிலையில் தொடங்கி இறுதி நிலையில் முடிவடையும் மரணதண்டனைகள் திருப்தி அளிக்காது. ஒரு நிரலைப் பொறுத்தவரை, இந்த பாதுகாப்பு பண்பு பொதுவாக ஹோர் டிரிபிள் பயன்படுத்தி எழுதப்படுகிறது. லைவன்ஸ் பண்பு, "நல்ல விஷயம்", ஒரு திருப்திகரமான நிலையில் தொடங்கும் மரணதண்டனை முடிவடைகிறது. ஒரு கெட்ட விஷயம் தனித்துவமானது என்பதை நினைவில் கொள்க, ஏனெனில் அது மரணதண்டனையின் போது ஒரு குறிப்பிட்ட இடத்தில் நிகழ்கிறது. ஒரு "நல்ல விஷயம்" தனித்துவமாக இருக்க வேண்டிய அவசியமில்லை, ஆனால் முடிவின் உயிர் பண்பு தனித்துவமானது. பாதுகாப்பு பண்புகள் மற்றும் உயிர் பண்புகளுக்காக இறுதியில் முன்மொழியப்பட்ட முறையான வரையறைகள், இந்த சிதைவு உள்ளுணர்வாக கவர்ந்திழுக்கிறது மட்டுமல்லாமல் முழுமையானது என்பதையும் நிரூபித்ததுஃ ஒரு செயல்பாட்டின் அனைத்து பண்புகளும் பாதுகாப்பு மற்றும் உயிர் பண்புகளின் கலவையாகும். மேலும், சிதைவை மேற்கொள்வது உதவியாக இருக்கும், ஏனென்றால் முறையான வரையறைகள் பாதுகாப்பு பண்புகளை சரிபார்க்க மற்றும் உயிர் பண்புகளை சரிபார்க்க வெவ்வேறு முறைகள் பயன்படுத்தப்பட வேண்டும் என்பதற்கான ஆதாரத்தை செயல்படுத்துகின்றன. பாதுகாப்பு ஒரு பாதுகாப்புச் சொத்து ஒரு மரணதண்டனையின் போது தனித்துவமான மோசமான விஷயங்கள் ஏற்படுவதை தடைசெய்கிறது. ஒரு பாதுகாப்புச் சொத்து இவ்வாறு தடைசெய்யப்பட்டதைக் குறிப்பிடுவதன் மூலம் அனுமதிக்கப்படுவதை வகைப்படுத்துகிறது. கெட்ட விஷயம் தனித்துவமாக இருக்க வேண்டும் என்ற தேவை என்பது மரணதண்டனையின் போது நிகழும் ஒரு மோசமான விஷயம் அடையாளம் காணக்கூடிய ஒரு கட்டத்தில் அவசியம் நிகழ்கிறது என்பதாகும். ஒரு பாதுகாப்புச் சொத்தை வரையறுக்கப் பயன்படுத்தக்கூடிய ஒரு தனித்துவமான கெட்ட விஷயத்தின் எடுத்துக்காட்டுகள் பின்வருமாறுஃ கொடுக்கப்பட்ட முன்நிபந்தனையை பூர்த்தி செய்யும் நிலையில் தொடங்கும் ஒரு செயலாக்கம் முடிவடைகிறது, ஆனால் இறுதி நிலை தேவையான பிந்தைய நிபந்தனையை பூர்த்தி செய்யாது; இரண்டு ஒருங்கிணைந்த செயல்முறைகளை நிறைவேற்றுவது, அங்கு இரண்டு செயல்முறைகளுக்கான நிரல் கவுண்டர்கள் ஒரு முக்கியமான பிரிவுக்குள் அறிக்கைகளை குறிப்பிடுகின்றன; ஒவ்வொரு செயல்முறையும் மற்றொரு நிலை மாற காத்திருக்கும் இரண்டு ஒருங்கிணைந்த செயல்முறைகளை நிறைவேற்றுவது (முட்டுக்கட்டை என்று அழைக்கப்படுகிறது). ஒரு நிரலின் செயல்பாட்டை நிரலின் எல்லையற்ற வரிசையைக் கொடுப்பதன் மூலம் முறையாக விவரிக்க முடியும், இதன் விளைவாக செயல்படுத்தல் தொடர்கிறது, அங்கு ஒரு முடிவடையும் நிரலுக்கான கடைசி நிலை எல்லையற்ற முறையில் மீண்டும் மீண்டும் செய்யப்படுகிறது. ஆர்வமுள்ள ஒரு நிரலைப் பொறுத்தவரை, சாத்தியமான நிரல் நிலைகளின் தொகுப்பைக் குறிக்கலாம், நிரல் நிலைகளின் வரையறுக்கப்பட்ட வரிசைகளின் தொகுப்பைக் குறிக்கலாம் மற்றும் நிரல் நிலைகளின் எல்லையற்ற வரிசைகளின் தொகுப்பைக் குறிக்கலாம். உறவு வரிசைகளுக்கு பொருந்தும் மற்றும் iff என்பது முன்னொட்டு அல்லது சமம். ஒரு திட்டத்தின் பண்பு என்பது அனுமதிக்கப்பட்ட மரணதண்டனைகளின் தொகுப்பாகும். ஒரு பாதுகாப்புச் சொத்தின் இன்றியமையாத பண்பு என்னவென்றால்ஃ சில செயல்பாடுகள் திருப்தி அளிக்கவில்லை என்றால், அந்த பாதுகாப்புச் சொத்தின் வரையறுக்கும் கெட்ட விஷயம் ஒரு கட்டத்தில் நிகழ்கிறது. அத்தகைய மோசமான விஷயத்திற்குப் பிறகு, மேலும் மரணதண்டனை நிறைவேற்றப்பட்டால், அது திருப்தி அளிக்காது என்பதைக் கவனியுங்கள், ஏனெனில் கெட்ட விஷயமும் இதில் நிகழ்கிறது. கெட்ட விஷயங்களை சரிசெய்ய முடியாதது பற்றிய இந்த அனுமானத்தை ஒரு பாதுகாப்புச் சொத்தாக இருப்பதற்கான வரையறுக்கும் பண்பாக நாங்கள் எடுத்துக்கொள்கிறோம். முன்கணிப்பு தர்க்கத்தில் இதை முறைப்படுத்துவது ஒரு பாதுகாப்பு பண்பு என்பதற்கான முறையான வரையறையை வழங்குகிறது. பாதுகாப்பு பண்புகளுக்கான இந்த முறையான வரையறை, ஒரு செயலாக்கம் ஒரு பாதுகாப்பு சொத்தை திருப்திப்படுத்தினால், ஒவ்வொரு முன்னொட்டையும் (கடைசி நிலை மீண்டும் மீண்டும்) திருப்திப்படுத்துகிறது என்பதைக் குறிக்கிறது. லைவன்ஸ் ஒரு லைவன்ஸ் பண்பு ஒவ்வொரு மரணதண்டனைக்கும் நல்ல விஷயங்களை பரிந்துரைக்கிறது அல்லது, சமமாக, ஒரு மரணதண்டனையின் போது நடக்க வேண்டிய ஒன்றை விவரிக்கிறது. நல்ல விஷயம் தனித்துவமாக இருக்க வேண்டியதில்லை-அது எண்ணற்ற படிகளை உள்ளடக்கியிருக்கலாம். லைவன்ஸ் சொத்தை வரையறுக்கப் பயன்படுத்தப்படும் ஒரு நல்ல விஷயத்தின் எடுத்துக்காட்டுகள் பின்வருமாறுஃ பொருத்தமான நிலையில் தொடங்கப்பட்ட ஒரு மரணதண்டனையை நிறுத்துதல்; பொருத்தமான நிலையில் தொடங்கப்பட்ட ஒரு மரணதண்டனையை நிறுத்தாதது; நுழைவு முயற்சிக்கப்படும் போதெல்லாம் ஒரு முக்கியமான பகுதிக்கு இறுதியில் நுழைவதற்கு உத்தரவாதம் அளிக்கப்படுகிறது; மோதல் முன்னிலையில் ஒரு வளத்திற்கான நியாயமான அணுகல். முதல் எடுத்துக்காட்டில் உள்ள நல்ல விஷயம் தனித்துவமானது, ஆனால் மற்றவற்றில் இல்லை. ஒரு குறிப்பிட்ட நிகழ்நேர வரம்பிற்குள் ஒரு பதிலைத் தயாரிப்பது ஒரு உயிர் சொத்தை விட ஒரு பாதுகாப்புச் சொத்தாகும். ஏனென்றால், ஒரு தனித்துவமான கெட்ட விஷயம் தடைசெய்யப்படுகிறதுஃ பதில் இன்னும் தயாரிக்கப்படாத ஒரு நிலையை அடையும் ஒரு பகுதி செயல்படுத்தல் மற்றும் கடிகாரத்தின் மதிப்பு (ஒரு நிலை மாறி) வரம்பை மீறுகிறது. டெட்லாக் சுதந்திரம் என்பது ஒரு பாதுகாப்புச் சொத்தாகும்ஃ "கெட்ட விஷயம்" என்பது ஒரு முட்டுக்கட்டை (இது தனித்துவமானது). பெரும்பாலான நேரங்களில், ஒரு நிரல் இறுதியில் சில "நல்ல விஷயங்களைச்" செய்கிறது என்பதை அறிவது திருப்திகரமாக இல்லை; நிரல் சில படிகளுக்குள் அல்லது சில காலக்கெடுவிற்குள் "நல்ல விஷயத்தை" செய்கிறது என்பதை நாம் தெரிந்து கொள்ள விரும்புகிறோம். "நல்ல விஷயத்திற்கு" ஒரு குறிப்பிட்ட வரம்பைக் கொடுக்கும் ஒரு சொத்து ஒரு பாதுகாப்புச் சொத்தாகும் (மேலே குறிப்பிட்டுள்ளபடி), அதேசமயம் பலவீனமான சொத்து ஒரு பிணைப்பு இருப்பதை மட்டுமே வலியுறுத்துகிறது. அத்தகைய லைவன்ஸ் சொத்தை நிரூபிப்பது இறுக்கமான பாதுகாப்பு சொத்தை நிரூபிப்பதை விட எளிதாக இருக்கும், ஏனெனில் லைவன்ஸ் சொத்தை நிரூபிப்பதற்கு பாதுகாப்பு சொத்தை நிரூபிக்கத் தேவையான விரிவான கணக்கியல் தேவையில்லை. ஒரு பாதுகாப்புச் சொத்திலிருந்து வேறுபடுவதற்கு, ஒரு லைவன்ஸ் பண்பு ஒரு மரணதண்டனையின் எந்தவொரு வரையறுக்கப்பட்ட முன்னொட்டையும் நிராகரிக்க முடியாது (ஏனெனில் அத்தகைய ஒரு "மோசமான விஷயம்" மற்றும், எனவே, ஒரு பாதுகாப்புச் சொத்தை வரையறுக்கும்). இது ஒரு லைவன்ஸ் சொத்தை எந்தவொரு வரையறுக்கப்பட்ட முன்னொட்டையும் நிராகரிக்காத ஒரு சொத்தாக வரையறுக்க வழிவகுக்கிறது. இந்த வரையறை ஒரு நல்ல விஷயத்தை தனித்துவமாக இருப்பதை கட்டுப்படுத்தாது-நல்ல விஷயம் அனைத்தையும் உள்ளடக்கும், இது எல்லையற்ற நீளம் கொண்ட செயலாக்கமாகும். ஹிஸ்டரி லாம்போர்ட் தனது 1977 ஆம் ஆண்டு ஆய்வறிக்கையில் பல செயல்முறை (ஒருங்கிணைந்த) திட்டங்களின் சரியான தன்மையை நிரூபிப்பதில் பாதுகாப்புச் சொத்து மற்றும் உயிர்ச்சக்திச் சொத்து என்ற சொற்களைப் பயன்படுத்தினார். அவர் பெட்ரி நிகர கோட்பாட்டிலிருந்து சொற்களை கடன் வாங்கினார், இது ஒரு பெட்ரி வலையின் "டோக்கன்கள்" அதன் "இடங்களுக்கு" எவ்வாறு ஒதுக்கப்படலாம் என்பதை விவரிக்க உயிர் மற்றும் வரம்பு என்ற சொற்களைப் பயன்படுத்தியது; பெட்ரி நிகர பாதுகாப்பு என்பது வரம்பின் ஒரு குறிப்பிட்ட வடிவமாகும். லாம்போர்ட் பின்னர் முனிச்சில் விநியோகிக்கப்பட்ட அமைப்புகள் குறித்த நேட்டோ குறுகிய பாடத்திட்டத்திற்கான பாதுகாப்பு குறித்த முறையான வரையறையை உருவாக்கினார். தொந்தரவின் கீழ் பண்புகள் மாறாதவை என்று அது கருதியது. மேலே கொடுக்கப்பட்ட பாதுகாப்பின் முறையான வரையறை அல்பெர்ன் மற்றும் ஷ்னைடர் ஆகியோரின் ஒரு ஆய்வறிக்கையில் தோன்றுகிறது; பாதுகாப்பு பண்புகளின் இரண்டு முறைப்படுத்தல்களுக்கு இடையிலான தொடர்பு அல்பெர்ன், டெமர்ஸ் மற்றும் ஷ்னைடர் ஆகியோரின் ஆய்வறிக்கையில் தோன்றுகிறது. ஆல்பர்ன் மற்றும் ஷ்னைடர் உயிர்வாழ்வுக்கான முறையான வரையறையை வழங்குகிறார்கள், பாதுகாப்பு பண்புகள் மற்றும் உயிர்வாழ்வதற்கான பண்புகளைப் பயன்படுத்தி அனைத்து பண்புகளையும் கட்டமைக்க முடியும் என்பதற்கான ஆதாரத்துடன். பாதுகாப்பு பண்புகள் மூடிய தொகுப்புகளுடன் ஒத்திருக்கின்றன மற்றும் உயிர் பண்புகள் நிரல் நிலைகளின் எல்லையற்ற வரிசைகளின் தொகுப்பில் இயற்கையான இடவியலில் அடர்த்தியான தொகுப்புகளுடன் ஒத்திருக்கின்றன என்ற கார்டன் பிளாட்கின் நுண்ணறிவால் அந்த ஆதாரம் ஈர்க்கப்பட்டது. அதைத் தொடர்ந்து, அல்பெர்ன் மற்றும் ஷ்னைடர் ஆகியோர் பாதுகாப்பு பண்புகள் மற்றும் உயிர் பண்புகளின் முறையான வரையறைகளுக்கு ஒரு புச்சி தானியங்கி குணாதிசயத்தை வழங்கியது மட்டுமல்லாமல், பாதுகாப்பு பண்புகளின் சரிபார்ப்புக்கு ஒரு மாறாத மற்றும் உயிர் பண்புகளின் சரிபார்ப்பு தேவைப்படும் என்பதைக் காட்ட இந்த தானியங்கி சூத்திரங்களைப் பயன்படுத்தினர். சொத்தின் வகைக்கும் (பாதுகாப்பு மற்றும் உயிர்) ஆதாரத்திற்கும் இடையிலான தொடர்பு (மாறாத தன்மை மற்றும் நன்கு நிறுவப்பட்ட தன்மை) ஒரு வலுவான வாதமாக இருந்தது, சொத்துக்களை பாதுகாப்பு மற்றும் உயிர்வாழ்வாக சிதைப்பது (வேறு சில பகிர்வுகளுக்கு மாறாக) ஒரு பயனுள்ள ஒன்றாகும்-நிரூபிக்கப்பட வேண்டிய சொத்தின் வகையை அறிவது தேவையான ஆதாரத்தின் வகையை ஆணையிடுகிறது. குறிப்புகள் ஒருங்கிணைந்த கணக்கீட்டு கோட்பாட்டு கணினி அறிவியல் மாதிரி சோதனை