File: bug_3892.v

package info (click to toggle)
coq 9.1.0%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 35,964 kB
  • sloc: ml: 239,908; sh: 4,355; python: 2,985; ansic: 2,644; makefile: 874; lisp: 171; javascript: 63; xml: 24; sed: 2
file content (8 lines) | stat: -rw-r--r-- 443 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
(* Check that notation variables do not capture names hidden behind
   another notation. *)
Notation "A <-> B" := ((A -> B) * (B -> A))%type : type_scope.
Notation compose := (fun g f x => g (f x)).
Notation "g 'o' f" := (compose g f) (at level 40, left associativity).
Definition iff_compose {A B C : Type} (g : B <-> C) (f : A <-> B) : A <-> C :=
  (fst g o fst f , snd f o snd g).
(* Used to fail with: This expression should be a name. *)