Skip to content

Commit ed21e44

Browse files
committed
minor corrections
1 parent 01cce98 commit ed21e44

File tree

5 files changed

+17
-11
lines changed

5 files changed

+17
-11
lines changed

doc/chapter-primrec.tex

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -712,6 +712,7 @@ \subsubsection{First properties of the Ackermann function}
712712
\input{movies/snippets/Ack/nestedAckBound}
713713

714714

715+
\label{sect:AcknPR}
715716

716717
Please note also that for any given $n$, the unary function
717718
(\texttt{Ack\,$n$}) is primitive recursive.
@@ -864,6 +865,10 @@ \subsection{Looking for a contradiction}
864865
$\texttt{Ack}\,x\,y\leq \texttt{Ack}\,n\,(\texttt{max}\,x\,y)$ holds.
865866
Thus, our impossibility proof is just a sequence of easy small steps.
866867

868+
\begin{todo}
869+
Fix the display the local definition of \texttt{x} in the following proof.
870+
\end{todo}
871+
867872
\input{movies/snippets/AckNotPR/AckNotPR}
868873

869874
\begin{remark}
@@ -884,11 +889,12 @@ \subsection{Looking for a contradiction}
884889
\end{remark}
885890

886891
\begin{remark}
887-
Note that the Ackermann function is a counter-example to the (false) statement:
888-
\begin{quote}
889-
{\color{red}
890-
``Let $f$ be a function of type \texttt{naryFunc\,2}. If, for any $n$, the function $f(n)$ is primitive recursive, then f is primitive recursive.''}
891-
\end{quote}
892+
It may be interesting to compare the following statements:
893+
894+
\begin{itemize}
895+
\item Ackermann function is not primitive recursive.
896+
\item For any $n$, the function \texttt{Ack $n$ \_} is primitive recursive (see~\vref{sect:AcknPR}).
897+
\end{itemize}
892898
\end{remark}
893899

894900
\subsection{Related work}

theories/ordinals/Epsilon0/T1.v

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,8 +108,8 @@ Fixpoint T1limit alpha :=
108108
match alpha with
109109
| zero => false
110110
| cons zero _ _ => false
111-
| cons alpha n zero => true
112-
| cons alpha n beta => T1limit beta
111+
| cons alpha _ zero => true
112+
| cons _ _ beta => T1limit beta
113113
end.
114114

115115
Compute T1limit T1omega.

theories/ordinals/MoreAck/AckNotPR.v

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -396,8 +396,8 @@ Section Impossibility_Proof.
396396

397397
Lemma Ack_not_PR : False. (* .no-out *)
398398
Proof. (* .no-out *)
399-
destruct (majorPR2_strict Ack HAck) as [m Hm];
400-
set (x := max 2 m).
399+
destruct (majorPR2_strict Ack HAck) as [m Hm].
400+
set (x := Nat.max 2 m).
401401
specialize (Hm x x); rewrite Nat.max_idempotent in Hm.
402402
assert (H0: Ack m x <= Ack x x) by (apply Ack_mono_l; lia).
403403
lia.

theories/ordinals/OrdinalNotations/ON_Generic.v

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Delimit Scope ON_scope with on.
2020
Ordinal notation system on type [A] :
2121
*)
2222

23-
(* begin snippet ONDef *)
23+
(* begin snippet ONDef:: no-out *)
2424
Class ON {A:Type} (lt: relation A) (cmp: Compare A) :=
2525
{
2626
ON_comp :> Comparable lt cmp;

theories/ordinals/Prelude/Comparable.v

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
From Coq Require Import Relations RelationClasses Setoid.
22
Require Export MoreOrders STDPP_compat.
33

4-
(* begin snippet ComparableDef *)
4+
(* begin snippet ComparableDef:: no-out *)
55
Class Compare (A:Type) := compare : A -> A -> comparison.
66

77
Class Comparable {A:Type} (lt: relation A) (cmp : Compare A) :=

0 commit comments

Comments
 (0)