Media Summary: Why would we believe that a program is correct? Source The natural numbers are a quintessential data type in Functions such as addition and multiplication (on the natural numbers) are written recursively in

Simpl Vs Reflexivity Software Foundations In Coq Lf Basics - Detailed Analysis & Overview

Why would we believe that a program is correct? Source The natural numbers are a quintessential data type in Functions such as addition and multiplication (on the natural numbers) are written recursively in Comparisons for equality and inequality on the Parametric polymorphism is useful not just with lists, but also pairs and options in Pairs and tuples are types that represent a fixed-length sequence

Higher-order functions can take functions as input and returns functions as output. The former is explored in the context Why would a programmer care deeply about program correctness? Deeply enough to go to the trouble

Photo Gallery

Simpl vs Reflexivity | Software Foundations in Coq | LF | Basics
Destruct | Software Foundations in Coq | LF | Basics
Rewrite | Software Foundations in Coq | LF | Basics
Sources of Knowledge | Software Foundations in Coq | LF | Preface
Naturals Part 1 | Software Foundations in Coq | LF | Basics
Informal vs Formal Proofs | Software Foundations in Coq | LF | Induction
Our First Definition and Proof | Software Foundations in Coq | LF | Basics
Naturals Part 2 | Software Foundations in Coq | LF | Basics
Intros | Software Foundations in Coq | LF | Basics
Naturals Part 3 | Software Foundations in Coq | LF | Basics
Welcome to Software Foundations in Coq
Polymorphic Pairs and Options | Software Foundations in Coq | LF | Poly
View Detailed Profile
Simpl vs Reflexivity | Software Foundations in Coq | LF | Basics

Simpl vs Reflexivity | Software Foundations in Coq | LF | Basics

The operation

Destruct | Software Foundations in Coq | LF | Basics

Destruct | Software Foundations in Coq | LF | Basics

The [destruct] tactic in

Rewrite | Software Foundations in Coq | LF | Basics

Rewrite | Software Foundations in Coq | LF | Basics

The [rewrite] tactic in

Sources of Knowledge | Software Foundations in Coq | LF | Preface

Sources of Knowledge | Software Foundations in Coq | LF | Preface

Why would we believe that a program is correct? Source

Naturals Part 1 | Software Foundations in Coq | LF | Basics

Naturals Part 1 | Software Foundations in Coq | LF | Basics

The natural numbers are a quintessential data type in

Informal vs Formal Proofs | Software Foundations in Coq | LF | Induction

Informal vs Formal Proofs | Software Foundations in Coq | LF | Induction

In

Our First Definition and Proof | Software Foundations in Coq | LF | Basics

Our First Definition and Proof | Software Foundations in Coq | LF | Basics

Coq

Naturals Part 2 | Software Foundations in Coq | LF | Basics

Naturals Part 2 | Software Foundations in Coq | LF | Basics

Functions such as addition and multiplication (on the natural numbers) are written recursively in

Intros | Software Foundations in Coq | LF | Basics

Intros | Software Foundations in Coq | LF | Basics

The [intros] tactic is used in

Naturals Part 3 | Software Foundations in Coq | LF | Basics

Naturals Part 3 | Software Foundations in Coq | LF | Basics

Comparisons for equality and inequality on the

Welcome to Software Foundations in Coq

Welcome to Software Foundations in Coq

Learn to program and prove in

Polymorphic Pairs and Options | Software Foundations in Coq | LF | Poly

Polymorphic Pairs and Options | Software Foundations in Coq | LF | Poly

Parametric polymorphism is useful not just with lists, but also pairs and options in

Exercises in Basics | Software Foundations in Coq | LF | Basics

Exercises in Basics | Software Foundations in Coq | LF | Basics

Every chapter in

The Coq System | Software Foundations in Coq | LF | Preface

The Coq System | Software Foundations in Coq | LF | Preface

Coq

First Proof by Induction | Software Foundations in Coq | LF | Induction

First Proof by Induction | Software Foundations in Coq | LF | Induction

Induction is one

Pairs | Software Foundations in Coq | LF | Lists

Pairs | Software Foundations in Coq | LF | Lists

Pairs and tuples are types that represent a fixed-length sequence

Higher-Order Functions Part 1 | Software Foundations in Coq | LF | Poly

Higher-Order Functions Part 1 | Software Foundations in Coq | LF | Poly

Higher-order functions can take functions as input and returns functions as output. The former is explored in the context

Imagine Yourself As a Programmer | Software Foundations in Coq | LF | Preface

Imagine Yourself As a Programmer | Software Foundations in Coq | LF | Preface

Why would a programmer care deeply about program correctness? Deeply enough to go to the trouble

Example Proofs by Induction| Software Foundations in Coq | LF | Induction

Example Proofs by Induction| Software Foundations in Coq | LF | Induction

Two more examples are given