TL; DR : Существуют ли соглашения по кодированию для языка исар?Нужно ли соблюдать стратегию сворачивания jEdit?
Моя команда работает над формализацией математики, поэтому одна из наших основных целей - получить читабельные доказательства.Учитывая это, мы попытались закодировать доказательства таким образом, чтобы выделялись промежуточные факты (и ярлыки, если таковые имеются):
from fact1 have
1: "Foo"
using Thm1 Thm2 by auto
then have
2: "Bar = FooBar"
by simp
also from 1 have
" ... = BarFoo"
by blast
и т. Д.Помимо того, что иногда это приводит к распространению «коротких линий» (кстати, я не знаю, действительно ли это проблема), это как-то несовместимо со стратегией сворачивания jEdit;после сворачивания предыдущий блок кода будет выглядеть так:
from fact1 have
then have
also from 1 have
, полностью скрывающий аргумент.Следующий формат, возможно, лучше:
from fact1
have 1: "Foo"
using Thm1 Thm2 by auto
then
have 2: "Bar = FooBar"
by simp
also from 1
have " ... = BarFoo"
by blast
И, после свертывания,
from fact1
have 1: "Foo"
then
have 2: "Bar = FooBar"
also from 1
have " ... = BarFoo"
, который делает поток аргумента явным.
В любом случае, передЯ придумываю 5 новых соглашений о форматировании, и я определенно хотел бы знать, существует ли какой-то де-факто стандарт или, по крайней мере, если кто-то подумал об этом.