Вопросы по теме 'unification'

Объединение высшего порядка
Я работаю над средством доказательства теорем высшего порядка, из которых объединение кажется наиболее сложной подзадачей. Если алгоритм Хуэ по-прежнему считается современным, есть ли у кого-нибудь ссылки на его объяснения, написанные для понимания...
4871 просмотров

Объединение путем преобразования
Я пишу алгоритм объединения на F# для использования с AST преобразования с использованием "Переписывание сроков и все такое" ( WoldCat ) Франца Баадера и Тобиаса Нипкова. Для раздела 4.6 Объединение путем преобразования было слишком много...
229 просмотров
schedule 21.10.2023

Нахождение всех объединений в прологе
Я написал свой первый простой код на PROLOG: is_beginning([], _). is_beginning([FirstLetterB|RestWordB], [FirstLetterW|RestWordW]) :- FirstLetterB == FirstLetterW, is_beginning(RestWordB, RestWordW). Он предназначен для того, чтобы...
278 просмотров
schedule 08.01.2024

Унификация (?) в Прологе
У меня есть школьный проект, где я должен работать с Prolog. Это все новое для меня, поэтому у меня есть некоторые проблемы. У меня есть такой список: List = [(_,_,_),(_,_,_),(_,_,_)] Я должен получить от ввода информацию о каждом члене,...
210 просмотров
schedule 25.03.2024

Вручную вывести тип развлечения xss = \f -> let ope x y = x . ф . y в папке r1 открыть xss
Я пытаюсь вручную вывести тип fun xss = \f -> let ope x y = x . f . y in foldr1 ope xss ф. г y :: t1 -- First occurrence f :: t2 -- First occurrence (.) (b1 -> c1) -> (a1 -> b1) -> a1 -> c1 -- (.) definition t1 ~ a1...
231 просмотров
schedule 15.05.2022

Получение предполагаемого типа составных функций Haskell: в частности (.) map uncurry
Здесь много тем о выводе предполагаемого типа составных функций, но я все еще довольно запутался. Ни один из найденных мной постов не дает общего объяснения того, как унифицировать типы. У меня есть проблема с одним из моих учебных пособий для...
341 просмотров

Предотвращение объединения типов
Учитывая эту оболочку вокруг целых чисел: newtype MyProxy a = MyProxy Int mkProxy :: Int -> MyProxy a mkProxy a = MyProxy a addProxy :: MyProxy a -> MyProxy a -> MyProxy a addProxy (MyProxy a1) (MyProxy a2) = MyProxy $ a1+a2 Я...
118 просмотров
schedule 10.12.2022

Пролог: ошибки объединения или возврата в программе
У меня есть простая база знаний, которая кодирует генеалогическое древо. Некоторые важные правила в этом представлении заключаются в следующем: % fathers father(michael,cathy). father(michael,sharon). father(charles_gordon,michael)....
215 просмотров

Идрис - Невозможно оценить приложение функции в типе
У меня проблема, когда у меня есть значение типа fun a , где fun является функцией, а a значением, которое не вычисляется при проверке типа и выдает ошибку объединения, когда я заставляю его быть результатом этой функции применение....
223 просмотров

Поиск наиболее общего унификатора в Haskell с использованием Data.Comp.Unification (вопрос для начинающих)
У меня есть следующая структура в haskell, которая реализует некоторые механизмы для печати и вызывает унификатор. Я получаю следующую ошибку от main: 0 =/= int Кажется, что 0 - это число, а не переменная. Ниже приведена полная реализация....
351 просмотров

Проверка, унифицируется ли список переменных со списком списков, содержащих буквы
У меня есть этот предикат spaces_uni(Spc,LstWords) , Spc — это список переменных, таких как [X,Y,Z] или [a,Y,Z] , а LstWords — это список слов, таких как [[o,r,a,n,g,e],[a,p,p,l,e],[b,a,n,a,n,a]] . Цель этого предиката — проверить, есть ли в...
79 просмотров
schedule 03.07.2022