~/talk

Why Loops End in Cpp

links:none on file
slides:none on file

A concrete scheme shows how to encode why a loop ends directly in lightly extended C++ by adding function interfaces with pre/postconditions that record stability, substitutability, repetition and small axioms for primitives. A simple verifier (robot) checks those properties; examples include counting across digit widths, handling base‑10 edge cases (need a special case at 10) and using static_asserts to supply missing facts (e.g. 12) so the verifier can prove termination. The approach composes and works on the presented examples.

AI-written summary · about

  1. 0:00Loop termination in C++
  2. 2:12Heat death of the universe
  3. 4:42Local reasons for termination
  4. 6:30Robot-friendly interfaces
  5. 12:08Analyzing simple loops
  6. 14:45Proving trivial termination
  7. 15:48Counting loops and proofs
  8. 18:39Edge cases in termination
  9. 21:34Static assertions in proofs
  10. 22:16Loop variants and ordinals
  11. 28:02Variants as resources
  12. 29:05Resource exhaustion in loops
  13. 31:15Variants without counters
  14. 33:03Counting theorem implementation
  15. 37:24Integer breakdown for proofs
  16. 44:52Bitless integer termination
  17. 46:38Unsigned bit integer proofs
  18. 49:47Signed bit integer proofs
  19. 50:07Multi-bit integer proofs
  20. 54:48Refactoring to postconditions
  21. 59:31Generalizing termination proofs
  22. 1:00:13Summary
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.