proof

Существует хорошо известная алгоритмическая Задача , заданная массивом чисел, например[1, 20, 3, 14] упорядочить числа таким образом, чтобы они образовывали наибольшее возможное число, в данном случае 320141. Существует множество решений на SO и других сайтах, использующих следующий алгоритм: String[] strs...

Когда refineразрабатывал программу, я пытался закончить доказательство inversion на гипотезе False, Когда целью было Type. Вот сокращенная версия доказательства, которое я пытался сделать. Lemma strange1: forall T:Type, 0>0 -> T. intros T H. inversion H. (* Coq refuses inversion on 'H : 0 > 0' ...

Я столкнулся с распространенной проблемой программирования интервью: учитывая список беззнаковых целых чисел, найти одно целое число, которое встречается нечетное число раз в списке. Например, если задан список: {2,3,5,2,5,5,3} Решением будет целое число 5, так как оно встречается в списке 3 раза, в то вр...

Я пытаюсь написать простую проверенную реализацию метода подстрок. Мой метод принимает 2 строки и проверяет, находится ли str2 в str1. Я пытаюсь выяснить, во - первых, почему мой инвайрант не удерживается-Dafny отмечает, что инвариант может не удержаться на входе, и в то время как мои условия pre/post терпят ...

Я пытаюсь доказать, что на мой взгляд является разумной теоремой: theorem1 : (n : Nat) -> (m : Nat) -> (n + (m - n)) = m Доказательство индукцией доходит до точки, где мне нужно доказать это: lemma1 : (n : Nat) -> (n - 0) = n Вот что происходит, когда я пытаюсь доказать это (лемму, для просто...

Хорошо известно, что экземпляры Monad должны следовать законам монады. Возможно, менее известно, что экземпляры Functor должны следовать законам функтора. Тем не менее, я бы чувствовал себя достаточно уверенно, написав правило перезаписи GHC, которое оптимизирует fmap id == id. Какие еще стандартные классы и...

Для любой данной задачи, где жадные подходы не дадут оптимального значения, мы можем найти встречный пример, чтобы опровергнуть этот подход. Однако можно ли доказать, что для данной задачи любой жадный подход вообще не будет работать?...

Я написал определение группы В Идрисе: data Group: Type -> Type where Unit: (x: t) -> Group t (*): Group t -> Group t -> Group t Inv: Group t -> Group t postulate assoc: (a : Group t) -> (b : Group t) -> (c : Group t) -> ((a*b)*c = a*(b*c)) postulate neutralL: (x...

ответ дает [String -> a] в качестве примера не-монады. Поиграв с ним немного, я верю в это интуитивно, но этот ответ просто говорит: "соединение не может быть реализовано", не давая никакого оправдания. Я бы хотел кое-что более формальный. Конечно, есть много функций типа [String -> [String -> a]]...

Почему компьютерная программа не может быть доказана так же, как математическое утверждение может? Математическое доказательство строится на других доказательствах,которые строятся от еще большего количества доказательств и далее до аксиом - тех истин, которые мы считаем самоочевидными. компьютерные програм...