Wider Context

0.0(0)
Studied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/11

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 6:15 PM on 3/20/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No analytics yet

Send a link to your students to track their progress

12 Terms

1
New cards

Code Extraction

Rocq can extract verified Gallina code to OCaml, Haskell, or Scheme. Enables running verified algorithms outside Rocq ecosystem. Trust required that extraction translation is correct.

2
New cards

Language Embedding

Embed target language (C, Java) and its semantics into Rocq. Prove programs correct with respect to embedded semantics. Trust required that semantics is correct and compiler enforces it.

3
New cards

Code Synthesis

Constructing programs automatically from specifications. Currently limited to small programs; active research area. Future direction for verification.

4
New cards

Self-Certification

Program produces result and separate checker verifies correctness. Examples: SAT solver produces model, verifier checks model; file download with checksum; sort with sortedness check. Checker can be formally verified.

5
New cards

Property-Based Testing

QuickCheck generates random test cases automatically from properties. prop_RevRev xs = reverse (reverse xs) == xs tested on 100 random lists. Finds edge cases unit testing misses.

6
New cards

Static Analysis

Compiler lints verify code satisfies specifications without execution. Example: clang-tidy detects potential null dereference when pointer usage depends on conditionals. Analyzes control flow statically.

7
New cards

Runtime Verification

Specify properties, monitor system during execution. Simple form: assert. Advanced: Address Sanitizer (memory errors), Undefined Behavior Sanitizer (UB detection), Thread Sanitizer (race conditions).

8
New cards

Strong Typing

Expressive type systems enforce invariants at compile time. Makes programs harder to write incorrectly. Dependent types can encode elaborate properties (e.g., sorted list).

9
New cards

Heavyweight vs Lightweight Verification

Heavyweight: formal verification with ITPs, very high confidence, expensive. Lightweight: testing, static analysis, runtime checks, less guarantee but practical.

10
New cards

Member Inductive Proposition

member n t defines when n appears in BST t. Constructors: leafmember (direct match), nodemember (root), leftmember/rightmember (recursive). Enables reasoning about tree membership.

11
New cards

Sorted BST Inductive Proposition

sorted t defines valid BST property. leafsorted: leaf always sorted. branchsorted requires: left and right sorted, all left members < n, all right members > n.

12
New cards

Verification Philosophy

Engineers have professional responsibility for quality. Formal verification provides mathematical certainty about correctness. Tooling exists to apply at scale

Explore top notes

note
Native Americans
Updated 1190d ago
0.0(0)
note
Atomic Structure
Updated 1035d ago
0.0(0)
note
AP Government Unit 1
Updated 574d ago
0.0(0)
note
UDHR Complete Summary Notes
Updated 1268d ago
0.0(0)
note
WHAP Unit 0, 4, 5
Updated 216d ago
0.0(0)
note
Synaptic Transfer
Updated 1305d ago
0.0(0)
note
Native Americans
Updated 1190d ago
0.0(0)
note
Atomic Structure
Updated 1035d ago
0.0(0)
note
AP Government Unit 1
Updated 574d ago
0.0(0)
note
UDHR Complete Summary Notes
Updated 1268d ago
0.0(0)
note
WHAP Unit 0, 4, 5
Updated 216d ago
0.0(0)
note
Synaptic Transfer
Updated 1305d ago
0.0(0)