Предлагаю такую тему как самопоправляющиеся утверждения.
В неформальной логике (здравом смысле) любое утверждение требует каких-то уточнений. Отсюда и идея: сделать систему (язык), предсказывающую эти уточнения.
Уточнения это аргументы в споре и уточнения это решения противоречий. Для программирования система уточнений означала бы способ создания более гибких моделей и упрощение кода.
Уточнения нужны и в формальной области, но там люди могут позволить себе вводить уточняющие понятия. Это делает язык жёстко специализированным, недоступным простому человеку и не прозрачным (вся логика оказывается спрятана в определениях) — возможно, удастся найти этому альтернативу.
В идеале система ещё должна быть рекурсивной и двоичной.
Чтобы атаковать ферзя, надо подставиться под его удар.
Это утверждение требует четырёх уточнений. Два уточнения из четырёх сами требуют уточнения. Одно из четырёх уточнений требует уточнения уточнения.
Способ разбираться в таком пригодится везде. Но знаете ли вы человека, которому эта тема будет гарантировано интересна, человека который не сможет этому не ответить? Смотрите также ссылку >>4099743 и ссылку ссылки. Там и далее идеи по двоичной системе.
1-ая идея. Можно различать причины, и так предсказывать уточнения.
Белая пешка не может быть на первой горизонтали и не может быть на последней. Но есть различие: на самом деле, белая пешка не может вставать на первую горизонталь (потому что не ходит назад), но может стоять там, и не может стоять на последней горизонтали (потому превращается в не_пешку), но может вставать туда.
Различие показывает, что в первом случае запрет теоретически можно обойти (другой начальной расстановкой пешек, телепортацией пешки), а во втором случае запрет сам по себе не совсем полный — встать-то на поле ты можешь... Последний нюанс, кстати (в тему прозрачности и сокрытия логики в определениях), был спрятан в словах "не может быть на горизонтали": это не честно — честно было бы упомянуть и то, может ли пешка там появляться.
2-ая идея. Утверждение можно разбивать на два допущения. Или две трактовки — как в примере выше со "стоять" и "вставать". С помощью этого можно лучше представить, как утверждение может быть атаковано.
Утверждение о ферзе можно разбить на:
(1)Фигура встанет на линию с ферзём
(2)Ферзь сможет её взять.
Это две трактовки понятия "подставиться", они разделяют контрпримеры.
3-я идея. Так как известно, что система (хотя бы в основе своей) очень проста, можно вбрасывать какие-то правила обращения с нулями и единицами, и смотреть, приживутся ли.
4-ая идея. В связи с утверждениями, допущениями и уточнениями очень важна тема пазлов.
За героем гонится толпа. Но за героем появляется яма, которую толпе не преодолеть. Возможно, толпа обойдёт яму по какому-то своему пути. Или, каким было решение из игры — у конца ямы будет другая толпа. Эта заметка вдохновила идею о двух допущениях и идею "комнаты". "Комнаты" в английском значении «пространство — возможность». Вспомните утверждение о ферзе: фигура должна быть с ним в одной комнате (стоять на линии его атаки), и у ферзя должна быть возможность взять фигуру. Но тогда я фокусировался на том, что толпа "меняет комнату" (на ту, в которой нет ямы), или делает петлю.
То, что тень не исчезает, дойдя до конца пути Тима, и подвержена воздействию (гравитации, момента), создаёт «a room», где положение тени =/= прошлому положению Тима. (https://www.youtube.com/watch?v=bGAU1GPx4n0 первое решение)
То, что "толпа" становится "двумя толпами", позволяет разрывы (ямы), и делает факт нахождения одной толпы в таком-то месте необходимым, но недостаточным условием нахождением там обоих толп.
Почему хитпоинт не спасает от поднятия уровня воды? Для воды касание =/= удару (нельзя определить, не захлёбываешься ли ты, по факту касания тебя водой).
Чем рычаг отличается от ключа? У ключа есть самоопределение по близости — к какой скважине прикладывается, к такой двери и применяется.
Чем рычаг отличается от ключа? Ключ открывает дверь только когда ты к ней подошёл, но ведь тебе всё равно к этой двери, зачем же открывать её заранее?
Ключ подразумевает линию от себя к двери, а рычаг позволяет разрыв. То есть, если игрок раздвоился, его клонам не надо сообщаться (https://www.youtube.com/watch?v=vUMYvD4d-_0).