Commit 66664b37 authored by Michael Sammler's avatar Michael Sammler

another try

parent 6c604e56
Pipeline #26486 passed with stage
in 10 minutes and 1 second
......@@ -3,19 +3,17 @@ that are used throughout the whole development. Most importantly it contains
abstract interfaces for ordered structures, sets, and various other data
structures. *)
(** The order of this [Require Export] is important: The definition of [length]
in [List] should shadow the definition of [length] in [String]. We also need
to export [Datatypes] because [List] contains a [parsing only] notation for
[length], not the actual definition of [length], which is in [Datatypes]. *)
From Coq Require Export String Datatypes List.
From Coq Require Export Morphisms RelationClasses Bool Utf8 Setoid.
From Coq Require Export Morphisms RelationClasses List Bool Utf8 Setoid.
From Coq Require Import Permutation.
Set Default Proof Using "Type".
Export ListNotations.
From Coq.Program Require Export Basics Syntax.
(** TODO: This hack should be removed once we drop support for Coq 8.10. It is
needed for the transitive export/import bug that is fixed in Coq 8.11. *)
(** This notation is necessary to prevent [length] from being printed
as [strings.length] if strings.v is imported and later base.v. See
also strings.v and and *)
Notation length := Datatypes.length.
(** * Enable implicit generalization. *)
From Coq Require Import Ascii.
From Coq Require Export String.
From stdpp Require Export list.
From stdpp Require Import countable.
Set Default Proof Using "Type".
(* To avoid randomly ending up with String.length because this module is
imported hereditarily somewhere. *)
Notation length := List.length.
(** * Fix scopes *)
Open Scope string_scope.
(* Make sure [list_scope] has priority over [string_scope], so that
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