Source code for proveit.logic.sets.functions.injections.injections
from proveit import Function, Literal
[docs]class Injections(Function):
'''
A set of functions from a domain to a codomain that are
one-to-one and onto.
'''
_operator_ = Literal('Injections', r'\textrm{Injections}',
theory=__file__)
def __init__(self, domain, codomain, *, styles=None):
Function.__init__(self, Injections._operator_, (domain, codomain),
styles=styles)
self.domain = domain
self.codomain = codomain
def membership_object(self, element):
from .injections_membership import InjectionsMembership
return InjectionsMembership(element, self)
[docs] def latex(self, **kwargs):
domain_str = self.domain.latex(fence=True)
codomain_str = self.codomain.latex(fence=True)
return (r'\left[' + domain_str
+ r' \xrightarrow[]{\text{1-to-1}} '
+ codomain_str + r'\right]')