Library ASCommon.Options
Coq configuration for ArchSem (not meant to leak to clients).
Any downstream project should have its own options file as this might change at
any time without notice.
All ArchSem files should Import (but not Export) this.
This file should be imported before any other ArchSem file
Force Proof. commands in section to just be Proof using.. This means the
code must specify any section variables, and that most lemmas that don't
need any extra section variable can just start with Proof. and not
Proof using.
#[export] Set Default Proof Using "".
Enforces that every tactic is executed with a single focused goal, meaning
that bullets and curly braces must be used to structure the proof.
#[export] Set Default Goal Selector "!".
Improve the behavior of unification for rewriting tactics, at the cost of
making rewriting a bit slower
#[export] Set Keyed Unification.
Disable Fancy program pattern matching. The equality can be recovered (if
needed) with inspect
#[export] Unset Program Cases.
We want idtac by default
#[export] Obligation Tactic := idtac.
Use the if _ is _ notation in this project, but do not force users to use it
Make typeclass resolution treat all constant as opaque by default
Functional pipe notation.
Module FunctionPipeNotations.
Notation "v |> f" := (f v) (at level 68, only parsing, left associativity).
Notation "v |> f" := (f v) (at level 68, only parsing, left associativity).
And pipes for FMap notations
Notation "v |$> f" := (fmap f v) (at level 68, only parsing, left associativity).
Notation "v |$>@{ M } f" := (@fmap M _ _ _ f v)
(at level 68, only parsing, left associativity).
End FunctionPipeNotations.
Export FunctionPipeNotations.
Notation "v |$>@{ M } f" := (@fmap M _ _ _ f v)
(at level 68, only parsing, left associativity).
End FunctionPipeNotations.
Export FunctionPipeNotations.