Описание тега injective-function

1 ответ

Как помочь GHC сделать вывод, что `Arrows (Domains func) (CoDomain func) ~ func`

Рассмотрим Arrows, Domains а также CoDomain семейства типов, определенные в agda кодовая база. Для программиста очевидно, что Arrows (Domains func) (CoDomain func) ~ func, Но я не могу получить curries (Proxy :: Proxy (Domains func)) (Proxy :: Proxy…
14 фев '18 в 15:48
1 ответ

Автоматическое определение домена для функции зависимого типа в Idris

В учебнике по языку Идрис есть простой и понятный пример идеи зависимых типов: http://docs.idris-lang.org/en/latest/tutorial/typesfuns.html Вот код: isSingleton : Bool -> Type isSingleton True = Int isSingleton False = List Int mkSingle : (x : Bo…
1 ответ

Инъективные двусторонние отображения

Я часто имею дело с отображениями, которые являются инъективными. В терминологии программирования это можно выразить в виде словаря, в котором все значения являются уникальными, а также, конечно, все ключи. Существует ли структура данных с эффективн…
1 ответ

ПК-кандидат должен быть инъективной, сюръективной или биективной функцией?

У меня есть сомнения относительно информационной силы кандидата на роль ПК. Насколько я понимаю, и это то, чем я хочу поделиться, чтобы проверить, правильно ли это, кандидат в ПК должен быть достаточно сильным, чтобы однозначно идентифицировать набо…
1 ответ

Неинъективная семья закрытого типа

У меня есть этот заведомо надуманный кусок кода {-# LANGUAGE DataKinds, TypeFamilies #-} data Foo = Foo type family Id (n :: Foo) a where Id 'Foo a = a data Bar (n :: Foo) = Bar class Dispatch (n :: Foo) where consume :: Id n a -> Bar n -> a c…
28 сен '18 в 03:32
2 ответа

Откуда мы знаем, что все конструкторы Coq инъективны и не пересекаются?

Согласно этому курсу все конструкторы (для индуктивных типов) являются инъективными и дизъюнктными: ... Подобные принципы применимы ко всем индуктивно определенным типам: все конструкторы являются инъективными, а значения, построенные из различных к…
19 сен '15 в 00:31
1 ответ

Семейства типов и инъективность в подмножестве индексов

У меня есть следующий тип семьи: {-# LANGUAGE TypeFamilyDependencies #-} type family Const arr r = ret | ret -> r where Const (_ -> a) r = Const a r Const _ r = r Это просто Const замаскированная функция, но проверка на приемистость GHC 8.2.1 …
14 сен '17 в 20:01
1 ответ

Почему мы не можем определить закрытые семейства данных?

Все следующие работы: {-# LANGUAGE TypeFamilies #-} type family TF a type instance TF Int = String type instance TF Bool = Char data family DF a data instance DF Int = DFInt String data instance DF Bool = DFBool Char type family CTF a where CTF Int …
22 мар '18 в 16:24
1 ответ

Как проверить, является ли хэш-карта Injective (OneOnOne) в Java?

Как мне написать метод, который может проверить, является ли хэш-карта Injective (OneOnOne)? Чтобы для каждого значения на карте был только один ключ. Я хочу, чтобы он прошел этот тест: Map<Integer, Character> m = new HashMap<Integer, Chara…
0 ответов

Как изменить инъективное (однозначное) отображение

У меня есть следующее инъективное отображение: 0->0 1->1 2->2 3->3 4->4 5->5 и я хочу его изменить, например: 0->X 1->2 2->5 3->4 4->0 5->X а X - любое значение. В целевом наборе больше значений. Мне нужно получит…
06 май '20 в 11:14
0 ответов

Примеры инъективных функций сокращения?

Есть ли какие-либо источники для поиска общих инъективных функций сокращения карты? (Есть ли название для таких функций?) Например, мне нужно сопоставить список чисел lst = [1,2,3,4] в кортеж (сумма, произведение) def mapper(lst): sum_, prod = 0, 1 …
04 фев '20 в 13:56
1 ответ

Могу ли я ввести эквивалентность звукового конструктора?

Скажите, что у меня есть Inductive типа как Inductive foo := | a : foo | b : foo | c : foo. но я действительно хочу "идентифицировать" b с участием c - то есть я хочу иметь возможность рассматривать их как два разных способа написания одного и того …
31 мар '20 в 13:20
1 ответ

Требуется помощь Попытка упростить этот алгоритм для сопоставления точек на произвольно большой 2d-плоскости с уникальными целыми числами

Итак, как сказано в заголовке, мне нужна помощь в попытке сопоставить точки с 2-мерной плоскости с числовой линией таким образом, чтобы каждая точка была связана с уникальным положительным целым числом. Другими словами, мне нужна функция f:ZxZ->Z…
22 фев '21 в 04:17
0 ответов

Как доказать, что параметры типа семейства инъективных типов эквивалентны?

Если у меня есть семейство инъективных типов и доказательство эквивалентности типов, как я могу получить доказательство эквивалентности параметров? Лучшее, что я смог придумать, использует , и это кажется мне оправданным, поскольку TypeFamily являет…
1 ответ

Генерация максимальных подмножеств набора при некоторых ограничениях в Python

У меня есть набор атрибутов A= {a1, a2, ...an}и набор кластеров C = {c1, c2, ... ck}и у меня есть набор соответствий, который является подмножеством A x Cа также |COR|<< A x C. Вот примерный набор соответствий COR = {(a1, c1), (a1, c2), (a2, c…