úÎ!eSY Å      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶· ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä  Safe Ù discokitty™In the meaning space, states can have a given number of output wires. This function takes an state and should output the number of output wires it has. #A cup operation for a meaning type.GPL-3Safe¿ discokittyËGiven an integer, performs that number of cups between the two meaning spaces. In a monoidal category, this should be the composition of the tensor product of two states with a certain number of cups. discokitty]Neutral element for the cup operation. This could be given by the identity morphism (state). Lambek grammatical typesGPL-3Safe=?Ç discokittyA Lambek pregroup type. discokittyLambek basic grammatical types.Å discokittyThis operation checks if two types can be reduced. That is, if one is the left/right adjoint of the other. Note that this is not commutative.Æ discokittyIOutputs true if the two Lambek pregroup words can be completely reduced.  discokittyCChecks if two Lambek types can be reduced a given number of steps.  <Sparse representation of vectors over an arbitrary semiring.GPL-3Safe,©  discokitty[A vector is given internally by a map representing the coefficients of each basis element. discokittyMCreates a sparse vector from a list of basis elements multiplied by scalars. discokittyLCreates a sparse vector from a map assigning a scalar to each base element. discokitty=Outputs a map assigning to each base element its coefficient.Ç discokittyPAuxiliary function that removes zeroes from the sparse representation as a map.È discokittyGAuxiliary function that removes zeroes from the sparse representation.É discokittyOAuxiliary function that adds together coefficients for the same basis element.Ê discokittyŠAuxiliary function that converts a formal sum into a vector both adding up coefficients for the same basis elements and removing zeroes.Ë discokitty=The cup opreation for vectors. Implements the scalar product.Ì discokittyCThe unit for the cup is just the identity state for vector spaces.Í discokitty†Checks if two vectors have a shared basis element with a non zero coefficient. This is an auxiliary function for the scalar product. discokitty%Shows the coefficients of the vector.   *Data for a word in the Discocat framework.GPL-3Safe=?9P discokittymA word is given by a meaning and a grammatical type. The Words type is parameterized over the meaning type.Î discokittyWSize of the word, i.e. number of output wires or atoms in the Lambek grammatical type.Ï discokittydTries to concatenate two words a given number of times. Fails if the grammar types do not coincide.Ð discokitty®Tries all possible reductions of two words up to a given number of cups. It outputs all the ones that are successful, that is, the ones making the grammatical types match.  discokitty,Filters a list of words by grammatical type.! discokitty,Empty word. Unit for concatenation of words." discokittyMConcatenates a list of words outputting all possible grammatical reductions.  !"-Multiwords represent non deterministic words.GPL-3SafeCÄÑ discokitty“A multiword is given by a list of different words with different probabilities. Note that these words do not need to have the same grammar types.Ò discokitty)The probability is given by real numbers.Ó discokitty_Concatenates the meaning of multiple multiwords using the formal cups on the meaning category.Ô discokitty+The empty word for a formal cups multiword.Õ discokitty>Concatenates a whole sentence of multiwords into a single one.Ö discokittyLFilters the acceptations of the multiword that match the given Lambek type.× discokitty,Shows a multiword as a list of acceptations. ÑØÒÙÚÛÓÔÕÖÓ4.Cups and objects of the category of relations.GPL-3Safe&'=?EPXGS# discokittywA relation hom(1,a) is given by a subset of the universe with elements in a. We model this using the Data.Set library.#$%&'(#$%&'(-A category whose morphisms are tikz diagrams.GPL-3SafeRÜ discokittyÿA schema is an abstract diagram with some nodes and wires but also with a fixed number of words. The difference with a diagram is that a Schema must only contain wire nodes and no word nodes. That is, a Schema does not contain triangles representing states.Ý discokitty=A diagram is given by some nodes and some wires between them.Þ discokittylGeometric styles for the nodes. A copoint will be a state in a monoidal category represented by a triangle.ß discokittyA node on a tikzpicture represents one particular position. It is labeled with some text and has a particular geometric style.--4Discokitty implementation of the Discocat framework.GPL-3SafeS)   !"   "! NoneMT456456Safe=?Tm<=>?@ABCDEFGHIJKLMNOPQRSTUVW=>?@ABCDEFGHIJKLMNOPQRSTUV<WNone=?MU«^_`abcdefghijklmnopqrstuvwxy`abcdefghijklmnopqrstuvwxy^_SafeVÁ7€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶7€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶ SafeX¯ ·¸º¹¼»½¾¿ÀÁ ¸º¹¼»·½¾¿ÀÁà             !"#$%&'( ) ) * + , - . / 012%3456789:;<=>?@AABCDEFGHIIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghiijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Šp‹ŒŽ‘’“”•–—˜j™š›œžŸ ¡¢£¤¥¦~§n¨©ªuvs«wy€¬­z{}|®¯° ± I ² ³ ] ^ ´ µ ¶ · ¸ d h e ¹ º»¼½¾¿À5 Á  ÃÄÅÆÇ0ÈÉÄ3%ÊËÌÍÎÏ'discokitty-0.1.0-LkA5sqD1IFoLB1VgcTo1xZ DiscokittyDiscokitty.Models.VectorspacesDiscokitty.Models.RelDiscokitty.Models.Diagrams$Discokitty.Examples.LesJustesViterbi%Discokitty.Examples.LesJustesUniverse#Discokitty.Examples.LesJustesVector!Discokitty.Examples.LesJustesMainDiscokitty.Examples.AliceAndBobDiscokitty.DimensionDiscokitty.HasCupsDiscokitty.LambekDiscokitty.WordsDiscokitty.MultiwordsDimdimHasCupscupcunitLambekTypeNSLRagreeOn VectorspaceVectorSemiringplusmultzerounitsparsefromMaptoMapfromList$fHasCupsVectorspace$fDimVectorspace$fShowVectorspaceWordsmeaninggrammartext concatenate@@@ emptyWordsentenceRelrelationtoListrelCupagrees $fDimWords $fHasCupsRel$fDimRel $fShowRel tikzDiagrams $fShowStyle$fHasCupsSchema $fShowNode $fShowWire $fShowDiagram $fShowSchemaViterbiv$fSemiringViterbi $fEqViterbi $fShowViterbi $fNumViterbi $fOrdViterbi UniverseNUniverseYanekDoraBorisDukeStepanNephew SkouratovPoet Revolutionary TerroristSaviourInnocentTsaristAliveLifePoetry Chemistry PropagandaBombIsTrueIsFalse IsRighteousIsWrongIsPlotuniverse$fDim[] $fEqUniverse$fShowUniverse$fBoundedUniverse$fEnumUniverse $fOrdUniverseTropicalyanek'dora'likes'combat'is'people'yanekdoralikesenjoyispeoplecombatwhobasistsaristlife propagandapoetryinnocent terrorist revolutionarytsaristsrevolutionariesthatare$fSemiringDouble$fSemiringTropical $fEqTropical$fShowTropical $fNumTropical $fOrdTropicalRelUattacksdukeexample2lnotrnotcnstkillsexample3nephewbomband' example4ausingwithduke'nephew'bomb'using'and''attacks' example5a example5bbecomesbecomes'kills''' discarding'hesaviouralive?example6example7is_example8example9 chemistry example10 example11TermAliceBobaliceboblovesexampleexampleDiagram>~<agree removeZerosM removeZeros removePlus normalizevecCupvecUnitsizemaybeContryConcatenate Multiword Probability multiconcat multiempty@@$fShowMultiword singletonSchemaDiagramStyleNode