استقرای ساختاری

استقرای ساختاری روشی است که برای اثبات کردن قضایا از آن استفاده می‌شود که در منطق ریاضی (به عنوان مثال، در اثبات قضیه لس)، علوم کامپیوتر، نظریه گراف، و برخی دیگر از زمینه‌های ریاضی کاربرد دارد. این استقرا یک تعمیم از استقراء ریاضی روی اعداد طبیعی است، و می‌تواند به‌طور قراردادی به استقرای Noetherian تعمیم داده شود.
روش بازگشت ساختاری یک روش بازگشتی است که ارتباط آن با استقرای ساختاری همانند ارتباط یک رابطه بازگشتی ساده با یک رابطه استقرای ریاضی ساده است.
استقرای ساختاری برای اثبات برخی گزاره‌های (P(x، که به ازای همهٔ x‌های نوعی از ساختارهای تعریف شده به صورت بازگشتی مانند لیست‌ها یا درختان صحیح است، استفاده می‌شود. یک ترتیب جزئی کامل بر ساختارها ("زیرلیست" برای لیست‌ها و "زیر درخت" برای درختان) تعریف شده‌است.
روش اثباتی استقرای ساختاری ثابت می‌کند که گزاره برای تمام ساختارهای مینیمال صحیح است، و  در صورتی که این روش برای زیرساخت¬های بلافاصله یک ساختار خاص مانند S برقرار باشد آنگاه می¬بایست برای خود S نیز برقرار باشد.
(به زبان رسمی، این مسئله موجب صحت فروض اصل استقرای کامل است که ادعا می‌کند که این دو شرط برای گزاره‌ای   با هر مقدار x کافی است.)
یک تابع بازگشتی ساختاری ازهمان ایده که برای تعریف یک تابع بازگشتی به کار برده می‌شود، استفاده میکند: حالات پایه که هر یک از ساختارهای مینیمال را رسیدگی می‌کنند و یک قانون برای بازگشت. رابطه بازگشتی ساختاری معمولاً بوسیله استقرای ساختاری ثابت می‌شود؛ در موارد خاص آسان ،معمولاً از گام استقرا صرف نظر می‌شود. طول(length) و  توابع ++ در مثال زیر روابط ساختاری بازگشتی‌اند.
برای مثال، اگر ساختارها به صورت لیست باشند، لیستی معمولاً ترتیب جزئی '<' را معرفی می‌کند که در آن L <M است، هر زمان که لیست L دم لیست M باشد. بر اساس این ترتیب، لیست خالی []عنصر  خاص مینمال است.
اثبات استقرای ساختاری برخی از گزاره‌های (P(l شامل دو بخش است: اثبات این که ([])P درست است، و اثبات این که اگر (P(L برای برخی از لیست‌های L درست باشد، و اگر L دم لیست M باشد، پس (P(M نیز باید درست باشد.
در نهایت، ممکن است بیش از یک حالت پایه  و/ یا  بیش از یک حالت استقرا، بسته به اینکه چگونه تابع یا ساختار ساخته شده است، وجود داشته باشد. در آن موارد، اثبات استقرای ساختاری برخی از گزاره‌های (P(L شامل: الف) اثبات این که  (P(BC، برای هر حالت پایه BC درست است. و ب) اثبات این که اگر (P(l برای برخی از موارد l درست باشد، وM بتواند از l با یک بار امتحان کردن هر یک از قواعد بازگشتی به دست بیاید، پس (P(M نیز باید درست باشد، می‌شود.

خوش ترتیبی

همانگونه که استقرای ریاضی استاندارد  معادل "اصل خوش ترتیبی" است، استقرای ساختاری نیز معادل یک "اصل خوش ترتیبی" است. اگر مجموعه ی تمام ساختارهای نوعی خاص یک ترتیب جزئی کامل را بپذیرد ، پس هر زیر مجموعه ناتهی باید دارای یک عنصر مینیمال باشد.(این تعریف کامل است.) اهمیت این لم در این زمینه، آن است که به ما اجازه می دهد تا استنباط کنیم که اگر هر گونه مثال نقضی برای قضیه‌ای که می خواهیم اثباتش کنیم وجود داشته باشد، پس باید یک مثال نقض مینیمم وجود داشته باشد. اگر ما بتوانیم نشان دهیم که وجود مثال نقض مینیمم دلالت می‌کند بر وجود مثال نقض‌های حتی کوچکتر، ما یک تناقض (هنگامی که مثال نقض مینیمم، کوچکترین نیست) داریم و در نتیجه مجموعه مثالهای نقض باید خالی باشد.
به عنوان مثالی از این نوع استدلال، مجموعه‌ای از تمام درختان دودویی را در نظربگیرید. ما نشان خواهیم داد که تعداد برگ‌ها در یک درخت دودویی کامل یکی بیشتر از تعداد گره‌های داخلی آن است. فرض کنید یک مثال نقض وجود داشته باشد؛ پس باید یک درخت کامل با حداقل تعداد گره‌های داخلی ممکن وجود داشته باشد. این مثال نقض، C، دارای n گره داخلی وl برگ است، که در آن     l ≠ n + 1 . علاوه بر این، C باید غیر بدیهی باشد، چرا که درخت بدیهی  دارای n = 0 و L = 1 است و بنابراین، این یک مثال نقض نیست. در نتیجه C حداقل یک برگ که پدر آن یک گره داخلی است، دارد. حذف این برگ و پدر آن از درخت، گره برادر برگ را به موقعیت ای که قبلاً توسط پدر گره اشغال شده بود انتقال می‌دهد. این هر دوی n و l را یک واحد کاهش می دهد ، پس درخت جدید نیز دارای n + 1 ≠ l و بنابراین دارای یک مثال نقض کوچکتر است. اما بنابر فرض، C در حال حاضر کوچکترین مثال نقض بود.  لذا این فرض که هرگونه مثال نقضی برای شروع وجود دارد می¬بایست فرض نادرستی باشد. "ترتیب جزئی که توسط 'کوچکتر' در اینجا گفته شد بیان می‌کند که S <T هر گاه S دارای گره‌های کمتر از T باشد.