Library PLF.Bib
Library PLF.Equiv
- Equiv: Program Equivalence
- Behavioral Equivalence
- Definitions
- Simple Examples
- Exercise: 2 stars, standard (skip_right)
- Exercise: 2 stars, standard, especially useful (if_false)
- Exercise: 3 stars, standard (swap_if_branches)
- Exercise: 2 stars, advanced, optional (while_false_informal)
- Exercise: 2 stars, standard, optional (while_true_nonterm_informal)
- Exercise: 2 stars, standard, especially useful (while_true)
- Exercise: 2 stars, standard, optional (seq_assoc)
- Exercise: 2 stars, standard, especially useful (assign_aequiv)
- Exercise: 2 stars, standard (equiv_classes)
- Properties of Behavioral Equivalence
- Program Transformations
- Proving Inequivalence
- Extended Exercise: Nondeterministic Imp
- Exercise: 2 stars, standard (himp_ceval)
- Exercise: 3 stars, standard (havoc_swap)
- Exercise: 4 stars, standard, optional (havoc_copy)
- Exercise: 4 stars, advanced (p1_p2_term)
- Exercise: 4 stars, advanced (p1_p2_equiv)
- Exercise: 4 stars, advanced (p3_p4_inequiv)
- Exercise: 5 stars, advanced, optional (p5_p6_equiv)
- Additional Exercises
Library PLF.Hoare
- Hoare: Hoare Logic, Part I
- Assertions
- Hoare Triples, Informally
- Hoare Triples, Formally
- Proof Rules
- Summary
- Additional Exercises
Library PLF.Hoare2
- Hoare2: Hoare Logic, Part II
- Decorated Programs
- Formal Decorated Programs
- Finding Loop Invariants
- Weakest Preconditions (Optional)
Library PLF.HoareAsLogic
- HoareAsLogic: Hoare Logic as a Logic
- Hoare Logic and Model Theory
- Hoare Logic and Proof Theory
- Derivability
- Soundness and Completeness
- Postscript: Decidability
Library PLF.IMP
- Commands
- Evaluating Commands
- Reasoning About Imp Programs
- Additional Exercises
- Exercise: 3 stars, standard (stack_compiler)
- Exercise: 3 stars, standard (execute_app)
- Exercise: 3 stars, standard (stack_compiler_correct)
- Exercise: 3 stars, standard, optional (short_circuit)
- Exercise: 4 stars, advanced (break_imp)
- Exercise: 3 stars, advanced, optional (while_break_true)
- Exercise: 4 stars, advanced, optional (ceval_deterministic)
- Exercise: 4 stars, standard, optional (add_for_loop)
Library PLF.Imp
- Imp: Simple Imperative Programs
- Arithmetic and Boolean Expressions
- Coq Automation
- Evaluation as a Relation
- Expressions With Variables
- Commands
- Evaluating Commands
- Reasoning About Imp Programs
- Additional Exercises
- Exercise: 3 stars, standard (stack_compiler)
- Exercise: 3 stars, standard (execute_app)
- Exercise: 3 stars, standard (stack_compiler_correct)
- Exercise: 3 stars, standard, optional (short_circuit)
- Exercise: 4 stars, advanced (break_imp)
- Exercise: 3 stars, advanced, optional (while_break_true)
- Exercise: 4 stars, advanced, optional (ceval_deterministic)
- Exercise: 4 stars, standard, optional (add_for_loop)
Library PLF.LibTactics
- LibTactics: A Collection of Handy General-Purpose Tactics
- Fixing Stdlib
- Tools for Programming with Ltac
- Identity Continuation
- Untyped Arguments for Tactics
- Optional Arguments for Tactics
- Wildcard Arguments for Tactics
- Position Markers
- List of Arguments for Tactics
- Databases of Lemmas
- On-the-Fly Removal of Hypotheses
- Numbers as Arguments
- Testing Tactics
- Testing evars and non-evars
- Check No Evar in Goal
- Helper Function for Introducing Evars
- Tagging of Hypotheses
- More Tagging of Hypotheses
- Deconstructing Terms
- Action at Occurence and Action Not at Occurence
- An Alias for eq
- Check as a tactic instead of a top-level command, with possibility to turn off
- Common Tactics for Simplifying Goals Like intuition
- Backward and Forward Chaining
- Introduction and Generalization
- Rewriting
- Inversion
- Induction
- Coinduction
- Decidable Equality
- Equivalence
- N-ary Conjunctions and Disjunctions
- Tactics to Prove Typeclass Instances
- Tactics to Invoke Automation
- Tactics to Sort Out the Proof Context
- Tactics for Development Purposes
- Compatibility with standard library
Library PLF.Maps
- Maps: Total and Partial Maps
- The Coq Standard Library
- Identifiers
- Total Maps
- Exercise: 1 star, standard, optional (t_apply_empty)
- Exercise: 2 stars, standard, optional (t_update_eq)
- Exercise: 2 stars, standard, optional (t_update_neq)
- Exercise: 2 stars, standard, optional (t_update_shadow)
- Exercise: 2 stars, standard (t_update_same)
- Exercise: 3 stars, standard, especially useful (t_update_permute)
- Partial maps
Library PLF.MoreStlc
- MoreStlc: More on the Simply Typed Lambda-Calculus
- Simple Extensions to STLC
- Exercise: Formalizing the Extensions
Library PLF.Norm
- Norm: Normalization of STLC
- Language
- Normalization
Library PLF.PE
- PE: Partial Evaluation
- Generalizing Constant Folding
- Partial Evaluation of Commands, Without Loops
- Partial Evaluation of Loops
- Partial Evaluation of Flowchart Programs
Library PLF.Postscript
Library PLF.Preface
Library PLF.RecordSub
- RecordSub: Subtyping with Records
- Core Definitions
- Subtyping
- Typing
Library PLF.Records
Library PLF.References
- References: Typing Mutable References
- Definitions
- Syntax
- Pragmatics
- Operational Semantics
- Typing
- Properties
- References and Nontermination
- Additional Exercises
Library PLF.Smallstep
- Smallstep: Small-step Operational Semantics
- A Toy Language
- Relations
- Multi-Step Reduction
- Small-Step Imp
- Concurrent Imp
- A Small-Step Stack Machine
- Aside: A normalize Tactic
Library PLF.Stlc
Library PLF.StlcProp
- StlcProp: Properties of STLC
- Canonical Forms
- Progress
- Preservation
- Type Soundness
- Uniqueness of Types
- Context Invariance (Optional)
- Additional Exercises
- Exercise: 1 star, standard, optional (progress_preservation_statement)
- Exercise: 2 stars, standard (stlc_variation1)
- Exercise: 2 stars, standard (stlc_variation2)
- Exercise: 2 stars, standard (stlc_variation3)
- Exercise: 2 stars, standard, optional (stlc_variation4)
- Exercise: 2 stars, standard, optional (stlc_variation5)
- Exercise: 2 stars, standard, optional (stlc_variation6)
- Exercise: 2 stars, standard, optional (stlc_variation7)
- Exercise: STLC with Arithmetic
- The Technical Theorems
Library PLF.Sub
- Sub: Subtyping
- Concepts
- A Motivating Example
- Subtyping and Object-Oriented Languages
- The Subsumption Rule
- The Subtype Relation
- Exercises
- Exercise: 1 star, standard, optional (subtype_instances_tf_1)
- Exercise: 2 stars, standard (subtype_order)
- Exercise: 1 star, standard (subtype_instances_tf_2)
- Exercise: 1 star, standard (subtype_concepts_tf)
- Exercise: 2 stars, standard (proper_subtypes)
- Exercise: 2 stars, standard (small_large_1)
- Exercise: 2 stars, standard (small_large_2)
- Exercise: 2 stars, standard, optional (small_large_3)
- Exercise: 2 stars, standard (small_large_4)
- Exercise: 2 stars, standard (smallest_1)
- Exercise: 2 stars, standard (smallest_2)
- Exercise: 3 stars, standard, optional (count_supertypes)
- Exercise: 2 stars, standard (pair_permutation)
- Formal Definitions
- Properties
- Exercise: Adding Products
- Formalized "Thought Exercises"
- Exercise: 1 star, standard, optional (formal_subtype_instances_tf_1a)
- Exercise: 1 star, standard, optional (formal_subtype_instances_tf_1b)
- Exercise: 1 star, standard, optional (formal_subtype_instances_tf_1c)
- Exercise: 1 star, standard, optional (formal_subtype_instances_tf_1d)
- Exercise: 1 star, standard, optional (formal_subtype_instances_tf_1e)
- Exercise: 1 star, standard, optional (formal_subtype_instances_tf_1f)
- Exercise: 1 star, standard, optional (formal_subtype_instances_tf_1g)
- Exercise: 2 stars, standard, optional (formal_subtype_instances_tf_2a)
- Exercise: 2 stars, standard, optional (formal_subtype_instances_tf_2b)
- Exercise: 2 stars, standard, optional (formal_subtype_instances_tf_2d)
- Exercise: 2 stars, standard, optional (formal_subtype_instances_tf_2e)
- Exercise: 2 stars, standard, optional (formal_subtype_concepts_tfa)
- Exercise: 2 stars, standard, optional (formal_subtype_concepts_tfb)
- Exercise: 2 stars, standard, optional (formal_subtype_concepts_tfc)
- Exercise: 2 stars, standard, optional (formal_subtype_concepts_tfd)
- Exercise: 2 stars, standard, optional (formal_subtype_concepts_tfe)
- Exercise: 2 stars, standard, optional (formal_subtype_concepts_tff)
- Exercise: 2 stars, standard, optional (formal_subtype_concepts_tfg)
- Exercise: 2 stars, standard, optional (formal_subtype_concepts_tfh)
- Exercise: 3 stars, standard, optional (formal_proper_subtypes)
Library PLF.Typechecking
- Typechecking: A Typechecker for STLC
- Comparing Types
- The Typechecker
- Digression: Improving the Notation
- Properties
- Exercises
- Exercise: 4 stars, standard (type_check_defn)
- Exercise: 2 stars, standard (ext_type_checking_sound)
- Exercise: 2 stars, standard (ext_type_checking_complete)
- Exercise: 2 stars, standard, optional (valuef_defn)
- Exercise: 3 stars, standard, optional (stepf_defn)
- Exercise: 2 stars, standard, optional (sound_valuef)
- Exercise: 2 stars, standard, optional (complete_valuef)
- Exercise: 2 stars, standard, optional (sound_stepf)
- Exercise: 2 stars, standard, optional (value_stepf_nf)
- Exercise: 2 stars, standard, optional (complete_stepf)
- Exercise: 5 stars, standard, optional (stlc_impl)
Library PLF.Types
- Types: Type Systems
- Typed Arithmetic Expressions
- Syntax
- Operational Semantics
- Normal Forms and Values
- Typing
- Progress
- Type Preservation
- Type Soundness
- Additional Exercises
- Exercise: 3 stars, standard, especially useful (subject_expansion)
- Exercise: 2 stars, standard (variation1)
- Exercise: 2 stars, standard (variation2)
- Exercise: 2 stars, standard, optional (variation3)
- Exercise: 2 stars, standard, optional (variation4)
- Exercise: 2 stars, standard, optional (variation5)
- Exercise: 2 stars, standard, optional (variation6)
- Exercise: 3 stars, standard, optional (more_variations)
- Exercise: 1 star, standard (remove_pred0)
- Exercise: 4 stars, advanced (prog_pres_bigstep)
Library PLF.UseAuto
- UseAuto: Theory and Practice of Automation in Coq Proofs
- Basic Features of Proof Search
- How Proof Search Works
- Example Proofs using Automation
- Advanced Topics in Proof Search
- Decision Procedures
- Summary
Library PLF.UseTactics
This page has been generated by coqdoc