#10963: More functorial constructions
-------------------------------------+-------------------------------------
       Reporter:  nthiery            |        Owner:  stumpc5
           Type:  enhancement        |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-6.1
      Component:  categories         |   Resolution:
       Keywords:  days54             |    Merged in:
        Authors:  Nicolas M. Thiéry  |    Reviewers:  Simon King, Frédéric
Report Upstream:  N/A                |  Chapoton
         Branch:                     |  Work issues:
  public/ticket/10963                |       Commit:
   Dependencies:  #11224, #8327,     |  eb7b486c6fecac296052f980788e15e2ad1b59e4
  #10193, #12895, #14516, #14722,    |     Stopgaps:
  #13589, #14471, #15069, #15094,    |
  #11688, #13394, #15150, #15506     |
-------------------------------------+-------------------------------------

Comment (by nthiery):

 Hi Simon!

 Short answer for now. I have a longer answer from yesterday which did
 not go through before I went to bed.

 Replying to [comment:436 SimonKing]:
 > As indicated above, it seems natural to me that we prefer a "short"
 > construction (start with a basic category and apply few axioms) over a
 "long"
 > construction (involving a long chain of axioms. This means we would
 prefer a
 > degree order. However, it ''really'' matters what happens after
 comparing
 > degrees.
 >
 > In all examples, I am using a degneglex order.
 >
 > - Start with the basic categories ''reversedly'' sorted by their name,
 >   followed by the axioms in the ''reversed'' order given by
 >   `sage.categories.categories_with_axioms.all_axioms`. Then, there is
 only one
 >   complaint, namely: `Blahs.Unital.Blue` should coincide with
 >   `Blahs.Unital`.
 >
 > - Start with the basic categories ''directly'' sorted by their name,
 followed
 >   by the xioms in the ''reversed'' order given by
 >   `sage.categories.categories_with_axioms.all_axioms`. Then, we
 additionally
 >   find: `TestObjects.FiniteDimensional.Unital` should better be provided
 by
 >   `Bars.Unital.FiniteDimensional`. Similarly for other educational
 examples in
 >   `sage.categories.category_with_axiom`.
 >
 > - Start with the basic categories ''reversedly'' sorted by their name,
 >   followed by the axioms in the ''direct'' order given by
 >   `sage.categories.categories_with_axioms.all_axioms`. Then the problems
 are
 >   similar to the previous case, in the educational examples in
 >   `sage.categories.category_with_axiom`. Such as:
 `TestObjects.FiniteDimensional.Unital` should
 >   better be provided by `TestObjects.Blue.FiniteDimensional`.
 >
 > - Start with the basic categories ''directly'' sorted by their name,
 followed
 >   by the axioms in the ''direct'' order given by
 >   `sage.categories.categories_with_axioms.all_axioms`. Again, problems
 with
 >   the educational examples in `sage.categories.category_with_axiom`.
 Such as:
 >   `TestObjectsOverBaseRing.Unital` should rather be provided as
 `TestObjectsOverBaseRing.Blue`.
 >
 > This result is temporary, as I still seem to miss a couple of category
 > classes. However, what does it tell us?
 >
 > On the plus side, all "real" examples work consistently.
 >
 > On the negative side, a consistent choice of local spanning tree data
 does
 > depend on choosing a monomial order. This order is nowhere explicit, but
 with
 > some orders the choices made in educational examples fail. Who can
 guarantee
 > that the same will never happen in future real world examples, unless we
 make
 > the implicit order explicit?

 Let me state it in bold: the current algorithm has been designed so
 that *there is no local-global problem*. The global consistency
 conditions that you are trying to impose on the code are *not*
 required by the current specifications. You need a tree, but the tree
 need not be that of standard monomials for whatever term order. One
 can for example very well choose to implement an axiom category as
 Cs.A.B in a category Cs, and in Ds.B.A in a subcategory.

 When I claimed the code was correct, I really meant that the
 infrastructure algorithm was correct. That is, not only the current
 category code works properly, but every new category/axiom code
 written that respects the specifications given in the axiom
 documentation should work properly.

 You are of course very well entitled to not believe me and I am glad
 that you are checking my claims. Which is why I'll try today to
 formalize a proof of the infrastructure. One of the point is that the
 algorithm computes a normal form, but that normal form is given by the
 lattice structure itself, without a need for a term order. The
 computations occur in a concrete lattice, not in the free lattice
 modulo relations.

 In the mean time, a hint is the fact that the algorithm gives correct
 results even on examples where there are local choices that do not
 satisfy your global consistency conditions (I am of course excluding
 the example which breaks voluntarily the current specifications).

 Cheers,
                               Nicolas

--
Ticket URL: <http://trac.sagemath.org/ticket/10963#comment:437>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to