mirror of
https://github.com/achlipala/frap.git
synced 2024-11-27 23:06:20 +00:00
Avoid a command only introduced in Coq 8.10, so that 8.9 keeps working
This commit is contained in:
parent
56af55f38a
commit
77f22213d8
10 changed files with 11 additions and 10 deletions
|
@ -40,7 +40,7 @@ Inductive cmd :=
|
||||||
|
|
||||||
Coercion Const : nat >-> arith.
|
Coercion Const : nat >-> arith.
|
||||||
Coercion Var : var >-> arith.
|
Coercion Var : var >-> arith.
|
||||||
Declare Scope arith_scope.
|
(*Declare Scope arith_scope.*)
|
||||||
Infix "+" := Plus : arith_scope.
|
Infix "+" := Plus : arith_scope.
|
||||||
Infix "-" := Minus : arith_scope.
|
Infix "-" := Minus : arith_scope.
|
||||||
Infix "*" := Times : arith_scope.
|
Infix "*" := Times : arith_scope.
|
||||||
|
|
|
@ -26,7 +26,7 @@ Inductive cmd :=
|
||||||
|
|
||||||
Coercion Const : nat >-> arith.
|
Coercion Const : nat >-> arith.
|
||||||
Coercion Var : var >-> arith.
|
Coercion Var : var >-> arith.
|
||||||
Declare Scope arith_scope.
|
(*Declare Scope arith_scope.*)
|
||||||
Infix "+" := Plus : arith_scope.
|
Infix "+" := Plus : arith_scope.
|
||||||
Infix "-" := Minus : arith_scope.
|
Infix "-" := Minus : arith_scope.
|
||||||
Infix "*" := Times : arith_scope.
|
Infix "*" := Times : arith_scope.
|
||||||
|
|
|
@ -101,7 +101,7 @@ Ltac instantiate_obviouses :=
|
||||||
(** * Interlude: special notations and induction principle for [N] *)
|
(** * Interlude: special notations and induction principle for [N] *)
|
||||||
|
|
||||||
(* Note: recurse is an identifier, but we will always use the name "recurse" by convention *)
|
(* Note: recurse is an identifier, but we will always use the name "recurse" by convention *)
|
||||||
Declare Scope N_recursion_scope.
|
(*Declare Scope N_recursion_scope.*)
|
||||||
Notation "recurse 'by' 'cases' | 0 => A | n + 1 => B 'end'" :=
|
Notation "recurse 'by' 'cases' | 0 => A | n + 1 => B 'end'" :=
|
||||||
(N.recursion A (fun n recurse => B))
|
(N.recursion A (fun n recurse => B))
|
||||||
(at level 11, A at level 200, n at level 0, B at level 200,
|
(at level 11, A at level 200, n at level 0, B at level 200,
|
||||||
|
|
|
@ -170,7 +170,7 @@ Qed.
|
||||||
(* BEGIN syntax macros that won't be explained *)
|
(* BEGIN syntax macros that won't be explained *)
|
||||||
Coercion Const : nat >-> exp.
|
Coercion Const : nat >-> exp.
|
||||||
Coercion Var : string >-> exp.
|
Coercion Var : string >-> exp.
|
||||||
Declare Scope cmd_scope.
|
(*Declare Scope cmd_scope.*)
|
||||||
Notation "*[ e ]" := (Read e) : cmd_scope.
|
Notation "*[ e ]" := (Read e) : cmd_scope.
|
||||||
Infix "+" := Plus : cmd_scope.
|
Infix "+" := Plus : cmd_scope.
|
||||||
Infix "-" := Minus : cmd_scope.
|
Infix "-" := Minus : cmd_scope.
|
||||||
|
@ -190,7 +190,7 @@ Notation "{{ I }} 'while' b 'loop' body 'done'" := (While_ I b body) (at level 7
|
||||||
Notation "'assert' {{ I }}" := (Assert I) (at level 75).
|
Notation "'assert' {{ I }}" := (Assert I) (at level 75).
|
||||||
Delimit Scope cmd_scope with cmd.
|
Delimit Scope cmd_scope with cmd.
|
||||||
|
|
||||||
Declare Scope reset_scope.
|
(*Declare Scope reset_scope.*)
|
||||||
Infix "+" := plus : reset_scope.
|
Infix "+" := plus : reset_scope.
|
||||||
Infix "-" := Init.Nat.sub : reset_scope.
|
Infix "-" := Init.Nat.sub : reset_scope.
|
||||||
Infix "*" := mult : reset_scope.
|
Infix "*" := mult : reset_scope.
|
||||||
|
|
2
Imp.v
2
Imp.v
|
@ -19,7 +19,7 @@ Inductive cmd :=
|
||||||
|
|
||||||
Coercion Const : nat >-> arith.
|
Coercion Const : nat >-> arith.
|
||||||
Coercion Var : var >-> arith.
|
Coercion Var : var >-> arith.
|
||||||
Declare Scope arith_scope.
|
(*Declare Scope arith_scope.*)
|
||||||
Infix "+" := Plus : arith_scope.
|
Infix "+" := Plus : arith_scope.
|
||||||
Infix "-" := Minus : arith_scope.
|
Infix "-" := Minus : arith_scope.
|
||||||
Infix "*" := Times : arith_scope.
|
Infix "*" := Times : arith_scope.
|
||||||
|
|
|
@ -309,7 +309,7 @@ Example factorial_ugly :=
|
||||||
* them from our examples. *)
|
* them from our examples. *)
|
||||||
Coercion Const : nat >-> arith.
|
Coercion Const : nat >-> arith.
|
||||||
Coercion Var : var >-> arith.
|
Coercion Var : var >-> arith.
|
||||||
Declare Scope arith_scope.
|
(*Declare Scope arith_scope.*)
|
||||||
Infix "+" := Plus : arith_scope.
|
Infix "+" := Plus : arith_scope.
|
||||||
Infix "-" := Minus : arith_scope.
|
Infix "-" := Minus : arith_scope.
|
||||||
Infix "*" := Times : arith_scope.
|
Infix "*" := Times : arith_scope.
|
||||||
|
|
|
@ -249,7 +249,7 @@ Example factorial_ugly :=
|
||||||
* them from our examples. *)
|
* them from our examples. *)
|
||||||
Coercion Const : nat >-> arith.
|
Coercion Const : nat >-> arith.
|
||||||
Coercion Var : var >-> arith.
|
Coercion Var : var >-> arith.
|
||||||
Declare Scope arith_scope.
|
(*Declare Scope arith_scope.*)
|
||||||
Infix "+" := Plus : arith_scope.
|
Infix "+" := Plus : arith_scope.
|
||||||
Infix "-" := Minus : arith_scope.
|
Infix "-" := Minus : arith_scope.
|
||||||
Infix "*" := Times : arith_scope.
|
Infix "*" := Times : arith_scope.
|
||||||
|
|
|
@ -448,7 +448,7 @@ Inductive statement : Set :=
|
||||||
* almost-natural-looking embedded programs in Coq. *)
|
* almost-natural-looking embedded programs in Coq. *)
|
||||||
Coercion Const : nat >-> expression.
|
Coercion Const : nat >-> expression.
|
||||||
Coercion Var : string >-> expression.
|
Coercion Var : string >-> expression.
|
||||||
Declare Scope embedded_scope.
|
(*Declare Scope embedded_scope.*)
|
||||||
Infix "+" := Plus : embedded_scope.
|
Infix "+" := Plus : embedded_scope.
|
||||||
Infix "-" := Minus : embedded_scope.
|
Infix "-" := Minus : embedded_scope.
|
||||||
Infix "*" := Times : embedded_scope.
|
Infix "*" := Times : embedded_scope.
|
||||||
|
|
|
@ -291,7 +291,7 @@ Inductive statement : Set :=
|
||||||
* almost-natural-looking embedded programs in Coq. *)
|
* almost-natural-looking embedded programs in Coq. *)
|
||||||
Coercion Const : nat >-> expression.
|
Coercion Const : nat >-> expression.
|
||||||
Coercion Var : string >-> expression.
|
Coercion Var : string >-> expression.
|
||||||
Declare Scope embedded_scope.
|
(*Declare Scope embedded_scope.*)
|
||||||
Infix "+" := Plus : embedded_scope.
|
Infix "+" := Plus : embedded_scope.
|
||||||
Infix "-" := Minus : embedded_scope.
|
Infix "-" := Minus : embedded_scope.
|
||||||
Infix "*" := Times : embedded_scope.
|
Infix "*" := Times : embedded_scope.
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
-R . Frap
|
-R . Frap
|
||||||
|
-arg -w -arg -undeclared-scope
|
||||||
Map.v
|
Map.v
|
||||||
Var.v
|
Var.v
|
||||||
Sets.v
|
Sets.v
|
||||||
|
|
Loading…
Reference in a new issue