Commit 837eb6ae authored by Adam Chlipala's avatar Adam Chlipala

Move GeneralRec one chapter slot later, since Subset should be a prereq

parent b0b57aa3
MODULES_NODOC := CpdtTactics MoreSpecif DepList MODULES_NODOC := CpdtTactics MoreSpecif DepList
MODULES_PROSE := Intro MODULES_PROSE := Intro
MODULES_CODE := StackMachine InductiveTypes Predicates Coinductive GeneralRec Subset \ MODULES_CODE := StackMachine InductiveTypes Predicates Coinductive Subset GeneralRec \
MoreDep DataStruct Equality Generic Universes LogicProg Match Reflection \ MoreDep DataStruct Equality Generic Universes LogicProg Match Reflection \
Large Large
MODULES_DOC := $(MODULES_PROSE) $(MODULES_CODE) MODULES_DOC := $(MODULES_PROSE) $(MODULES_CODE)
......
...@@ -40,8 +40,8 @@ The license text is available at: ...@@ -40,8 +40,8 @@ The license text is available at:
\include{InductiveTypes.v} \include{InductiveTypes.v}
\include{Predicates.v} \include{Predicates.v}
\include{Coinductive.v} \include{Coinductive.v}
\include{GeneralRec.v}
\include{Subset.v} \include{Subset.v}
\include{GeneralRec.v}
\include{MoreDep.v} \include{MoreDep.v}
\include{DataStruct.v} \include{DataStruct.v}
\include{Equality.v} \include{Equality.v}
......
This diff is collapsed.
...@@ -225,10 +225,10 @@ Inductive Predicates & \texttt{Predicates.v} \\ ...@@ -225,10 +225,10 @@ Inductive Predicates & \texttt{Predicates.v} \\
\hline \hline
Infinite Data and Proofs & \texttt{Coinductive.v} \\ Infinite Data and Proofs & \texttt{Coinductive.v} \\
\hline \hline
General Recursion & \texttt{GeneralRec.v} \\
\hline
Subset Types and Variations & \texttt{Subset.v} \\ Subset Types and Variations & \texttt{Subset.v} \\
\hline \hline
General Recursion & \texttt{GeneralRec.v} \\
\hline
More Dependent Types & \texttt{MoreDep.v} \\ More Dependent Types & \texttt{MoreDep.v} \\
\hline \hline
Dependent Data Structures & \texttt{DataStruct.v} \\ Dependent Data Structures & \texttt{DataStruct.v} \\
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* http://creativecommons.org/licenses/by-nc-nd/3.0/ * http://creativecommons.org/licenses/by-nc-nd/3.0/
*) *)
(* Types and notations presented in Chapter 7 *) (* Types and notations presented in Chapter 6 *)
Set Implicit Arguments. Set Implicit Arguments.
......
...@@ -460,7 +460,7 @@ Section my_tauto. ...@@ -460,7 +460,7 @@ Section my_tauto.
Local Open Scope partial_scope. Local Open Scope partial_scope.
(** Now we can write a function [forward] which implements deconstruction of hypotheses. It has a dependent type, in the style of Chapter 7, guaranteeing correctness. The arguments to [forward] are a goal formula [f], a set [known] of atomic formulas that we may assume are true, a hypothesis formula [hyp], and a success continuation [cont] that we call when we have extended [known] to hold new truths implied by [hyp]. *) (** Now we can write a function [forward] which implements deconstruction of hypotheses. It has a dependent type, in the style of Chapter 6, guaranteeing correctness. The arguments to [forward] are a goal formula [f], a set [known] of atomic formulas that we may assume are true, a hypothesis formula [hyp], and a success continuation [cont] that we call when we have extended [known] to hold new truths implied by [hyp]. *)
Definition forward : forall (f : formula) (known : set index) (hyp : formula) Definition forward : forall (f : formula) (known : set index) (hyp : formula)
(cont : forall known', [allTrue known' -> formulaDenote atomics f]), (cont : forall known', [allTrue known' -> formulaDenote atomics f]),
......
...@@ -612,7 +612,7 @@ Print proof_irrelevance. ...@@ -612,7 +612,7 @@ Print proof_irrelevance.
*** [ proof_irrelevance : forall (P : Prop) (p1 p2 : P), p1 = p2 ] *** [ proof_irrelevance : forall (P : Prop) (p1 p2 : P), p1 = p2 ]
]] ]]
This axiom asserts that any two proofs of the same proposition are equal. If we replaced [p1 = p2] by [p1 <-> p2], then the statement would be provable. However, equality is a stronger notion than logical equivalence. Recall this example function from Chapter 7. *) This axiom asserts that any two proofs of the same proposition are equal. If we replaced [p1 = p2] by [p1 <-> p2], then the statement would be provable. However, equality is a stronger notion than logical equivalence. Recall this example function from Chapter 6. *)
(* begin hide *) (* begin hide *)
Lemma zgtz : 0 > 0 -> False. Lemma zgtz : 0 > 0 -> False.
......
...@@ -9,8 +9,8 @@ ...@@ -9,8 +9,8 @@
<li><a href="InductiveTypes.html">Introducing Inductive Types</a> <li><a href="InductiveTypes.html">Introducing Inductive Types</a>
<li><a href="Predicates.html">Inductive Predicates</a> <li><a href="Predicates.html">Inductive Predicates</a>
<li><a href="Coinductive.html">Infinite Data and Proofs</a> <li><a href="Coinductive.html">Infinite Data and Proofs</a>
<li><a href="GeneralRec.html">General Recursion</a>
<li><a href="Subset.html">Subset Types and Variations</a> <li><a href="Subset.html">Subset Types and Variations</a>
<li><a href="GeneralRec.html">General Recursion</a>
<li><a href="MoreDep.html">More Dependent Types</a> <li><a href="MoreDep.html">More Dependent Types</a>
<li><a href="DataStruct.html">Dependent Data Structures</a> <li><a href="DataStruct.html">Dependent Data Structures</a>
<li><a href="Equality.html">Reasoning About Equality Proofs</a> <li><a href="Equality.html">Reasoning About Equality Proofs</a>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment