Fixes a misspelling at src/sage/categories/pushout.py and the docstring test with CallableSymbolicExpressionRing
trac #17361 first tentative to implement ordinal_product of posets
trac #17361 fixup commit
trac #17361 changes according to some of the reviewer's comments
trac #17361 cross-references
trac #17361 using cover iterator
trac #17361 correct the failing doctest
trac #17361 using max and min elements for a better algorithm
trac #17361 ordinal_product of lattices as lattice
trac #17361 not for semilattices, only for lattices
Trac #17395: Remove src/sage/misc/bug.py

URL: http://trac.sagemath.org/17395
Reported by: jdemeyer
Ticket author(s): Jeroen Demeyer
Reviewer(s): Karl-Dieter Crisman
Trac #17401: Trivial docstring fix in free_algebra.py (fix reference)

Replace `trac ticket #...:`.

URL: http://trac.sagemath.org/17401
Reported by: cheuberg
Ticket author(s): Clemens Heuberger
Reviewer(s): Simon King
Trac #17361: Poset: Add ordinal_product

Add the ordinal product (Enumerative combinatorics, p. 284) function of
posets. In ordinal product of `P` and `Q` we have `(p,q) <= (p',q')` if
either `p <= p'` or `p == p'` and `q <= q'`. This is easy one, just
needs docstring etc. Direct example code:

{{{
def ordinal_product(P, Q):
    # Note: P*Q is not isomorphic to Q*P
    elms=[(s,t) for s in P for t in Q]
    rels_a=[((s,t),(s, t_)) for s in P for t in Q for t_ in Q if Q.lt(t,
t_)]
    rels_b=[((s,t),(s_, t_)) for s in P for t in Q for s_ in P for t_ in
Q if P.lt(s, s_)]
    return Poset((elms, rels_a+rels_b))
}}}

URL: http://trac.sagemath.org/17361
Reported by: jmantysalo
Ticket author(s): Frédéric Chapoton
Reviewer(s): Nathann Cohen, Jori Mäntysalo
Trac #12298: minor CallableSymbolicExpressionRing display bug.

When a CallableSymbolicExpressionRing is created with only one variable,
arguments is still plural and an extra comma is printed.

Correct, #variable > 1:
{{{
sage: CallableSymbolicExpressionRing([var('q p')])
Callable function ring with arguments (q, p)
}}}

Incorrect:
{{{
sage: CallableSymbolicExpressionRing([var('q')])
Callable function ring with arguments (q,)
}}}

The extra comma, I ''suspect'', is because the repr returns something
like "... arguments (%s)" % variable_tuple. This is what would be
expected of a singular tuple.

URL: http://trac.sagemath.org/12298
Reported by: gbe
Ticket author(s): Geoffrey Ehrman, Kannappan Sampath, Sergey Bykov
Reviewer(s): Kannappan Sampath, Karl-Dieter Crisman, Jeroen Demeyer