aboutsummaryrefslogtreecommitdiff
path: root/test-suite/ltac2/notations.v
blob: 32c8a7cbe7f1c773e60646996374503f049e578b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
From Ltac2 Require Import Ltac2.
From Coq Require Import ZArith String List.

(** * Test cases for the notation system itself *)

Open Scope Z_scope.

Check 1 + 1 : Z.

Ltac2 Notation "ex" arg(constr(nat,Z)) := arg.

Check (1 + 1)%nat%Z = 1%nat.

Lemma two : nat.
  refine (ex (1 + 1)).
Qed.

Import ListNotations.
Close Scope list_scope.

Ltac2 Notation "sl" arg(constr(string,list)) := arg.

Lemma maybe : list bool.
Proof.
  refine (sl ["left" =? "right"]).
Qed.

(** * Test cases for specific notations with special contexts *)

(** ** Test eval ... in / reduction tactics *)

(** Moved to test-suite/output/ltac2_notations_eval_in.v so that the output can be checked s*)