aboutsummaryrefslogtreecommitdiffhomepage
path: root/printing
Commit message (Collapse)AuthorAge
* Remove extraneous space in coqtop/pg output (bug #4675).Gravatar Guillaume Melquiond2016-05-03
|
* Revert "Fixing printing of surrounding parentheses in "ltac:"."Gravatar Hugo Herbelin2016-04-19
| | | | | | | | I made a confusion between ltac: in constr and ltac: in tactics, the one needing parentheses in v8.5 but the latter needing parentheses only in trunk. This reverts commit f5dc54519f2a62bab2f7b9059e8c3c8dc53619be.
* Fixing printing of surrounding parentheses in "ltac:".Gravatar Hugo Herbelin2016-04-17
|
* Univs: fix get_current_context (bug #4603, part I)Gravatar Matthieu Sozeau2016-03-25
| | | | | Return an evar_map with the right universes, when there are no focused subgoals or the proof is finished.
* Primitive projections: protect kernel from erroneous definitions.Gravatar Matthieu Sozeau2016-03-10
| | | | | | | | | E.g., Inductive foo := mkFoo { bla : foo } allowed to define recursive records with eta for which conversion is incomplete. - Eta-conversion only applies to BiFinite inductives - Finiteness information is now checked by the kernel (the constructor types must be strictly non recursive for BiFinite declarations).
* Do not give a name to anonymous evars anymore. See bug #4547.Gravatar Pierre-Marie Pédrot2016-02-13
| | | | | | | | The current solution may not be totally ideal though. We generate names for anonymous evars on the fly at printing time, based on the Evar_kind data they are wearing. This means in particular that the printed name of an anonymous evar may change in the future because some unrelate evar has been solved or introduced.
* Implement support for universe binder lists in Instance and Program ↵Gravatar Matthieu Sozeau2016-01-23
| | | | Fixpoint/Definition.
* Update copyright headers.Gravatar Maxime Dénès2016-01-20
|
* Improving over printing of let-tuple (see #4447).Gravatar Hugo Herbelin2015-12-03
| | | | | | | | | | | | | For instance, #4447 is now printed: λ Ca Da : ℕAlg, let (ℕ, ℕ0) := (Ca, Da) in let (C, p) := ℕ in let (c₀, cs) := p in let (D, p0) := ℕ0 in let (d₀, ds) := p0 in {h : C → D & ((h c₀ = d₀) * (∀ c : C, h (cs c) = ds (h c)))%type} : ℕAlg → ℕAlg → Type
* Dead code from August 2014 in apply in.Gravatar Hugo Herbelin2015-12-02
|
* Adding syntax "Show id" to show goal named id (shelved or not).Gravatar Hugo Herbelin2015-11-02
|
* Univs: local names handling.Gravatar Matthieu Sozeau2015-10-28
| | | | | Keep user-side information on the names used in instances of universe polymorphic references and use them for printing.
* Printing of @{} instances for polymorphic references in Print and About.Gravatar Matthieu Sozeau2015-10-28
|
* Axioms now support the universe binding syntax.Gravatar Pierre-Marie Pédrot2015-10-08
| | | | | | We artificially restrict the syntax though, because it is unclear of what the semantics of several axioms in a row is, in particular about the resolution of remaining evars.
* Goptions: new value type: optional stringGravatar Enrico Tassi2015-10-08
| | | | | These options can be set to a string value, but also unset. Internal data is of type string option.
* Univs: add Strict Universe Declaration option (on by default)Gravatar Matthieu Sozeau2015-10-07
| | | | | | | | | This option disallows "declare at first use" semantics for universe variables (in @{}), forcing the declaration of _all_ universes appearing in a definition when introducing it with syntax Definition/Inductive foo@{i j k} .. The bound universes at the end of a definition/inductive must be exactly those ones, no extras allowed currently. Test-suite files using the old semantics just disable the option.
* Univs: fix printing bug #3797.Gravatar Matthieu Sozeau2015-10-05
|
* Print Assumptions shows engagement.Gravatar Maxime Dénès2015-09-20
| | | | Seems to be morally required since we have the -type-in-type flag.
* Univs: Add universe binding lists to definitionsGravatar Matthieu Sozeau2015-09-14
| | | | | ... lemmas and inductives to control which universes are bound and where in universe polymorphic definitions. Names stay outside the kernel.
* Revert the four previous commits and update the description of Richpp.Gravatar Pierre-Marie Pédrot2015-08-15
| | | | | Correcting the code w.r.t. to the API was not the right solution. Instead, the API comment had to be corrected.
* More invariants in Richpp.Gravatar Pierre-Marie Pédrot2015-08-15
| | | | | | We ensure statically by typing that the tags used by the rich printer are integers. Furthermore, we also expose through typing that tags are irrelevants in the returned XML.
* More parametric type for generalized XML.Gravatar Pierre-Marie Pédrot2015-08-15
|
* Fixing bug #2169:Gravatar Pierre-Marie Pédrot2015-07-27
| | | | "Print Module command shows module type expression incorrectly".
* Fixing printing of primitive coinductive record status.Gravatar Pierre-Marie Pédrot2015-07-09
| | | | They do not have eta-rule indeed, even though it was displayed as such.
* Assumptions: more informative print for False axiom (Close: #4054)Gravatar Enrico Tassi2015-06-29
| | | | | | | | | | | | | | | | | | | | | | | | When an axiom of an empty type is matched in order to inhabit a type, do print that type (as if each use of that axiom was a distinct foo_subproof). E.g. Lemma w : True. Proof. case demon. Qed. Lemma x y : y = 0 /\ True /\ forall w, w = y. Proof. split. case demon. split; [ exact w | case demon ]. Qed. Print Assumptions x. Prints: Axioms: demon : False used in x to prove: forall w : nat, w = y used in w to prove: True used in x to prove: y = 0
* Introduction of a "Undelimit Scope" command, undoing "Delimit Scope"Gravatar Lionel Rieg2015-06-26
|
* Moved fatal_error from Coqtop to Errors and corrected dependencies accordingly.Gravatar Thomas Sibut-Pinote2015-06-25
| | | | This allows fatal_error to be used for printing anomalies at loading time.
* Add a space in cast since cast binds loosely.Gravatar Gregory Malecha2015-06-24
| | | | | Fixes bug 3936 This closes #73
* Make end-of-proof output consistent across toplevels.Gravatar Guillaume Melquiond2015-06-19
| | | | | Ideally, the code should be shared between the various toplevels, but this is a lot more work than just fixing a few strings.
* Add a [Redirect] vernacular commandGravatar Clément Pit--Claudel2015-05-04
| | | | | | | The command [Redirect "filename" (...)] redirects all the output of [(...)] to file "filename.out". This is useful for storing the results of an [Eval compute], for redirecting the results of a large search, for automatically generating traces of interesting developments, and so on.
* Remove almost all the uses of string concatenation when building error messages.Gravatar Guillaume Melquiond2015-04-23
| | | | | | Since error messages are ultimately passed to Format, which has its own buffers for concatenating strings, using concatenation for preparing error messages just doubles the workload and increases memory pressure.
* Declarative mode: plug the specialised printers back.Gravatar Arnaud Spiwack2015-03-31
| | | | It will not work in CoqIDE though, which handles printing its own way. It's a general remark that we have many ways of printing things in Coq and we should look for a unified structured framework to be shared between interfaces.
* Better formatting of messages in proofs.Gravatar Arnaud Spiwack2015-03-31
|
* Generalisation of the "end command" argument of the goal printer.Gravatar Arnaud Spiwack2015-03-31
| | | | This is meant to help integrate the printers of the declarative mode.
* Putting the From parameter of the Require command into the AST.Gravatar Pierre-Marie Pédrot2015-03-27
|
* rewiring Czar printers that were disabledGravatar Pierre Corbineau2015-03-13
| | | | Backported from trunk.
* Do not display the status of monomorphic constants unless in ↵Gravatar Guillaume Melquiond2015-03-09
| | | | universe-polymorphism mode.
* Better English for #4070 implicit arguments message (thanks to Jason for his ↵Gravatar Hugo Herbelin2015-02-21
| | | | help).
* An answer to #4070 (message for implicit arguments of inl not clear).Gravatar Hugo Herbelin2015-02-20
|
* Abstract: "Qed export ident, .., ident" to preserve v8.4 behaviorGravatar Enrico Tassi2015-02-14
| | | | Of course such proofs cannot be processed asynchronously
* More efficient Richpp.Gravatar Pierre-Marie Pédrot2015-02-06
| | | | We build the rich XML at once without generating the printed string.
* Removing dead code.Gravatar Pierre-Marie Pédrot2015-02-02
|
* Isolate a function for printing evar sets.Gravatar Hugo Herbelin2015-01-24
|
* Univs: proper printing of global and local universe names (onlyGravatar Matthieu Sozeau2015-01-17
| | | | printing functions touched in the kernel).
* Fix issue in printing due to de Bruijn bug when constructing compatibilityGravatar Matthieu Sozeau2015-01-13
| | | | | | constr for primitive records (not used anywhere else than printing). Problem reported by P. LeFanu Lumsdaine on HoTT/HoTT. Also add some minor fixes in detyping and pretty printing related to universes.
* Update headers.Gravatar Maxime Dénès2015-01-12
|
* Declarations.mli refactoring: module_type_body = module_bodyGravatar Pierre Letouzey2015-01-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | After this commit, module_type_body is a particular case of module_type. For a [module_type_body], the implementation field [mod_expr] is supposed to be always [Abstract]. This is verified by coqchk, even if this isn't so crucial, since [mod_expr] is never read in the case of a module type. Concretely, this amounts to the following rewrite on field names for module_type_body: - typ_expr --> mod_type - typ_expr_alg --> mod_type_alg - typ_* --> mod_* and adding two new fields to mtb: - mod_expr (always containing Abstract) - mod_retroknowledge (always containing []) This refactoring should be completely transparent for the user. Pros: code sharing, for instance subst_modtype = subst_module. Cons: a runtime invariant (mod_expr = Abstract) which isn't enforced by typing. I tried a polymorphic typing of mod_expr, to share field names while not having mtb = mb, but the OCaml typechecker isn't clever enough with polymorphic mutual fixpoints, and reject code sharing (e.g. between subst_modtype and subst_module). In the future (with ocaml>=4), some GADT could maybe help here, but for now the current solution seems good enough.
* Continuing 785f82ee1 on reverting not only f5d7b2b1e but alsoGravatar Hugo Herbelin2015-01-08
| | | | | | fd98174afe6 about fixing hypothesis alpha-conversion strategy for This completion of the reverting fixes #3905.
* Fixed and extend bullet related info/error messages. + doc.Gravatar Pierre Courtieu2015-01-08
| | | | | Had to put some hook in the handler of Proofview.NoSuchgoals. Documentation updated. CHANGE updated.
* Revert "Term: include a function to print terms"Gravatar Enrico Tassi2014-12-27
| | | | | | Such printer is already in Termops This reverts commit 5d6106a075b79abbb92b03bbca7b13a517cf4925.