Форум программистов, компьютерный форум, киберфорум
Haskell
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 10.11.2016
Сообщений: 2

Доказать с помощью аксиомы структурной индукции справедливость свойств

22.06.2018, 17:07. Показов 1276. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задание: доказать с помощью аксиомы структурной индукции справедливость свойств
xs !! n = reverse xs !! (length xs - n -1)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.06.2018, 17:07
Ответы с готовыми решениями:

Доказать, используя аксиому структурной индукции справедливость
Здравствуйте! Помогите пожалуйста доказать, используя аксиому структурной индукции справедливость: minimum (map (+1) xs) = minimum xs + 1

Как доказать, что из аксиомы треугольника и аксиомы тождества выплывает аксиома симметрии
Как доказать, что из аксиомы треугольника и аксиомы тождества выплывает аксиома симметрии?

С помощью метода математической индукции доказать неравенство
6.С помощью метода математической индукции доказать неравенство при n принадлежащем R. 3ⁿ-2ⁿ>=n

3
Антикодер
Эксперт функциональных языков программирования
1888 / 870 / 48
Регистрация: 15.09.2012
Сообщений: 3,088
23.06.2018, 08:34
Вот список полезных ссылок:
http://www.wikiwand.com/ru/%D0... 0%B8%D1%8F
http://pco.iis.nsk.su/ICP/Intr... ode11.html
Доказать, используя аксиому структурной индукции справедливость - из этой ссылки видно, что для начала нужно придти от исходных определений к базе индукции.
Ну и на stepic похожую задачу решал:
https://stepik.org/lesson/28880/step/9?unit=9912

Начните с определения функции (!!).
Для исключений пользуемся функцией error:
Haskell
1
error "Индекс не может быть меньше нуля"
Вот кстати кусок из библиотеки base(не для ТС):
base-4.9.0.0/docs/src/GHC.Err.html
Haskell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
...
import {-# SOURCE #-} GHC.Exception( errorCallWithCallStackException )
 
-- | 'error' stops execution and displays an error message.
error :: forall (r :: RuntimeRep). forall (a :: TYPE r).
         HasCallStack => [Char] -> a
error s = raise# (errorCallWithCallStackException s ?callStack)
          -- Bleh, we should be using 'GHC.Stack.callStack' instead of
          -- '?callStack' here, but 'GHC.Stack.callStack' depends on
          -- 'GHC.Stack.popCallStack', which is partial and depends on
          -- 'error'.. Do as I say, not as I do.
 
-- | A variant of 'error' that does not produce a stack trace.
--
-- @since 4.9.0.0
errorWithoutStackTrace :: forall (r :: RuntimeRep). forall (a :: TYPE r).
                          [Char] -> a
errorWithoutStackTrace s =
  -- we don't have withFrozenCallStack yet, so we just inline the definition
  let ?callStack = freezeCallStack emptyCallStack
  in error s
...
base-4.9.0.0/docs/src/GHC.List.html
Haskell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
...
-- | List index (subscript) operator, starting from 0.
-- It is an instance of the more general 'Data.List.genericIndex',
-- which takes an index of any integral type.
(!!)                    :: [a] -> Int -> a
#ifdef USE_REPORT_PRELUDE
xs     !! n | n < 0 =  errorWithoutStackTrace "Prelude.!!: negative index"
[]     !! _         =  errorWithoutStackTrace "Prelude.!!: index too large"
(x:_)  !! 0         =  x
(_:xs) !! n         =  xs !! (n-1)
#else
 
-- We don't really want the errors to inline with (!!).
-- We may want to fuss around a bit with NOINLINE, and
-- if so we should be careful not to trip up known-bottom
-- optimizations.
tooLarge :: Int -> a
tooLarge _ = errorWithoutStackTrace (prel_list_str ++ "!!: index too large")
 
negIndex :: a
negIndex = errorWithoutStackTrace $ prel_list_str ++ "!!: negative index"
 
{-# INLINABLE (!!) #-}
xs !! n
  | n < 0     = negIndex
  | otherwise = foldr (\x r k -> case k of
                                   0 -> x
                                   _ -> r (k-1)) tooLarge xs n
#endif
...
Конечно мне тут код для обработки ошибок мало понятен...
Отдельно про мат индукцию:
Математика: подготовка ЕГЭ. Метод математической индукции
Но я чего то не понял, с чего он решил предположить (2) в первом примере на 2:30.
Вообще странное словосочетание "аксиомы структурной индукции". В чём метод структурной индукции - аксиома?
2
Модератор
 Аватар для Curry
5158 / 3482 / 536
Регистрация: 01.06.2013
Сообщений: 7,551
Записей в блоге: 9
23.06.2018, 09:42
Темы про аналогичные задачи в этом разделе легко находятся.
Доказать справедливость свойства
Доказать равенство
Доказать, используя аксиому структурной индукции справедливость
доказать foldr f n xs = foldl f n xs при условии, что f x (f y z) = f (f x y) z
Доказательство Foldl=Foldr

XRuZzz, ситуации с ошибками тут не подразумеваются, т.к. дают разные сообщения об ошибках.
Haskell
1
2
3
4
5
6
*Main> let xs=[1..3]
*Main> xs !! (-1)
*** Exception: Prelude.!!: negative index
*Main> reverse xs !! (length xs - (-1) -1)
*** Exception: Prelude.!!: index too large
*Main>
Т.е в этом смысле исходное свойство несправедливо.
0
Антикодер
Эксперт функциональных языков программирования
1888 / 870 / 48
Регистрация: 15.09.2012
Сообщений: 3,088
28.06.2018, 07:55
Вот кстати на stepike самое понятное объяснение метода структурной индукции:
Функциональное программирование на языке Haskell (часть 2): 1.1 Определение аппликативного функтора
Это шаг 8.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.06.2018, 07:55
Помогаю со студенческими работами здесь

С помощью метода математической индукции доказать истинность утверждений
5. С помощью метода математической индукции доказать истинность утверждений при n принадлежащем R. 1³+2³+3³+...+n³=(n²(n+1)²)/4

Доказать ассоциативность в обе стороны(через аксиомы)
Помогите пожалуйста доказать... первые шаги вроде понял, а дальше ступор...

Как доказать законы де Моргана, используя свойства и аксиомы?
!(x1x2)=!x1+!x2, где ! - знак отрицания. спасибо за помощь

Доказать тождество, используя основные теоремы и аксиомы алгебры теории множеств:
(A∩B)\C=(A\C)∩(B\C)

Использовав теорему дедукции и основные аксиомы формального исчисления доказать формулу
Здравствуйте, как можно использовав теорему дедукции и основные аксиомы формального исчисления доказать, вот такую формулу: (отрицание А...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru